Include file for Proteus DAO
functions |
; Include file for Proteus DAO functions
; Attribute types for DAODBATTRIB
; transactions are supported
CONST DAOATTCANTRANSACT = 1
; update is possible
CONST DAOATTCANUPDATE = 2
; connection string
CONST DAOATTGETCONNECT = 3
; name
CONST DAOATTGETNAME = 4
; query timeout
CONST DAOATTGETSETQUERYTIMEOUT = 5
; number of records affected by the last operation
CONST DAOATTGETRECORDSAFFECTED = 6
; version
CONST DAOATTGETVERSION = 7
; open
CONST DAOATTISOPEN = 8
; -----------------------------------------------------------------------------------------
; Locale types for DAODBCREATE
CONST DAOCLangArabic = ";LANGID=0x0401;CP=1256;COUNTRY=0"
CONST DAOCLangCzech = ";LANGID=0x0405;CP=1250;COUNTRY=0"
CONST DAOCLangDutch = ";LANGID=0x0413;CP=1252;COUNTRY=0"
; to be used for: english, german, french, portuguese, italian and spanish
CONST DAOCLangGeneral = ";LANGID=0x0409;CP=1252;COUNTRY=0"
CONST DAOCLangGreek = ";LANGID=0x0408;CP=1253;COUNTRY=0"
CONST DAOCLangHebrew = ";LANGID=0x040D;CP=1255;COUNTRY=0"
CONST DAOCLangHungarian = ";LANGID=0x040E;CP=1250;COUNTRY=0"
CONST DAOCLangIcelandic = ";LANGID=0x040F;CP=1252;COUNTRY=0"
CONST DAOCLangNordic = ";LANGID=0x041D;CP=1252;COUNTRY=0"
CONST DAOCLangNorwDan = ";LANGID=0x0414;CP=1252;COUNTRY=0"
CONST DAOCLangPolish = ";LANGID=0x0415;CP=1250;COUNTRY=0"
CONST DAOCLangCyrillic = ";LANGID=0x0419;CP=1251;COUNTRY=0"
CONST DAOCLangSpanish = ";LANGID=0x040A;CP=1252;COUNTRY=0"
CONST DAOCLangSwedFin = ";LANGID=0x040B;CP=1252;COUNTRY=0"
CONST DAOCLangTurkish = ";LANGID=0x041F;CP=1254;COUNTRY=0"
CONST DAOCLangJapanese = ";LANGID=0x0411;CP=932;COUNTRY=0"
CONST DAOCLangChineseSimplified = ";LANGID=0x0804;CP=936;COUNTRY=0"
CONST DAOCLangChineseTraditional = ";LANGID=0x0404;CP=950;COUNTRY=0"
CONST DAOCLangKorean = ";LANGID=0x0412;CP=949;COUNTRY=0"
CONST DAOCLangThai = ";LANGID=0x041E;CP=874;COUNTRY=0"
CONST DAOCLangSlovenian = ";LANGID=0x0424;CP=1250;COUNTRY=0"
; -----------------------------------------------------------------------------------------
; Options for DAODBCREATE
; create using Jet 1.0
CONST DAOCVersion10 = 1
; save database encrypted to disk
CONST DAOCEncrypt = 2
; save database not encrypted to disk
CONST DAOCDecrypt = 4
; create using Jet 1.1
CONST DAOCVersion11 = 8
; create using Jet 2.0
CONST DAOCVersion20 = 16
; create using Jet 3.0
CONST DAOCVersion30 = 32
; -----------------------------------------------------------------------------------------
; Attributes for DAODBCREATERELATION and for relation type information returned by DAODBGETRELATIONINFO
; 1 to 1 relation
CONST DAOCRelationUnique = 1
; no referential integrity
CONST DAOCRelationDontEnforce = 2
; relation exists in a non-concurrent database that includes both tables
CONST DAOCRelationInherited = 4
; updates will be propagated
CONST DAOCRelationUpdateCascade = 256
; deletions will be propagated
CONST DAOCRelationDeleteCascade = 4096
; relation is a left join. An external left join includes all records from the first table (left part),
; even though there are no corresponding records in the second table (right join).
CONST DAOCRelationLeft = 16777216
; relation is a right join. An external right join includes all records from the second table (right part),
; even though there are no corresponding records in the first table (left join).
CONST DAOCRelationRight = 33554432
; -----------------------------------------------------------------------------------------
; Options for DAODBEXECUTE
; deny write to other users
CONST DAOCDenyWrite = 1
; allow inconsistent updates (default)
CONST DAOCInconsistent = 16
; force inconsistent updates
CONST DAOCConsistent = 32
; statement is passed verbatim to ODBC data source for processing
CONST DAOCSQLPassThrough = 64
; roll back all updates in case of error
CONST DAOCFailOnError = 128
; generate error if another user is changing the same data
CONST DAOCSeeChanges = 512
; deny read to other users
CONST DAOCDenyRead = 2
; read only
CONST DAOCReadOnly = 4
; can only append
CONST DAOCAppendOnly = 8
; open in forward scrolling mode only (unsupported)
;CONST DAOCForwardOnly = 256
; run in asynchronous mode
CONST DAOCRunAsync = 1024
; execute directly
CONST DAOCExecDirect = 2048
; -----------------------------------------------------------------------------------------
; Indexes in the array returned by DAODBGETQUERYINFO
; query name
CONST DAOQI_NAME = 1
; query type
CONST DAOQI_TYPE = 2
; creation date
CONST DAOQI_CDATE = 3
; creation time
CONST DAOQI_CTIME = 4
; last update date
CONST DAOQI_UDATE = 5
; last update time
CONST DAOQI_UTIME = 6
; updateable
CONST DAOQI_UPDATE = 7
; return records
CONST DAOQI_RECORDSET = 8
; SQL string
CONST DAOQI_SQL = 9
; source info
CONST DAOQI_SOURCE = 10
; timeout for DB Engine
CONST DAOQI_TIMEOUT = 11
; -----------------------------------------------------------------------------------------
; Indexes in the array returned by DAODBGETRELINFO
; relation name
CONST DAORI_NAME = 1
; table name
CONST DAORI_TABLE = 2
; name of the external table
CONST DAORI_EXTTABLE = 3
; relation type
CONST DAORI_TYPE = 4
; fields related (array)
CONST DAORI_FIELDS = 5
; -----------------------------------------------------------------------------------------
; Indexes in the array returned by DAODBGETTABINFO
; table name
CONST DAOTI_NAME = 1
; updateable
CONST DAOTI_UPDATE = 2
; attributes
CONST DAOTI_ATTRIB = 3
; creation date
CONST DAOTI_CDATE = 4
; creation time
CONST DAOTI_CTIME = 5
; last update date
CONST DAOTI_UDATE = 6
; last update time
CONST DAOTI_UTIME = 7
; table linked (if it exists)
CONST DAOTI_LINK = 8
; source
CONST DAOTI_SOURCE = 9
; validation rule
CONST DAOTI_VALIDATE = 10
; message if validation fails
CONST DAOTI_INVALID = 11
; number of records visited
CONST DAOTI_RECNUMBER = 12
; -----------------------------------------------------------------------------------------
; Indexes in the array returned by DAORSGETFIELDINFO
; field name
CONST DAOFI_NAME = 1
; type
CONST DAOFI_TYPE = 2
; maximum size
CONST DAOFI_SIZE = 3
; attributes
CONST DAOFI_ATTRIB = 4
; ordinal position
CONST DAOFI_POSITION = 5
; required
CONST DAOFI_REQUIRED = 6
; allow zero length
CONST DAOFI_ALLOWZL = 7
; collating order
CONST DAOFI_COLLATE = 8
; external name
CONST DAOFI_EXTNAME = 9
; source field
CONST DAOFI_EXTFIELD = 10
; source table
CONST DAOFI_EXTTABLE = 11
; validation rule
CONST DAOFI_VALIDATE = 12
; message returned if validation fails
CONST DAOFI_INVALID = 13
; default value
CONST DAOFI_DEFAULT = 14
; -----------------------------------------------------------------------------------------
; Indexes in the array returned by DAORSGETINDEXINFO
; index name
CONST DAOII_NAME = 1
; field array
CONST DAOII_FIELDS = 2
; primary
CONST DAOII_PRIMARY = 3
; unique
CONST DAOII_UNIQUE = 4
; clustered
CONST DAOII_CLUSTERED = 5
; ignore Nulls
CONST DAOII_NULLIGNORE = 6
; required
CONST DAOII_REQUIRED = 7
; external
CONST DAOII_EXTERN = 8
; distinct keys in the index
CONST DAOII_KEYS = 9
; -----------------------------------------------------------------------------------------
; Query types returned by DAODBGETQUERYDEFINFO
; query select records
CONST DAOCQSelect = 0
; query moves or updates records, but returns none
CONST DAOCQAction = 240
; query returns records in spreadsheet format
CONST DAOCQCrosstab = 16
; query deletes a set of rows
CONST DAOCQDelete = 32
; query updates a set of records
CONST DAOCQUpdate = 48
; query add new records at the end of the table/query
CONST DAOCQAppend = 64
; query creates a new table from a recordset
CONST DAOCQMakeTable = 80
; query changes table structure
CONST DAOCQDDL = 96
; statement is passed directly to the engine
CONST DAOCQSQLPassThrough = 112
; query creates a snapshot recordset with data coming from two or more tables,
; removing duplicates. To include duplicates, all keyword ALL to SQL statement.
CONST DAOCQSetOperation = 128
; used with DAOCQSQLPassThrough to specify a query that does not return records
CONST DAOCQSPTBulk = 144
; -----------------------------------------------------------------------------------------
; Attributes returned by DAODBGETTABLEDEFINFO
; for tables using Jet, specify that the table is linked and open for exclusive usage
CONST DAOCAttachExclusive = 65536
; for tables using Jet, specify that User ID and password for the table are saved
; together with connection information
CONST DAOCAttachSavePWD = 131072
; specify that the table is of system type (read only)
CONST DAOCSystemObject = -2147483646
; specify that the table is hidden (for temporary usage, read only)
CONST DAOCAttachedTable = 1073741824
; specify that the table is linked to a non-ODBC database, such as Paradox
CONST DAOCAttachedODBC = 536870912
; specify that the table is linked to an ODBC database, such as MS SQL Server
CONST DAOCHiddenObject = 1
; -----------------------------------------------------------------------------------------
; Attributed names for DAORSATTRIB
; returns not-zero if records can be appended
CONST DAORSATTCANAPPEND = 1
; returns not-zero if recordset supports bookmark
CONST DAORSATTCANBOOKMARK = 2
; returns not-zero if query can be repeated
CONST DAORSATTCANRESTART = 3
; returns not-zero if it is possible to move between records
CONST DAORSATTCANSCROLL = 4
; returns not-zero if the data source supports transactions
CONST DAORSATTCANTRANSACT = 5
; returns not-zero if the recordset can be updated
CONST DAORSATTCANUPDATE = 6
; returns creation date for the base table in the recordset
CONST DAORSATTGETDATECREATED = 7
; returns creation time for the base table in the recordset
CONST DAORSATTGETTIMECREATED = 8
; returns last update date for the base table in the recordset
CONST DAORSATTGETDATELASTUPDATED = 9
; return last update time for the base table in the recordset
CONST DAORSATTGETTIMELASTUPDATED = 10
; returns the name of the recordset
CONST DAORSATTGETNAME = 11
; returns SQL string used to calculate recordset
CONST DAORSATTGETSQL = 12
; returns validation string for data introduced in the record
CONST DAORSATTGETVALIDATIONRULE = 13
; returns message displayed when validation fails
CONST DAORSATTGETVALIDATIONTEXT = 14
; return editing mode for current record
CONST DAORSATTGETEDITMODE = 15
; returns the name of the current index in a table-type recordset
CONST DAORSATTGETCURRENTINDEX = 16
; returns number of records accessed in a recordset
CONST DAORSATTGETRECORDCOUNT = 17
; returns not-zero if the recordset was positioned before the first record; no current record exists
CONST DAORSATTISBOF = 18
; returns not-zero if the recordset is positioned over a deleted record
CONST DAORSATTISDELETED = 19
; returns not-zero if the recordset was positioned after the last record; no current record exists
CONST DAORSATTISEOF = 20
; returns not-zero if the recordset is open
CONST DAORSATTISOPEN = 21
; returns recordset type: table, dynaset, snapshot
CONST DAORSATTGETTYPE = 22
; returns a bookmark handle for the most recently added or modified record
CONST DAORSATTGETLASTMODBMARK = 23
; sets index to be used in a table-type recordset
CONST DAORSATTSETCURRENTINDEX = 24
; returns the value of the specified parameter (if numeric, consider the position; if string, consider the name)
CONST DAORSATTGETPARAMVALUE = 25
; sets current value for the specified parameter to Null (no value)
CONST DAORSATTSETPARAMVALUENULL = 26
; -----------------------------------------------------------------------------------------
; Attribute names for DAOTDATTRIB
; returns not-zero if the table can be updated (it is possible to modify field definitions or table properties)
CONST DAOTDCANUPDATE = 1
; returns table attributes
CONST DAOTDATTRIBUTES = 2
; returns a value that gives information about table source
CONST DAOTDCONNECT = 3
; returns creation date for the table
CONST DAOTDCREATDATE = 4
; returns creation time for the table
CONST DAOTDCREATTIME = 5
; returns last update date
CONST DAOTDLASTUPDATE = 6
; returns last update time
CONST DAOTDLASTUPDTIME = 7
; returns number of fields in the table
CONST DAOTDNUMFIELDS = 8
; returns information about field exp (if numeric, consider position; if string, consider name); returns an array
; with 14 elements, see DAORSGETFIELDINFO
CONST DAOTDFIELDINFO = 9
; returns number of indexes
CONST DAOTDINDEXCOUNT = 10
; returns information about index exp (if numeric, consider position; if string, consider name); returns an array
; with 9 elements, see DAORSGETINDEXINFO
CONST DAOTDINDEXINFO = 11
; returns table name
CONST DAOTDNAME = 12
; returns number of records accessed in the table
CONST DAOTDRECCOUNT = 13
; returns the name of the source table
CONST DAOTDSOURCE = 14
; returns validation rule
CONST DAOTDVALRULE = 15
; returns text displayed when validation fails
CONST DAOTDVALTEXT = 16
; returns non-zero if the table is open
CONST DAOTDISOPEN = 17
; sets to exp the value of table attributes
CONST DAOTDSETATTR = 18
; sets to exp the value of connection string
CONST DAOTDSETCONN = 19
; sets to exp the name of the table
CONST DAOTDSETNAME = 20
; sets to exp the name of the source table
CONST DAOTDSETSOURCE = 21
; sets to exp the validation rule
CONST DAOTDSETVALRULE = 22
; sets to exp the text displayed when validation fails
CONST DAOTDSETVALTEXT = 23
; -----------------------------------------------------------------------------------------
; Attribute names for DAOQDATTRIB
; returns non-zero if the query can update the database
CONST DAOQDCANUPDATE = 1
; returns connection string connected to QueryDef
CONST DAOQDCONNECT = 2
; returns creation date for QueryDef
CONST DAOQDCREATDATE = 3
; returns creation time for QueryDef
CONST DAOQDCREATTIME = 4
; returns last update date
CONST DAOQDLASTUPDATE = 5
; returns last update time
CONST DAOQDLASTUPDTIME = 6
; returns the name of the QueryDef
CONST DAOQDNAME = 7
; returns the timeout used by ODBCS when the query is run
CONST DAOQDODBCTOUT = 8
; returns number of records influenced by the query
CONST DAOQDRECAFFECT = 9
; returns non-zero if the query returns records
CONST DAOQDRETURNREC = 10
; returns the SQL string that defines the query
CONST DAOQDSQL = 11
; returns query type: delete, update, append, create table, etc.
CONST DAOQDTYPE = 12
; returns non-zero if the query is open
CONST DAOQDISOPEN = 13
; sets connection string for a SQL pass-through query over an open ODBC data source
CONST DAOQDSETCONN = 14
: sets the name of the saved query, replacing the name assigned when it was created
CONST DAOQDSETNAME = 15
; sets the timeout value used by ODBC when the query will be run
CONST DAOQDSETODBCTO = 16
; specifies if the query returns records; valid only for SQL pass-through queries
CONST DAOQDSETRETREC = 17
; sets the SQL string that defines the query
CONST DAOQDSETSQL = 18
; -----------------------------------------------------------------------------------------
; Constants for DAOQDPARAMINFO
; parameter name
CONST DAOQDPNAME = 1
; parameter type
CONST DAOQDPTYPE = 2
; parameter value
CONST DAOQDPVALUE = 3
; -----------------------------------------------------------------------------------------
; Possible opening mode for DAORSOPEN
; table type with bidirectional scrolling
CONST DAOCOpenTable = 1
; dynaset type with bidirectional scrolling. This is the default
CONST DAOCOpenDynaset = 2
; snapshot type with bidirectional scrolling
CONST DAOCOpenSnapshot = 4
; forward-only type (unsupported)
; CONST DAOCOpenForwardOnly = 8
; dynamic type
CONST DAOCOpenDynamic = 16
; -----------------------------------------------------------------------------------------
; Possible types for DAORSGETFIELDINFO
; 1 (TRUE) or 0 (FALSE)
CONST DAOCBoolean = 1
; byte (0-255)
CONST DAOCByte = 2
; integer (16 bits)
CONST DAOCInteger = 3
; long integer (32 bits)
CONST DAOCLong = 4
; currency
CONST DAOCCurrency = 5
; floating point, single precision
CONST DAOCSingle = 6
; floating point, double precision
CONST DAOCDouble = 7
; date
CONST DAOCDate = 8
; binary
CONST DAOCBinary = 9
; text
CONST DAOCText = 10
; long binary
CONST DAOCLongBinary = 11
; memo
CONST DAOCMemo = 12
; GUID
CONST DAOCGUID = 15
; big integer (64 bits)
CONST DAOCBigInt = 16
; variable binary
CONST DAOCVarBinary = 17
; character
CONST DAOCChar = 18
; generic numeric
CONST DAOCNumeric = 19
; numeric decimal
CONST DAOCDecimal = 20
; floating point
CONST DAOCFloat = 21
; time
CONST DAOCTime = 22
; date/time
CONST DAOCTimeStamp = 23
; Null
CONST DAOCNull = 25
; -----------------------------------------------------------------------------------------
; Possible attributes for DAORSGETFIELDINFO
; fixed length field (default for numeric fields)
CONST DAOCFixedField = 1
; variable length field (only for text fields)
CONST DAOCVariableField = 2
; the value for the new records is automatically increased to a new long value that can not
; be modified; supported only for Microsoft® Jet tables
CONST DAOCAutoIncrField = 16
; field value can be updated
CONST DAOCUpdatableField = 32
; field is sorted in decreasing order (Z-A or 100-0); applies only to index fields
CONST DAOCDescending = 1
; -----------------------------------------------------------------------------------------
FUNCTION DAORSEOF(rs)
; Returns non-zero if the recordset was positioned beyond last record
RETURN DAORSATTRIB(rs, _DAORSATTISEOF)
FUNCTION DAORSBOF(rs)
; Returns non-zero if the recordset was positioned before first record
RETURN DAORSATTRIB(rs, _DAORSATTISBOF)