All Access QueryDefs are translated into SQL Server Transact-SQL views, procedures, and/or functions, including variable column Crosstab queries and multiple table updates. SQL Server Views, Procedures and/or Functions are created from Access Select, Union, and Crosstab queries and SQL Server Procedures are created for all Access Action (Update, Append, Make Table, and Delete) queries and variable column Crosstab queries. Parameters are fully supported for all queries.
When converting to MS-SQL 2000, Access built-in functions are translated into SQL Server functions when equivalent functions or constructs are available. Scriptoria implements most VBA functions, like Format, and DateSerial) using CLR (Common Runtime Language) MS-SQL user-defined functions that call equivalent VB.Net functions when converting to MS-SQL 2005.
Access queries that call VBA user-defined functions are translated, but the VBA functions themselves are not. They must be converted to SQL Server manually.
No distinction is made between the MS-Access Unique Rows and Unique Values options. A warning message is issued when Unique Rows is encountered.
Warning messages are issued when Scriptoria encounters unsupported VBA functions.
Some queries may need to be reformulated before they can be converted to SQL Server. For example, MS-Access implicitly converts unlike data types in expressions (ex. "Qtr" & DatePart("q", Date()), but SQL Server imposes stricter type conversion rules. Since DatePart returns an Integer, SQL Server will issue a "type conversion" error when attempting to concatenate it with a string. To avoid this error, modify the Access query to use explicit type conversion, ex. "Qtr" & CStr(DatePart("q", Date()). See Query Formulation Tips.