list of constants in DAO 3.6 Object Library

  • Thread starter Thread starter Kevin K. Sullivan
  • Start date Start date
K

Kevin K. Sullivan

Other than the Object Browser, where can I find a complete list of DAO
constant definitions, a la:

Const dbAppendOnly = 8
Const dbAttachedODBC = &H20000000
Const dbAttachedTable = &H40000000
Const dbAttachExclusive = &H10000
Const dbAttachSavePWD = &H20000
....
Const dbVersion40 = &H40
?

I frequently find myself swapping code from Early Bound (during
development) to Late Bound (during deployment). This gives me
Intellisense during development and avoids many references nightmares in
my deployed code. Peachy. It is easy enough for me to swap the object
datatypes:

Dim rst As DAO.Recordset

to

Dim rst As Object 'DAO.Recordset

, but I always have to look up the definitions of dbFailOnError,
dbOpenSnapshot , etc. from the Object Browser one-at-a-time. I'd rather
include a module of definitions once I've dropped the reference.

Thanks for any pointers!

Kevin
 
My advice would be to look them all up once and define them in a file that
you can copy-and-paste into your code as required.
 
I'm sure somewhere someone has converted the DAO Type Library constants to a
VB/VBA friendly format. Here are the Const declarations copied directly from
the type library.

typedef enum {

dbOpenTable = 1,

dbOpenDynaset = 2,

dbOpenSnapshot = 4,

dbOpenForwardOnly = 8,

dbOpenDynamic = 16

} RecordsetTypeEnum;

typedef enum {

dbEditNone = 0,

dbEditInProgress = 1,

dbEditAdd = 2

} EditModeEnum;

typedef enum {

dbDenyWrite = 1,

dbDenyRead = 2,

dbReadOnly = 4,

dbAppendOnly = 8,

dbInconsistent = 16,

dbConsistent = 32,

dbSQLPassThrough = 64,

dbFailOnError = 128,

dbForwardOnly = 256,

dbSeeChanges = 512,

dbRunAsync = 1024,

dbExecDirect = 2048

} RecordsetOptionEnum;

typedef enum {

dbPessimistic = 2,

dbOptimistic = 3,

dbOptimisticValue = 1,

dbOptimisticBatch = 5

} LockTypeEnum;

typedef enum {

dbCriteriaKey = 1,

dbCriteriaModValues = 2,

dbCriteriaAllCols = 4,

dbCriteriaTimestamp = 8,

dbCriteriaDeleteInsert = 16,

dbCriteriaUpdate = 32

} UpdateCriteriaEnum;

typedef enum {

dbFixedField = 1,

dbVariableField = 2,

dbAutoIncrField = 16,

dbUpdatableField = 32,

dbSystemField = 8192,

dbHyperlinkField = 32768,

dbDescending = 1

} FieldAttributeEnum;

typedef enum {

dbBoolean = 1,

dbByte = 2,

dbInteger = 3,

dbLong = 4,

dbCurrency = 5,

dbSingle = 6,

dbDouble = 7,

dbDate = 8,

dbBinary = 9,

dbText = 10,

dbLongBinary = 11,

dbMemo = 12,

dbGUID = 15,

dbBigInt = 16,

dbVarBinary = 17,

dbChar = 18,

dbNumeric = 19,

dbDecimal = 20,

dbFloat = 21,

dbTime = 22,

dbTimeStamp = 23

} DataTypeEnum;

typedef enum {

dbRelationUnique = 1,

dbRelationDontEnforce = 2,

dbRelationInherited = 4,

dbRelationUpdateCascade = 256,

dbRelationDeleteCascade = 4096,

dbRelationLeft = 16777216,

dbRelationRight = 33554432

} RelationAttributeEnum;

typedef enum {

dbAttachExclusive = 65536,

dbAttachSavePWD = 131072,

dbSystemObject = -2147483646,

dbAttachedTable = 1073741824,

dbAttachedODBC = 536870912,

dbHiddenObject = 1

} TableDefAttributeEnum;

typedef enum {

dbQSelect = 0,

dbQProcedure = 224,

dbQAction = 240,

dbQCrosstab = 16,

dbQDelete = 32,

dbQUpdate = 48,

dbQAppend = 64,

dbQMakeTable = 80,

dbQDDL = 96,

dbQSQLPassThrough = 112,

dbQSetOperation = 128,

dbQSPTBulk = 144,

dbQCompound = 160

} QueryDefTypeEnum;

typedef enum {

dbQPrepare = 1,

dbQUnprepare = 2

} QueryDefStateEnum;

typedef enum {

dbVersion10 = 1,

dbEncrypt = 2,

dbDecrypt = 4,

dbVersion11 = 8,

dbVersion20 = 16,

dbVersion30 = 32,

dbVersion40 = 64

} DatabaseTypeEnum;

typedef enum {

dbSortNeutral = 1024,

dbSortArabic = 1025,

dbSortCyrillic = 1049,

dbSortCzech = 1029,

dbSortDutch = 1043,

dbSortGeneral = 1033,

dbSortGreek = 1032,

dbSortHebrew = 1037,

dbSortHungarian = 1038,

dbSortIcelandic = 1039,

dbSortNorwdan = 1030,

dbSortPDXIntl = 1033,

dbSortPDXNor = 1030,

dbSortPDXSwe = 1053,

dbSortPolish = 1045,

dbSortSpanish = 1034,

dbSortSwedFin = 1053,

dbSortTurkish = 1055,

dbSortJapanese = 1041,

dbSortChineseSimplified = 2052,

dbSortChineseTraditional = 1028,

dbSortKorean = 1042,

dbSortThai = 1054,

dbSortSlovenian = 1060,

dbSortUndefined = -1

} CollatingOrderEnum;

typedef enum {

dbFreeLocks = 1,

dbRefreshCache = 8

} IdleEnum;

typedef enum {

dbSecNoAccess = 0,

dbSecFullAccess = 1048575,

dbSecDelete = 65536,

dbSecReadSec = 131072,

dbSecWriteSec = 262144,

dbSecWriteOwner = 524288,

dbSecDBCreate = 1,

dbSecDBOpen = 2,

dbSecDBExclusive = 4,

dbSecDBAdmin = 8,

dbSecCreate = 1,

dbSecReadDef = 4,

dbSecWriteDef = 65548,

dbSecRetrieveData = 20,

dbSecInsertData = 32,

dbSecReplaceData = 64,

dbSecDeleteData = 128

} PermissionEnum;

typedef enum {

dbRepExportChanges = 1,

dbRepImportChanges = 2,

dbRepImpExpChanges = 4,

dbRepSyncInternet = 16

} SynchronizeTypeEnum;

typedef enum {

dbRepMakeReadOnly = 2,

dbRepMakePartial = 1

} ReplicaTypeEnum;

typedef enum {

dbUseODBC = 1,

dbUseJet = 2

} WorkspaceTypeEnum;

typedef enum {

dbUseDefaultCursor = -1,

dbUseODBCCursor = 1,

dbUseServerCursor = 2,

dbUseClientBatchCursor = 3,

dbUseNoCursor = 4

} CursorDriverEnum;

typedef enum {

dbDriverPrompt = 2,

dbDriverNoPrompt = 1,

dbDriverComplete = 0,

dbDriverCompleteRequired = 3

} DriverPromptEnum;

typedef enum {

dbPageTimeout = 6,

dbLockRetry = 57,

dbMaxBufferSize = 8,

dbUserCommitSync = 58,

dbImplicitCommitSync = 59,

dbExclusiveAsyncDelay = 60,

dbSharedAsyncDelay = 61,

dbMaxLocksPerFile = 62,

dbLockDelay = 63,

dbRecycleLVs = 65,

dbFlushTransactionTimeout = 66

} SetOptionEnum;

typedef enum {

dbParamInput = 1,

dbParamOutput = 2,

dbParamInputOutput = 3,

dbParamReturnValue = 4

} ParameterDirectionEnum;

typedef enum {

dbUpdateBatch = 4,

dbUpdateRegular = 1,

dbUpdateCurrentRecord = 2

} UpdateTypeEnum;

typedef enum {

dbRecordUnmodified = 0,

dbRecordModified = 1,

dbRecordNew = 2,

dbRecordDeleted = 3,

dbRecordDBDeleted = 4

} RecordStatusEnum;

typedef enum {

dbForceOSFlush = 1

} CommitTransOptionsEnum;

typedef enum {

LogMessages = 0,

KeepLocal = 0,

Replicable = 0,

ReplicableBool = 0,

V1xNullBehavior = 0

} _DAOSuppHelp;


--

HTH
Stephen Lebans
http://www.lebans.com
Access Code, Tips and Tricks
Please respond only to the newsgroups so everyone can benefit.
 
Stephen,
Since I haven't found that list yet, I converted your declarations (see
below) should anyone need them. Thanks for posting what you did -- it
was a heck of a lot better than typing out names and values from the
Object Browser. I couldn't reproduce the hidden enum _DAOSuppHelp
because of the illegal underscore leading the name, so I used
DAOSuppHelp instead. How did you extract the declarations from the type
library? What tools did you use? I think I'd like to follow the same
process for some other type libraries.

Thanks,

Kevin
------------------------
'DAO 3.6 constants for use in a standard Access module

Enum RecordsetTypeEnum
dbOpenTable = 1
dbOpenDynaset = 2
dbOpenSnapshot = 4
dbOpenForwardOnly = 8
dbOpenDynamic = 16
End Enum

Enum EditModeEnum
dbEditNone = 0
dbEditInProgress = 1
dbEditAdd = 2
End Enum

Enum RecordsetOptionEnum
dbDenyWrite = 1
dbDenyRead = 2
dbReadOnly = 4
dbAppendOnly = 8
dbInconsistent = 16
dbConsistent = 32
dbSQLPassThrough = 64
dbFailOnError = 128
dbForwardOnly = 256
dbSeeChanges = 512
dbRunAsync = 1024
dbExecDirect = 2048
End Enum

Enum LockTypeEnum
dbPessimistic = 2
dbOptimistic = 3
dbOptimisticValue = 1
dbOptimisticBatch = 5
End Enum

Enum UpdateCriteriaEnum
dbCriteriaKey = 1
dbCriteriaModValues = 2
dbCriteriaAllCols = 4
dbCriteriaTimestamp = 8
dbCriteriaDeleteInsert = 16
dbCriteriaUpdate = 32
End Enum

Enum FieldAttributeEnum
dbFixedField = 1
dbVariableField = 2
dbAutoIncrField = 16
dbUpdatableField = 32
dbSystemField = 8192
dbHyperlinkField = 32768
dbDescending = 1
End Enum

Enum DataTypeEnum
dbBoolean = 1
dbByte = 2
dbInteger = 3
dbLong = 4
dbCurrency = 5
dbSingle = 6
dbDouble = 7
dbDate = 8
dbBinary = 9
dbText = 10
dbLongBinary = 11
dbMemo = 12
dbGUID = 15
dbBigInt = 16
dbVarBinary = 17
dbChar = 18
dbNumeric = 19
dbDecimal = 20
dbFloat = 21
dbTime = 22
dbTimeStamp = 23
End Enum

Enum RelationAttributeEnum
dbRelationUnique = 1
dbRelationDontEnforce = 2
dbRelationInherited = 4
dbRelationUpdateCascade = 256
dbRelationDeleteCascade = 4096
dbRelationLeft = 16777216
dbRelationRight = 33554432
End Enum

Enum TableDefAttributeEnum
dbAttachExclusive = 65536
dbAttachSavePWD = 131072
dbSystemObject = -2147483646
dbAttachedTable = 1073741824
dbAttachedODBC = 536870912
dbHiddenObject = 1
End Enum

Enum QueryDefTypeEnum
dbQSelect = 0
dbQProcedure = 224
dbQAction = 240
dbQCrosstab = 16
dbQDelete = 32
dbQUpdate = 48
dbQAppend = 64
dbQMakeTable = 80
dbQDDL = 96
dbQSQLPassThrough = 112
dbQSetOperation = 128
dbQSPTBulk = 144
dbQCompound = 160
End Enum

Enum QueryDefStateEnum
dbQPrepare = 1
dbQUnprepare = 2
End Enum

Enum DatabaseTypeEnum
dbVersion10 = 1
dbEncrypt = 2
dbDecrypt = 4
dbVersion11 = 8
dbVersion20 = 16
dbVersion30 = 32
dbVersion40 = 64
End Enum

Enum CollatingOrderEnum
dbSortNeutral = 1024
dbSortArabic = 1025
dbSortCyrillic = 1049
dbSortCzech = 1029
dbSortDutch = 1043
dbSortGeneral = 1033
dbSortGreek = 1032
dbSortHebrew = 1037
dbSortHungarian = 1038
dbSortIcelandic = 1039
dbSortNorwdan = 1030
dbSortPDXIntl = 1033
dbSortPDXNor = 1030
dbSortPDXSwe = 1053
dbSortPolish = 1045
dbSortSpanish = 1034
dbSortSwedFin = 1053
dbSortTurkish = 1055
dbSortJapanese = 1041
dbSortChineseSimplified = 2052
dbSortChineseTraditional = 1028
dbSortKorean = 1042
dbSortThai = 1054
dbSortSlovenian = 1060
dbSortUndefined = -1
End Enum

Enum IdleEnum
dbFreeLocks = 1
dbRefreshCache = 8
End Enum

Enum PermissionEnum
dbSecNoAccess = 0
dbSecFullAccess = 1048575
dbSecDelete = 65536
dbSecReadSec = 131072
dbSecWriteSec = 262144
dbSecWriteOwner = 524288
dbSecDBCreate = 1
dbSecDBOpen = 2
dbSecDBExclusive = 4
dbSecDBAdmin = 8
dbSecCreate = 1
dbSecReadDef = 4
dbSecWriteDef = 65548
dbSecRetrieveData = 20
dbSecInsertData = 32
dbSecReplaceData = 64
dbSecDeleteData = 128
End Enum

Enum SynchronizeTypeEnum
dbRepExportChanges = 1
dbRepImportChanges = 2
dbRepImpExpChanges = 4
dbRepSyncInternet = 16
End Enum

Enum ReplicaTypeEnum
dbRepMakeReadOnly = 2
dbRepMakePartial = 1
End Enum

Enum WorkspaceTypeEnum
dbUseODBC = 1
dbUseJet = 2
End Enum

Enum CursorDriverEnum
dbUseDefaultCursor = -1
dbUseODBCCursor = 1
dbUseServerCursor = 2
dbUseClientBatchCursor = 3
dbUseNoCursor = 4
End Enum

Enum DriverPromptEnum
dbDriverPrompt = 2
dbDriverNoPrompt = 1
dbDriverComplete = 0
dbDriverCompleteRequired = 3
End Enum

Enum SetOptionEnum
dbPageTimeout = 6
dbLockRetry = 57
dbMaxBufferSize = 8
dbUserCommitSync = 58
dbImplicitCommitSync = 59
dbExclusiveAsyncDelay = 60
dbSharedAsyncDelay = 61
dbMaxLocksPerFile = 62
dbLockDelay = 63
dbRecycleLVs = 65
dbFlushTransactionTimeout = 66
End Enum

Enum ParameterDirectionEnum
dbParamInput = 1
dbParamOutput = 2
dbParamInputOutput = 3
dbParamReturnValue = 4

End Enum

Enum UpdateTypeEnum
dbUpdateBatch = 4
dbUpdateRegular = 1
dbUpdateCurrentRecord = 2
End Enum

Enum RecordStatusEnum
dbRecordUnmodified = 0
dbRecordModified = 1
dbRecordNew = 2
dbRecordDeleted = 3
dbRecordDBDeleted = 4
End Enum

Enum CommitTransOptionsEnum
dbForceOSFlush = 1
End Enum


'This is a substitute for the hidden Enum _DAOSuppHelp
Enum DAOSuppHelp
LogMessages = 0
KeepLocal = 0
Replicable = 0
ReplicableBool = 0
V1xNullBehavior = 0
End Enum
---------------------------------


Stephen said:
I'm sure somewhere someone has converted the DAO Type Library constants to a
VB/VBA friendly format. Here are the Const declarations copied directly from
the type library.

typedef enum {

dbOpenTable = 1,

dbOpenDynaset = 2,

dbOpenSnapshot = 4,

dbOpenForwardOnly = 8,

dbOpenDynamic = 16

} RecordsetTypeEnum;
---snip---
 
Very good of you to post your work back into the NG's for the next perspn!

If you have Visual Studio installed then you have access to the OLE Viewer
application to view the desired type libraries.

Any declaration with a leading Underscore needs to be enclosed in square
braces.
[ ]

--

HTH
Stephen Lebans
http://www.lebans.com
Access Code, Tips and Tricks
Please respond only to the newsgroups so everyone can benefit.
 
Back
Top