Option Compare Database 'Use database order for string comparisons
'* True/False constants *'
Global Const fTrue = 1
Global Const fFalse = 0
'* grbit values for AccessDDLCreateIndex *'
Global Const ACCESSDDL_bitIndexUnique = &H1&
Global Const ACCESSDDL_bitIndexPrimary = &H2&
'* grbit values for AccessDDLCreateReference *'
Global Const ACCESSDDL_ReferenceUnique = &H1&
Global Const ACCESSDDL_ReferenceDontEnforce = &H2&
'* Field Type constants *'
Global Const ACCESSDDL_fieldtypeYesNo = 1
Global Const ACCESSDDL_fieldtypeByte = 2
Global Const ACCESSDDL_fieldtypeInteger = 3
Global Const ACCESSDDL_fieldtypeLongInteger = 4
Global Const ACCESSDDL_fieldtypeCurrency = 5
Global Const ACCESSDDL_fieldtypeSingle = 6
Global Const ACCESSDDL_fieldtypeDouble = 7
Global Const ACCESSDDL_fieldtypeDateTime = 8
Global Const ACCESSDDL_fieldtypeText = 10
Global Const ACCESSDDL_fieldtypeOLE = 11
Global Const ACCESSDDL_fieldtypeMemo = 12
'* SUCCESS *'
Global Const ACCESSDDL_errSuccess = 0
'* ERRORS *'
Global Const ACCESSDDL_errAccessDenied = -1907 '* Access denied
Global Const ACCESSDDL_errAlreadyInitialized = -1030 '* Engine already started
Global Const ACCESSDDL_errDatabaseCloseError = -1806 '* Db file could not be closed
Global Const ACCESSDDL_errDatabaseInvalidName = -1204 '* Invalid database name
Global Const ACCESSDDL_errDatabaseNotFound = -1203 '* No such database
Global Const ACCESSDDL_errField2ndSysMaint = -1510 '* Second autoinc or version field
Global Const ACCESSDDL_errFieldCannotIndex = -1513 '* Cannot index Bit,LongText,LongBinary
Global Const ACCESSDDL_errFieldDuplicate = -1508 '* Field is already defined
Global Const ACCESSDDL_errFieldIndexed = -1505 '* Field indexed, cannot delete
Global Const ACCESSDDL_errFieldInUse = -1046 '* Field used in an index
Global Const ACCESSDDL_errFieldNotFound = -1507 '* No such field
Global Const ACCESSDDL_errFieldTooBig = -1506 '* Field length is > maximum
Global Const ACCESSDDL_errFileAccessDenied = -1032 '* File Access Denied
Global Const ACCESSDDL_errFileNotFound = -1811 '* File not found
Global Const ACCESSDDL_errIllegalOperation = -1312 '* Oper. not supported on table
Global Const ACCESSDDL_errIndexDuplicate = -1403 '* Index is already defined
Global Const ACCESSDDL_errIndexHasPrimary = -1402 '* Primary index already defined
Global Const ACCESSDDL_errIndexInUse = -1051 '* index used in a reference
Global Const ACCESSDDL_errIndexNotFound = -1404 '* Specified index not found
Global Const ACCESSDDL_errInvalidAccountName = -1903 '* Invalid account name
Global Const ACCESSDDL_errInvalidDatabase = -1028 '* This isn't a database
Global Const ACCESSDDL_errInvalidDatabaseId = -1010 '* Invalid database id
Global Const ACCESSDDL_errInvalidFieldType = -1511 '* Invalid field data type
Global Const ACCESSDDL_errInvalidLogon = -1902 '* Invalid username or password
Global Const ACCESSDDL_errInvalidName = -1002 '* Invalid database name
Global Const ACCESSDDL_errInvalidParameter = -1003 '* Invalid API parameter
Global Const ACCESSDDL_errInvalidPassword = -1905 '* Invalid password
Global Const ACCESSDDL_errInvalidPath = -1023 '* Pathname is invalid or nonexistent
Global Const ACCESSDDL_errInvalidTableId = -1310 '* Invalid table id
Global Const ACCESSDDL_errLinkNotSupported = -1052 '* Link support unavailable
Global Const ACCESSDDL_errNotInitialized = -1029 '* StartEngine not yet called
Global Const ACCESSDDL_errObjectNotFound = -1305 '* No such table or object
Global Const ACCESSDDL_errPermissionDenied = -1809 '* Permission denied
Global Const ACCESSDDL_errSelfReference = -1407 '* Referencing/Referenced index is the same
Global Const ACCESSDDL_errTableDuplicate = -1303 '* Table already exists
Global Const ACCESSDDL_errTableInUse = -1304 '* Table is in use, cannot lock
Global Const ACCESSDDL_errTooManyFields = -1040 '* Too many fields defined
Global Const ACCESSDDL_errTooManyKeys = -1016 '* Too many fields in an index
Global Const ACCESSDDL_errTooManyOpenFiles = -1807 '* Too many files open
Global Const ACCESSDDL_errTooManyTasks = -20001 '* Too many concurrent DDL tasks
'* Function Prototypes *'
Declare Function AccessDDLStartEngine Lib "msaddl11.dll" (ByVal szSystemFileName As String, ByVal szINIFileName As String, ByVal szUserName As String, ByVal szPassword As String) As Long
Declare Function AccessDDLStopEngine Lib "msaddl11.dll" () As Long
Declare Function AccessDDLOpenDatabase Lib "msaddl11.dll" (ByVal szDatabase As String, pdbid As Long) As Long
Declare Function AccessDDLCloseDatabase Lib "msaddl11.dll" (ByVal dbid As Long) As Long
Declare Function AccessDDLOpenTable Lib "msaddl11.dll" (ByVal dbid As Long, ByVal szTableName As String, ptableid As Long) As Long
Declare Function AccessDDLCreateTable Lib "msaddl11.dll" (ByVal dbid As Long, ByVal szTableName As String, ptableid As Long) As Long
Declare Function AccessDDLDeleteTable Lib "msaddl11.dll" (ByVal dbid As Long, ByVal szTableName As String) As Long
Declare Function AccessDDLRenameTable Lib "msaddl11.dll" (ByVal dbid As Long, ByVal szTableName As String, ByVal szTableNew As String) As Long
Declare Function AccessDDLCloseTable Lib "msaddl11.dll" (ByVal tableid As Long) As Long
Declare Function AccessDDLAddField Lib "msaddl11.dll" (ByVal dbid As Long, ByVal tableid As Long, ByVal szFieldName As String, ByVal fieldtype As Long, ByVal cbMax As Long, ByVal fAutoincr As Integer) As Long
Declare Function AccessDDLDeleteField Lib "msaddl11.dll" (ByVal tableid As Long, ByVal szFieldName As String) As Long
Declare Function AccessDDLRenameField Lib "msaddl11.dll" (ByVal tableid As Long, ByVal szFieldName As String, ByVal szFieldNew As String) As Long
Declare Function AccessDDLCreateIndex Lib "msaddl11.dll" (ByVal tableid As Long, ByVal szIndexName As String, ByVal grbit As Long, ByVal szKey As String) As Long
Declare Function AccessDDLDeleteIndex Lib "msaddl11.dll" (ByVal tableid As Long, ByVal szIndexName As String) As Long
Declare Function AccessDDLRenameIndex Lib "msaddl11.dll" (ByVal tableid As Long, ByVal szIndex As String, ByVal szIndexNew As String) As Long
Declare Function AccessDDLCreateReference Lib "msaddl11.dll" (ByVal tableid As Long, ByVal szReferenceName As String, ByVal szFields As String, ByVal szReferencedTable As String, ByVal szReferencedFields As String, ByVal grbit As Long) As Long
Declare Function AccessDDLDeleteReference Lib "msaddl11.dll" (ByVal tableid As Long, ByVal szReferenceName As String) As Long