A5_PassiveLinkTableDefine Function
Syntax
Arguments
- Result
If DataSourceDefis a dot variable with a definition of the data source for the passive-link table, Resultwill be a dot variable with two properties.
- Argument
- Description
- .HasError
.T. = An error occurred. .F. = No error occurred.
- .ErrorText
The text of any error that was encountered.
- DataSourceDef
Either "Help" (to get the syntax for the data source definition), or a dot variable that defines the data source. When defining the DataSourceDef, the only required properties are:
- ds.ConnectionString= specify the connection string
- ds.SQLSelectStatement= specify the SQL SELECT statment, or stored procedure name
- tablefilename
The filename of the table to create. If DataSourceDefis "Help" then do not specify Tablename. Otherwise, you must specify this argument.
- showProgress
Logical
- allowCancel
Logical
- openConnection
*
- flagAddTableToDatabase
Logical
Description
The A5_PassiveLinkTableDefine() function defines a passive link table for a SQL data source. For syntax help specify "Help" as the first argument.
Example
a5_passiveLinkTableDefine("help") = dim ds as p ds.ConnectionString = 'specify the connection string ds.SQLSelectStatement = 'specify the SQL SELECT statment, or stored procedure name ds.Arguments = 'specify what arguments (if any) are used in the SQL statement. Format is a comma delimited list with :argumentName|type. e.g. :whatCity|C,:whatId|N ds.SQLType = 'specify the syntax type: "Portable" or "Native" ds.AdvancedOptions.SizeToFit = 'specify if character columns are automatically sized to fit: .T. or .F. ds.AdvancedOptions.ConvertTimeToDate = 'specify if Date/Time values should be convert to Date values: .T. or .F. ds.AdvancedOptions.DefineFieldOverrides = 'specify if column definition overrides will be supplied: .T. or .F. ds.AdvancedOptions.OverrideDefinitions = 'A crlf delimited list of fieldspecs to override. E.g. Customer,C,20,0 ""
In this example, we create a passive link table. Notice that we only specify the two properties for the DataSourceDef. All other properties of the DataSourceDefhave default values.
delete ds dim ds as P ds.ConnectionString = "{A5API='Access', A5Syntax='Access', FileName='C:\Northwind\northwind.Mdb', UserName='Admin'}" ds.SQLSelectStatement = "select customerid, contactname, city from customers" a5_passiveLinkTableDefine(ds,"c:\pl_customers.dbf")
In this example, we create a passive link table that uses arguments. Notice that the ds.Argumentsproperty is defined. All other properties of the DataSourceDefhave default values.
delete ds dim ds as P ds.ConnectionString = "{A5API='Access', A5Syntax='Access', FileName='C:\Northwind\northwind.Mdb', UserName='Admin'}" ds.SQLSelectStatement = "select * from customers where city = :whatcity" ds.Arguments = ":whatCity|C" a5_passiveLinkTableDefine(ds, "c:\pl_customers.dbf")
In this example, we create a passive link table on a table in an Excelspreadsheet. Since Exceldoes not return the size of each column, Alpha Anywhere defaults to creating all character columns with a width of 255. This is very inefficient and it slows down the import. Therefore, for Excel, we set the ds.AdvancedOptions.SizeToFitproperty to .T. .
delete ds dim ds as P ds.ConnectionString = "{A5API='Excel', A5Syntax='Excel', FileName='c:\myexceldata.xls'}" ds.SQLSelectStatement = "select * from sheet1$" ds.AdvancedOptions.SizeToFit = .t. a5_passiveLinkTableDefine(ds,"c:\pl_exceldata.dbf")
In this example we define the field types for certain of the columns in the passive-link table. This overrides the default column sizes for these columns that Alpha Anywhere would otherwise use.
delete ds dim ds as P ds.ConnectionString = "{A5API='Access', A5Syntax='Access', FileName='C:\Northwind\northwind.Mdb', UserName='Admin'}" ds.SQLSelectStatement = "select customerid, contactname, city from customers" ds.AdvancedOptions.DefineFieldOverrides = .t. ds.AdvancedOptions.OverrideDefinitions = <<%txt% customerid,c,10,0 city,c,50,0 %txt% a5_passiveLinkTableDefine(ds, "c:\pl_customers.dbf")
See Also