Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Pls Help! Error Listing of Data Access?

506 views
Skip to first unread message

Grace Dai

unread,
Dec 28, 1998, 3:00:00 AM12/28/98
to
Hi,
Question1: I can not find the reference of data access error code listing.
What I know is from some sample coding, like 3186,(locked error), 3197,
3260,3022. But I believe there are more. Is there anybody here know all
the data access error code listing?

Question2: I am new to VB5.0. Could you please tell me what is the
professional way to do with multi-user program? Is it go through by error
handling? How can I write a general or centralized error handler?

Question3: Does the locking method Pessimistic or Optimistic make much
difference? Because when the save command button be clicked, then I issue
the RecordSet.Edit followed by some fields, then RecordSet.Update, the time
between Edit and Update is very very short, I think. If I just use default
- Pessimistic, is there any problem?

I don't know how to handle these data access problems, so my project is
stuck here. So if you have any solution please help me. Thank you!
--
Grace Dai ;-) : gd...@sydneyre.com.au

Glenn Miyashiro

unread,
Dec 28, 1998, 3:00:00 AM12/28/98
to
"Grace Dai" <gd...@sydneyre.com.au> wrote:

>Hi,
>Question1: I can not find the reference of data access error code listing.
>What I know is from some sample coding, like 3186,(locked error), 3197,
>3260,3022. But I believe there are more. Is there anybody here know all
>the data access error code listing?

I finally gave up and bought a manual that lists all error codes. There are 100's of
them

>Question2: I am new to VB5.0. Could you please tell me what is the
>professional way to do with multi-user program? Is it go through by error
>handling? How can I write a general or centralized error handler?

Multi User Error Handling is a misnomer. They should be called Lock Conflicts and you
*will* get them. Each group has to be trapped and handled accordingly; ie, if the
conflict is another user has the DB opened Exclusively, dont even try again.

>
>Question3: Does the locking method Pessimistic or Optimistic make much
>difference? Because when the save command button be clicked, then I issue
>the RecordSet.Edit followed by some fields, then RecordSet.Update, the time
>between Edit and Update is very very short, I think. If I just use default
>- Pessimistic, is there any problem?

Use the default Pessimistic locking in cases where a new record *must* be added or
when you want this Edit to go through. Pessimistic locking also has the advantage of
allowing the error handler to do a Resume Next after delaying for a random number of
clock ticks. Optimistic locking adds error 3197 which means someone changed the
record after your .Edit and you are now attempting a .Update. Decision time. Change
the LockEdits Flag and Retry the .Edit to save your changes or ignore the Update.

Good Luck!

Klaus H. Probst

unread,
Dec 28, 1998, 3:00:00 AM12/28/98
to
Hi Grace (and anyone who's interested):

The Jet error codes listed on your post are contained in a help file called
JETERR35.HLP, usually under the \System directory. If you've installed DAO,
you'll find it there, or somewhere in your computer.

~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please post/reply to the newsgroup(s) so
that everyone can benefit from the discussion.

Regards,

Klaus H. Probst, MCP
kpr...@amp.com
kpr...@hmo1.uninet.net.mx
ICQ: 22454937
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Grace Dai

unread,
Dec 29, 1998, 3:00:00 AM12/29/98
to
Glenn Miyashiro,
Thanks for your reply.
But I feel you gave the general answer, I prefer more detailed information.
Like the actual listing or all lock errors (becuase I can not find any
"manual" for it), how to trap and handle the "Lock Conflicts" exactly.
I will appreciate if anybody can help me to resolve these problems.
Kind Regards.
> >Grace Dai ;-) : gd...@sydneyre.com.au
>
>

Grace Dai

unread,
Dec 29, 1998, 3:00:00 AM12/29/98
to
Following mail is sent by Timothy McGibbon. He gave me the Jet Database
Error Listing. I would like to share it with you if you are interested.
Thank you, Timothy!

To: Grace Dai/SIN/SYDRE
cc:
Subject: Re: Pls Help! Error Listing of Data Access? Here the list of
errors

Question1:

Trappable errors from the Microsoft Jet database engine can occur while an
application is running, either within the development environment or as a
stand-alone executable file. You can test and respond to trappable errors
using the the Error object.

Code Message

2420 Syntax error in number.
2421 Syntax error in date.
2422 Syntax error in string.
2423 Invalid use of '.', '!', or '()'.
2424 Unknown name.
2425 Unknown function name.
2426 Function isn't available in expressions.
2427 Object has no value.
2428 Invalid arguments used with domain function.
2429 In operator without ().

2430 Between operator without And.
2431 Syntax error (missing operator).
2432 Syntax error (comma).
2433 Syntax error.
2434 Syntax error (missing operator).
2435 Extra ).
2436 Missing ), ], or Item.
2437 Invalid use of vertical bars.
2438 Syntax error.
2439 Wrong number of arguments used with function.

2440 IIF function without ().
2442 Invalid use of parentheses.
2443 Invalid use of Is operator.
2445 Expression too complex.
2446 Out of memory during calculation.
2447 Invalid use of '.', '!', or '()'.
2448 Can't set value.
3000 Reserved error <Item>; there is no message for this error.
3001 Invalid argument.
3002 Couldn't start session.

3003 Couldn't start transaction; too many transactions already nested.
3005 <Database name> isn't a valid database name.
3006 Database <name> is exclusively locked.
3007 Can€t open library database <name>.
3008 The table <name> is already opened exclusively by another user, or it
is already open through the user interface and cannot be manipulated
programmatically.
3009 You tried to lock a table while opening it, but the table can't be
locked because it is currently in use. Wait a moment, and then try the
operation again.

3010 Table <name> already exists.
3011 The Microsoft Jet database engine could not find the object <name>.
Make sure the object exists and that you spell its name and the path name
correctly.
3012 Object <name> already exists.
3013 Couldn't rename installable ISAM file.
3014 Can't open any more tables.
3015 <Index name> isn't an index in this table. Look in the Indexes
collection of the TableDef object to determine the valid index names.

3016 Field won't fit in record.
3017 The size of a field is too long.
3018 Couldn't find field <name>.
3019 Operation invalid without a current index.
3020 Update or CancelUpdate without AddNew or Edit.
3021 No current record.
3022 The changes you requested to the table were not successful because
they
would create duplicate values in the index, primary key, or relationship.
Change the data in the field or fields that contain duplicate data, remove
the index, or redefine the index to permit duplicate entries and try again.

3023 AddNew or Edit already used.
3024 Couldn't find file <name>.
3025 Can't open any more files.
3026 Not enough space on disk.
3027 Can't update. Database or object is read-only.
3028 Can't start your application. The workgroup information file is
missing
or opened exclusively by another user.
3029 Not a valid account name or password.
3030 <Account name> isn't a valid account name.

3031 Not a valid password.
3032 Can't perform this operation.
3033 You don't have the necessary permissions to use the <name> object.
Have
your system administrator or the person who created this object establish
the appropriate permissions for you.
3034 You tried to commit or roll back a transaction without first using
BeginTrans.
3036 Database has reached maximum size.
3037 Can't open any more tables or queries.

3039 Couldn't create index; too many indexes already defined.
3040 Disk I/O error during read.
3041 Can't open a database created with a previous version of your
application.
3042 Out of MS-DOS file handles.
3043 Disk or network error.
3044 <Path> isn't a valid path. Make sure that the path name is spelled
correctly and that you are connected to the server on which the file
resides.

3045 Couldn't use <name>; file already in use.
3046 Couldn't save; currently locked by another user.
3047 Record is too large.
3048 Can't open any more databases.
3049 Can't open database <name>. It may not be a database that your
application recognizes, or the file may be corrupt.
3051 The Microsoft Jet database engine cannot open the file <name>. It is
already opened exclusively by another user, or you need permission to view
its data.

3052 MS-DOS file sharing lock count exceeded. You need to increase the
number of locks installed with Share.exe.
3053 Too many client tasks.
3054 Too many Memo or OLE Object fields.
3055 Not a valid file name.
3056 Couldn't repair this database.
3057 Operation not supported on linked tables.
3058 Index or primary key can't contain a Null value.
3059 Operation canceled by user.

3060 Wrong data type for parameter <parameter>.
3061 Too few parameters. Expected <number>.
3062 Duplicate output alias <name>.
3063 Duplicate output destination <name>.
3064 Can't open action query <name>.
3065 Can't execute a select query.
3066 Query must have at least one destination field.
3067 Query input must contain at least one table or query.

3068 Not a valid alias name.
3069 The action query <name> cannot be used as a row source.
3070 The Microsoft Jet database engine does not recognize <name> as a valid
field name or expression.
3071 This expression is typed incorrectly, or it is too complex to be
evaluated. For example, a numeric expression may contain too many
complicated elements. Try simplifying the expression by assigning parts of
the expression to variables.

3073 Operation must use an updatable query.
3074 Can't repeat table name <name> in FROM clause.
3075 <Message> in query expression <expression>.
3076 <Name> in criteria expression.
3077 <Message> in expression.
3078 The Microsoft Jet database engine cannot find the input table or query
<name>. Make sure it exists and that its name is spelled correctly.
3079 The specified field reference could refer to more than one table
listed
in the FROM clause of your SQL statement.

3080 Joined table <name> not listed in FROM clause.
3081 Can't join more than one table with the same name <name>.
3082 JOIN operation <operation> refers to a field that isn't in one of the
joined tables.
3083 Can't use internal report query.
3084 Can't insert data with action query.
3085 Undefined function <name> in expression.
3086 Couldn't delete from specified tables.

3087 Too many expressions in GROUP BY clause.
3088 Too many expressions in ORDER BY clause.
3089 Too many expressions in DISTINCT output.
3090 Resultant table not allowed to have more than one AutoNumber field.
3092 Can't use HAVING clause in TRANSFORM statement.
3093 ORDER BY clause <clause> conflicts with DISTINCT.
3094 ORDER BY clause <clause> conflicts with GROUP BY clause.

3095 Can't have aggregate function in expression <expression>.
3096 Can't have aggregate function in WHERE clause <clause>.
3097 Can't have aggregate function in ORDER BY clause <clause>.
3098 Can't have aggregate function in GROUP BY clause <clause>.
3099 Can't have aggregate function in JOIN operation <operation>.
3100 Can't set field <name> in join key to Null.
3101 The Microsoft Jet database engine can't find a record in the table
<name> with key matching field(s) <name>.

3102 Circular reference caused by <query reference>.
3103 Circular reference caused by alias <name> in query definition's SELECT
list.
3104 Can't specify fixed column heading <value> in a crosstab query more
than once.
3105 Missing destination field name in SELECT INTO statement <statement>.
3106 Missing destination field name in UPDATE statement <statement>.
3107 Record(s) can't be added; no insert permission on <name>.

3108 Record(s) can't be edited; no update permission on <name>.
3109 Record(s) can't be deleted; no delete permission on <name>.
3110 Couldn't read definitions; no read definitions permission for table or
query <name>.
3111 Couldn't create; no modify design permission for table or query
<name>.
3112 Record(s) can't be read; no read permission on <name>.
3113 Can't update <field name>; field not updatable.

3114 Can't include Memo or OLE Object when you select unique values
<statement>.
3115 Can't have Memo or OLE Object fields in aggregate argument
<statement>.
3116 Can't have Memo or OLE Object fields in criteria <criteria> for
aggregate function.
3117 Can't sort on Memo or OLE Object <clause>.
3118 Can't join on Memo or OLE Object <name>.
3119 Can't group on Memo or OLE Object <clause>.

3120 Can't group on fields selected with '*' <table name>.
3121 Can't group on fields selected with '*'.
3122 You tried to execute a query that doesn't include the specified
expression <name> as part of an aggregate function.
3123 Can't use '*' in crosstab query.
3124 Can't input from internal report query <name>.
3125 The database engine can't find <name>. Make sure it is a valid
parameter or alias name, that it doesn't include invalid characters or
punctuation, and that the name isn't too long.

3126 Invalid bracketing of name <name>.
3127 The INSERT INTO statement contains the following unknown field name:
<field name>. Make sure you've typed the name correctly, and try the
operation again.
3128 Specify the table containing the records you want to delete.
3129 Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE',
'SELECT', or 'UPDATE'.
3130 Syntax error in DELETE statement.

3131 Syntax error in FROM clause.
3132 Syntax error in GROUP BY clause.
3133 Syntax error in HAVING clause.
3134 Syntax error in INSERT INTO statement.
3135 Syntax error in JOIN operation.
3136 The LEVEL clause includes a reserved word or argument that is
misspelled or missing, or the punctuation is incorrect.
3138 Syntax error in ORDER BY clause.
3139 Syntax error in PARAMETER clause.

3140 Syntax error in PROCEDURE clause.
3141 The SELECT statement includes a reserved word or an argument name that
is misspelled or missing, or the punctuation is incorrect.
3143 Syntax error in TRANSFORM statement.
3144 Syntax error in UPDATE statement.
3145 Syntax error in WHERE clause.
3146 ODBC €call failed.
3151 ODBC €connection to <name> failed.

3154 ODBC €couldn't find DLL <name>.
3155 ODBC €insert on a linked table failed.
3156 ODBC €delete on a linked table failed.
3157 ODBC €update on a linked table failed.
3158 Couldn't save record; currently locked by another user.
3159 Not a valid bookmark.
3160 Table isn't open.
3161 Couldn't decrypt file.
3162 You tried to assign the Null value to a variable that isn't a Variant
data type.

3163 The field is too small to accept the amount of data you attempted to
add. Try inserting or pasting less data.
3164 The field can't be updated because another user or process has locked
the corresponding record or table.
3165 Couldn't open .inf file.
3166 Cannot locate the requested Xbase memo file.
3167 Record is deleted.
3168 Invalid .inf file.
3169 The Microsoft Jet database engine could not execute the SQL statement
because it contains a field that has an invalid data type.

3170 Couldn't find installable ISAM.
3171 Couldn't find network path or user name.
3172 Couldn't open Paradox.net.
3173 Couldn't open table 'MSysAccounts' in the workgroup information file.
3174 Couldn't open table 'MSysGroups' in the workgroup information file.
3175 Date is out of range or is in an invalid format.
3176 Couldn't open file <name>.
3177 Not a valid table name.

3179 Encountered unexpected end of file.
3180 Couldn't write to file <name>.
3181 Invalid range.
3182 Invalid file format.
3183 Not enough space on temporary disk.
3184 Couldn't execute query; couldn't find linked table.
3185 SELECT INTO on a remote database tried to produce too many fields.
3186 Couldn't save; currently locked by user <name> on machine <name>.

3187 Couldn't read; currently locked by user <name> on machine <name>.
3188 Couldn't update; currently locked by another session on this machine.
3189 Table <name> is exclusively locked by user <name> on machine <name>.
3190 Too many fields defined.
3191 Can't define field more than once.
3192 Couldn't find output table <name>.
3196 The database <database name> is already in use by another person or
process. When the database is available, try the operation again.

3197 The Microsoft Jet database engine stopped the process because you and
another user are attempting to change the same data at the same time.
3198 Couldn't start session. Too many sessions already active.
3199 Couldn't find reference.
3200 The record cannot be deleted or changed because table <name> includes
related records.
3201 You can't add or change a record because a related record is required
in table <name>.

3202 Couldn't save; currently locked by another user.
3203 Subqueries cannot be used in the expression <expression>.
3204 Database already exists.
3205 Too many crosstab column headers <value>.
3206 Can't create a relationship between a field and itself.
3207 Operation not supported on a Paradox table with no primary key.
3208 Invalid Deleted setting in the Xbase key of the Windows Registry.

3210 The connection string is too long.
3211 The database engine couldn't lock table <name> because it's already in
use by another person or process.
3212 Couldn't lock table <name>; currently in use by user <name> on machine
<name>.
3213 Invalid Date setting in the Xbase key of the Windows Registry.
3214 Invalid Mark setting in the Xbase key of the Windows Registry.
3215 Too many Btrieve tasks.

3216 Parameter <name> specified where a table name is required.
3217 Parameter <name> specified where a database name is required.
3218 Couldn't update; currently locked.
3219 Invalid operation.
3220 Incorrect collating sequence.
3221 Invalid settings in the Btrieve key of the Windows Registry.
3222 Query can't contain a Database parameter.
3223 <Parameter name> is invalid because it's longer than 64 characters or
contains invalid characters.

3224 Can't read Btrieve data dictionary.
3225 Encountered a record locking deadlock while performing a Btrieve
operation.
3226 Errors encountered while using the Btrieve DLL.
3227 Invalid Century setting in the Xbase key of the Windows Registry.
3228 Invalid CollatingSequence setting in the Paradox key of the Windows
Registry.
3229 Btrieve €can't change field.
3230 Out-of-date Paradox lock file.

3231 ODBC €field would be too long; data truncated.
3232 ODBC €couldn't create table.
3234 ODBC €remote query timeout expired.
3235 ODBC €data type not supported on server.
3238 ODBC €data out of range.
3239 Too many active users.
3240 Btrieve €missing Btrieve engine.
3241 Btrieve €out of resources.
3242 Invalid reference in SELECT statement.

3243 None of the import field names match fields in the appended table.
3244 Can't import password-protected spreadsheet.
3245 Couldn't parse field names from the first row of the import table.
3246 Operation not supported in transactions.
3247 ODBC €linked table definition has changed.
3248 Invalid NetworkAccess setting in the Windows Registry.
3249 Invalid PageTimeout setting in the Windows Registry.

3250 Couldn't build key.
3251 Operation is not supported for this type of object.
3252 Can't open a form whose underlying query contains a user-defined
function that attempts to set or get the form's RecordsetClone property.
3254 ODBC €Can't lock all records.
3256 Index file not found.
3257 Syntax error in WITH OWNERACCESS OPTION declaration.
3258 The SQL statement couldn't be executed because it contains ambiguous
outer joins. To force one of the joins to be performed first, create a
separate query that performs the first join and then include that query in
your SQL statement.

3259 Invalid field data type.
3260 Couldn't update; currently locked by user <name> on machine <name>.
3261 Table <name> is exclusively locked by user <name> on machine <name>.
3262 Couldn't lock table <name>; currently in use by user <name> on machine
<name>.
3263 Invalid Database object.
3264 No field defined €cannot append TableDef or Index.
3265 Item not found in this collection.

3266 Can't append a Field that is already a part of a Fields collection.
3267 Property can be set only when the Field is part of a Recordset
object's
Fields collection.
3268 Can't set this property once the object is part of a collection.
3269 Can't append an Index that is already a part of an Indexes collection.
3270 Property not found.
3271 Invalid property value.

3272 Object isn't a collection.
3273 Method not applicable for this object.
3274 External table isn't in the expected format.
3275 Unexpected error from external database driver <error number>.
3276 Invalid database object reference.
3277 Can't have more than 10 fields in an index.
3278 The Microsoft Jet database engine has not been initialized.
3279 The Microsoft Jet database engine has already been initialized.

3280 Can't delete a field that is part of an index or is needed by the
system.
3281 Can't delete this index or table. It is either the current index or
is
used in a relationship.
3282 Operation not supported on a table that contains data.
3283 Primary key already exists.
3284 Index already exists.
3285 Invalid index definition.
3286 Format of memo file doesn't match specified external database format.

3287 Can't create index on the given field.
3288 Paradox index is not primary.
3289 Syntax error in CONSTRAINT clause.
3290 Syntax error in CREATE TABLE statement.
3291 Syntax error in CREATE INDEX statement.
3292 Syntax error in field definition.
3293 Syntax error in ALTER TABLE statement.
3294 Syntax error in DROP INDEX statement.

3295 Syntax error in DROP TABLE or DROP INDEX.
3296 Join expression not supported.
3297 Couldn't import table or query. No records found, or all records
contain errors.
3298 There are several tables with that name. Please specify owner in the
format 'owner.table'.
3299 ODBC Specification Conformance Error <message>. Report this error to
the developer of your application.
3300 Can't create a relationship.

3301 Can't perform this operation; features in this version are not
available in databases with older formats.
3302 Can't change a rule while the rules for this table are in use.
3303 Can't delete this field. It's part of one or more relationships.
3304 You must enter a personal identifier (PID) consisting of at least 4
and
no more than 20 characters and digits.
3305 Invalid connection string in pass-through query.

3306 You've written a subquery that can return more than one field without
using the EXISTS reserved word in the main query's FROM clause. Revise the
SELECT statement of the subquery to request only one field.
3307 The number of columns in the two selected tables or queries of a union
query don't match.
3308 Invalid TOP argument in select query.
3309 Property setting can't be larger than 2K.
3310 This property isn't supported for external data sources or for
databases created with a previous version of Microsoft Jet.

3311 Property specified already exists.
3312 Validation rules and default values can't be placed on system or
linked
tables.
3313 Can't place this validation expression on this field.
3314 The field <name> can't contain a Null value because the Required
property for this field is set to True. Enter a value in this field.
3315 Field <name> can't be a zero-length string.
3316 <Table-level validation text>.

3317 One or more values are prohibited by the validation rule <rule> set
for
<name>. Enter a value that the expression for this field can accept.
3318 Values specified in a TOP clause are not allowed in delete queries or
reports.
3319 Syntax error in union query.
3320 <Error> in table-level validation expression.
3321 No database specified in connection string or IN clause.
3322 Crosstab query contains one or more invalid fixed column headings.

3323 The query cannot be used as a row source.
3324 The query is a DDL query and cannot be used as a row source.
3325 Pass-through query with ReturnsRecords property set to True did not
return any records.
3326 This Recordset is not updatable.
3334 Can be present only in version 1.0 format.
3336 Btrieve: Invalid IndexDDF option in initialization setting.
3337 Invalid DataCodePage option in initialization setting.

3338 Btrieve: Xtrieve options aren't correct in initialization setting.
3339 Btrieve: Invalid IndexDeleteRenumber option in initialization setting.
3340 Query <name> is corrupt.
3341 The current field must match the join key <name> in the table that
serves as the 'one' side of one-to-many relationship. Enter a record in the
'one' side table with the desired key value, and then make the entry with
the desired join key in the 'many-only' table.

3342 Invalid Memo or OLE Object in subquery <name>.
3343 Unrecognized database format <filename>.
3344 The database engine does not recognize either the field <name> in a
validation expression, or the default value in the table <name>.
3345 Unknown or invalid field reference <name>.
3346 Number of query values and destination fields aren't the same.
3349 Numeric field overflow.

3350 Object is invalid for operation.
3351 The ORDER BY expression <expression> includes fields that aren't
selected by the query. Only those fields requested in the first query can
be
included in an ORDER BY expression.
3352 No destination field name in INSERT INTO statement <statement>.
3353 Btrieve: Can't find file Field.ddf.
3354 At most one record can be returned by this subquery.

3355 Syntax error in default value.
3356 You attempted to open a database that is already opened exclusively by
user <name> on machine <name>. Try again when the database is available.
3357 This query is not a properly formed data-definition query.
3358 Can't open the Microsoft Jet engine workgroup information file.
3359 Pass-through query must contain at least one character.
3360 Query is too complex.

3361 Unions not allowed in a subquery.
3362 Single-row update/delete affected more than one row of a linked table.
Unique index contains duplicate values.
3364 Can't use Memo or OLE Object field <name> in the SELECT clause of a
union query.
3365 Can't set this property for remote objects.
3366 Can't append a relation with no fields defined.
3367 Can't append. An object with that name already exists in the
collection.

3368 Relationship must be on the same number of fields with the same data
types.
3370 Can't modify the design of table <name>. It's in a read-only database.
3371 Can't find table or constraint.
3372 No such index <name> on table <name>.
3373 Can't create relationship. Referenced table <name> doesn't have a
primary key.
3374 The specified fields are not uniquely indexed in table <name>.

3375 Table <name> already has an index named <name>.
3376 Table <name> doesn't exist.
3377 No such relationship <name> on table <name>.
3378 There is already a relationship named <name> in the current database.
3379 Can't create relationships to enforce referential integrity. Existing
data in table <name> violates referential integrity rules in table <name>.
3380 Field <name> already exists in table <name>.

3381 There is no field named <name> in table <name>.
3382 Size of field <name> is too long.
3383 Can't delete field <name>. It's part of one or more relationships.
3384 Can't delete a built-in property.
3385 User-defined properties don't support a Null value.
3386 Property <name> must be set before using this method.
3388 Unknown function <name> in validation expression or default value on
<name>.

3389 Query support unavailable.
3390 Account name already exists.
3393 Can't perform join, group, sort, or indexed restriction. A value being
searched or sorted on is too long.
3394 Can't save property; property is a schema property.
3396 Can't perform cascading operation. Since related records exist in
table
<name>, referential integrity rules would be violated.
3397 Can't perform cascading operation. There must be a related record in
table <name>.

3398 Can't perform cascading operation. It would result in a null key in
table <name>.
3399 Can't perform cascading operation. It would result in a duplicate key
in table <name>.
3400 Can't perform cascading operation. It would result in two updates to
field <name> in table <name>.
3401 Can't perform cascading operation. It would cause field <name> to
become Null, which is not allowed.
3402 Can't perform cascading operation. It would cause field <name> to
become a zero-length string, which is not allowed.

3403 Can't perform cascading operation: <validation text>.
3404 Can't perform cascading operation. The value entered is prohibited by
the validation rule <rule> set for <name>.
3405 Error <error text> in validation rule.
3406 The expression you're trying to use for the DefaultValue property is
invalid because <error text>. Use a valid expression to set this property.
3407 The server's MSysConf table exists, but is in an incorrect format.
Contact your system administrator.

3409 Invalid field name <name> in definition of index or relationship.
3411 Invalid entry. Can't perform cascading operation in table <name>
because the value entered is too large for field <name>.
3412 Can't perform cascading update on table <name> because it is currently
in use by user <name> on machine <name>.
3414 Can't perform cascading operation on table <name> because it is
currently in use.
3415 Zero-length string is valid only in a Text or Memo field.

3416 <reserved error alert>
3417 An action query cannot be used as a row source.
3418 Can't open <tablename>. Another user has the table open using a
different network control file or locking style.
3419 Can't open this Paradox 4.x or 5.x table because ParadoxNetStyle is
set
to 3.x in the Windows Registry.
3420 Object reference is invalid or the object library isn't registered.
3421 Data type conversion error.

3422 Can't modify table structure. Another user has the table open.
3423 You cannot use ODBC to import from, export to, or link an external
Microsoft Jet or ISAM database table to your database.
3424 Can't create database because the locale is invalid.
3428 A problem occurred in your database. Correct the problem by repairing
and compacting the database.
3429 Incompatible version of an installable ISAM.

3430 While loading the Microsoft Excel installable ISAM, OLE was unable to
initialize.
3431 This is not a Microsoft Excel 5.0 file.
3432 Error opening a Microsoft Excel 5.0 file.
3433 Invalid setting in Excel key of Engines section of the Windows
Registry.
3434 Can't expand named range.
3435 Cannot delete spreadsheet cells.
3436 Failure creating file.

3437 Spreadsheet is full.
3438 The data being exported does not match the format described in the
Schema.ini file.
3439 You attempted to link or import a Microsoft Word mail merge file.
Although you can export such files, you cannot link or import them.
3440 An attempt was made to import or link an empty text file. To import or
link a text file, the file must contain data.
3441 Text file specification field separator matches decimal separator or
text delimiter.

3442 In the text file specification <name>, the <name> option is invalid.
3443 In the fixed-width specification <name>, the <name> does not specify a
width.
3444 In the fixed width specification <name>, column <column> does not
specify a width.
3445 Incorrect version of the DLL file <name> was found.
3446 Jet VBA file (VBAJET.dll for 16-bit versions, or VBAJET32.dll for
32-bit versions) is missing. Try reinstalling the application that returned
the error.

3447 The Jet VBA file (VBAJET.dll for 16-bit versions, or VBAJET32.dll for
32-bit versions) failed to initialize when called. Try reinstalling the
application that returned the error.
3448 A call to an OLE system function was not successful. Try reinstalling
the application that returned the error.
3449 No country code found in connection string for a linked table.

3452 You can't make changes to the design of the database at this replica.
3453 You can't establish or maintain an enforced relationship between a
replicated table and a local table.
3455 Can't make the database replicable.
3456 Can't make the <name> object in <name> container replicable.
3457 You can't set the KeepLocal property for an object that is already
replicated.
3458 The KeepLocal property cannot be set on a database; it can be set only
on the objects in a database.

3459 After a database has been replicated, you cannot remove the
replication
features from the database.
3460 The operation you attempted conflicts with an existing operation
involving this member of the replica set.
3461 The replication property you are attempting to set or delete is
read-only and can't be changed.
3462 Failure to load a DLL.
3463 Can't find the .dll <name>.
3464 Data type mismatch in criteria expression.

3465 The disk drive you are attempting to access is unreadable.
3468 Access was denied while accessing dropbox folder <name>.
3469 The disk for dropbox folder <name> is full.
3470 Disk failure accessing dropbox folder <name>.
3471 Failure to write to the Synchronizer log file.
3472 Disk full for path <name>.
3473 Disk failure while accessing log file <name>.

3474 Can't open the log file <name> for writing.
3475 Sharing violation while attempting to open log file <name> in Deny
Write mode.
3476 Invalid dropbox path <name>.
3477 Dropbox address <name> is syntactically invalid.
3478 The replica is not a partial replica.
3479 Can't designate a partial replica as the Design Master for the replica
set.
3480 The relationship <name> in the partial filter expression is invalid.

3481 The table name <name> in the partial filter expression is invalid.
3482 The filter expression for the partial replica is invalid.
3483 The password supplied for the dropbox folder <name> is invalid.
3484 The password used by the Synchronizer to write to a destination
dropbox
folder is invalid.
3485 The object can't be replicated because the database is not replicated.
3486 You can't add a second Replication ID AutoNumber field to a table.

3487 The database you are attempting to replicate can't be converted.
3488 The value specified is not a ReplicaID for any member in the replica
set.
3489 The object specified can't be replicated because it is missing a
necessary resource.
3490 Can't create a new replica because the <name> object in <name>
container could not be replicated.
3491 The database must be opened in exclusive mode before it can be
replicated.

3492 The synchronization failed because a design change could not be
applied
to one of the replicas.
3493 Can't set the specified Registry parameter for the Synchronizer.
3494 Unable to retrieve the specified Registry parameter for the
Synchronizer.
3495 There are no scheduled synchronizations between the two Synchronizers.
3496 Replication Manager cannot find the ExchangeID in the MSysExchangeLog
table.

3497 Unable to set a schedule for the Synchronizer.
3499 Can't retrieve the full path information for a member of the replica
set.
3500 Setting an exchange with the same Synchronizer is not allowed.
3502 The Design Master or replica is not being managed by a Synchronizer.
3503 The Synchronizer's Registry has no value set for the key you queried.
3504 The Synchronizer ID does not match an existing ID in the
MSysTranspAddress table.

3506 The Synchronizer is unable to open the Synchronizer log.
3507 Failure writing to the Synchronizer log.
3508 There is no active transport for the Synchronizer.
3509 Could not find a valid transport for this Synchronizer.
3510 The member of the replica set you are attempting to synchronize is
currently being used in another synchronization.
3512 Failed to read the dropbox folder.

3513 Failed to write to the dropbox folder.
3514 Synchronizer could not find any scheduled or on-demand
synchronizations
to process.
3515 The Microsoft Jet database engine could not read the system clock on
your computer.
3516 Could not find transport address.
3517 Synchronizer could not find any messages to process.
3518 Could not find Synchronizer in the MSysTranspAddress table.

3519 Failed to send a message.
3520 The replica name or ID does not match a currently managed member of
the
replica set.
3521 Two members of the replica set cannot be synchronized because there is
no common point to start the synchronization.
3522 Synchronizer cannot find the record of a specific synchronization in
the MSysExchangeLog table.
3523 Synchronizer cannot find a specific version number in the
MSysSchChange
table.

3524 The history of design changes in the replica does not match the
history
in the Design Master.
3525 Synchronizer could not access the message database.
3526 The name selected for the system object is already in use.
3527 The Synchronizer or Replication Manager could not find the system
object.
3528 There is no new data in shared memory for the Synchronizer or
Replication Manager to read.

3529 The Synchronizer or Replication Manager found unread data in the
shared
memory. The existing data will be overwritten.
3530 The Synchronizer is already serving a client.
3531 The wait period for an event has timed out.
3532 Synchronizer could not be initialized.
3533 The system object used by a process still exists after the process has
stopped.
3534 Synchronizer looked for a system event but did not find one to report
to the client.

3535 Client has asked the Synchronizer to terminate operation.
3536 Synchronizer received an invalid message for a member of the replica
set that it manages.
3538 Cannot initialize Synchronizer because there are too many applications
running.
3539 A system error has occurred or your swap file has reached its limit.
3540 Your swap file has reached its limit or is corrupted.
3541 Synchronizer could not be shut down properly and is still active.

3542 Process stopped when attempting to terminate Synchronizer client.
3543 Synchronizer has not been set up.
3544 Synchronizer is already running.
3545 The two replicas you are attempting to synchronize are from different
replica sets.
3546 The type of synchronization you are attempting is not valid.
3547 Synchronizer could not find a replica from the correct set to complete
the synchronization.

3548 GUIDs do not match or the requested GUID could not be found.
3549 The file name you provided is too long.
3550 There is no index on the GUID column.
3551 Unable to delete the specified Registry parameter for the
Synchronizer.
3552 The size of the Registry parameter exceeds the maximum allowed.
3553 The GUID could not be created.
3555 All valid nicknames for replicas are already in use.

3556 Invalid path for destination dropbox folder.
3557 Invalid address for destination dropbox folder.
3558 Disk I/O error at destination dropbox folder.
3559 Failure to write because destination disk is full.
3560 The two members of the replica set you are attempting to synchronize
have the same ReplicaID.
3561 The two members of the replica set you are attempting to synchronize
are both Design Masters.

3562 Access denied at destination dropbox folder.
3563 Fatal error accessing a local dropbox folder.
3564 Synchronizer can't find the source file for messages.
3565 There is a sharing violation in the source dropbox folder because the
message database is open in another application.
3566 Network I/O error.
3567 Message in dropbox folder belongs to the wrong Synchronizer.

3568 Synchronizer could not delete a file.
3569 This member of the replica set has been logically removed from the set
and is no longer available.
3571 The attempt to set a column in a partial replica violated a rule
governing partial replicas.
3572 A disk I/O error occurred while reading or writing to the TEMP
directory.
3574 The ReplicaID for this member of the replica set was reassigned during
a move or copy procedure.

3575 The disk drive you are attempting to write to is full.
3576 The database you are attempting to open is already in use by another
application.
3577 Can't update replication system column.
3578 Failure to replicate database; can't determine whether database is
open
in exclusive mode.
3581 Can't open replication system table <name> because the table is
already
in use.
3584 Insufficient memory to complete operation.

3586 Syntax error in partial filter expression.
3587 Invalid expression in the ReplicaFilter property.
3588 Error when evaluating the partial filter expression.
3589 The partial filter expression contains an unknown function.
3592 You can't replicate a password-protected database or set password
protection on a replicated database.
3593 Can't change a replicated database from allowing data changes at the
Design Master and replicas to allowing data changes only at the Design
Master.

3594 Can't change a replicated database from allowing data changes only at
the Design Master to allowing data changes at the Design Master and other
replicas.
3595 The system tables in your replica are no longer reliable and the
replica should not be used.
3605 Synchronizing with a non-replicated database is not allowed. The
<name>
database is not a Design Master or replica.
3607 The replication property you are attempting to delete is read-only and
cannot be removed.

3608 Record length is too long for an indexed Paradox table.
3609 No unique index found for the referenced field of the primary table.
3610 Same table referenced as both the source and destination in a
make-table query.
3611 Can€t execute data definition statements on linked data sources.
3612 Multi-level GROUP BY clause is not allowed in a subquery.
3613 Can€t create a relationship on linked ODBC tables.

3614 GUID not allowed in Find method criteria expression.
3615 Type mismatch in JOIN expression.
3616 Updating data in a linked table is not supported by this ISAM.
3617 Deleting data in a linked table is not supported by this ISAM.
3618 Exceptions table could not be created on import/export.
3619 Records could not be added to exceptions table.
3620 The connection for viewing your linked Microsoft Excel worksheet was
lost.

3621 Can€t change password on a shared open database.
3622 You must use the dbSeeChanges option with OpenRecordset when accessing
a SQL Server table that has an IDENTITY column.
3623 Cannot access the FoxPro 3.0 bound DBF file <filename>.
3624 Couldn€t read the record; currently locked by another user.
3625 The text file specification <name> does not exist. You can€t import,
export, or link using the specification.

3626 The operation failed. There are too many indexes on table <name>.
Delete some of the indexes on the table and try the operation again.

Grace Dai <gd...@sydneyre.com.au> wrote in message
<01be322b$31aa9d00$7ade...@bobyeo.acmarcom.com.sg>...


> Hi,
> Question1: I can not find the reference of data access error code
listing.
> What I know is from some sample coding, like 3186,(locked error), 3197,
> 3260,3022. But I believe there are more. Is there anybody here know all
> the data access error code listing?
>

> Question2: I am new to VB5.0. Could you please tell me what is the
> professional way to do with multi-user program? Is it go through by error
> handling? How can I write a general or centralized error handler?

At the begining of each sub enter the on error statement, like this:

On Error GoTo Local_Error

at the end enter this code:
exit sub
Local_Error:
If Handle_Error (err) then resume
end sub

In a module put your Handle_Error function.
Function Handle_Error(err as error) as boolean
'Common error handler code here
' True to resume same command
' False to exit sub procedure.

>
> Question3: Does the locking method Pessimistic or Optimistic make much
> difference? Because when the save command button be clicked, then I issue
> the RecordSet.Edit followed by some fields, then RecordSet.Update, the
time
> between Edit and Update is very very short, I think. If I just use
default
> - Pessimistic, is there any problem?

The problem is that MS Access locks blocks and not records. Each block is
2K, therefore when one user has a record locked the record before and after
it can also be locked. One solution is to have all records about 2K in
size. Another solution is to design the database so that only one user can
update a record at a time. This is record assigment, therefore the all
record assigned to a user is locked by the application and not access which
lockes blocks. The record assigment application is a good way to handle
multi-user program. Another way is by using a centralized control program
to access all records, we call it a SQL server. I have code it and it will
run circles around multi-user access programs. And no multi-user locking
problems.

Glenn Miyashiro

unread,
Jan 12, 1999, 3:00:00 AM1/12/99
to
mal...@onix.com wrote:

>In article <3687ce4d...@nntp3.tsoft.net>,
> B...@Casper.com (Glenn Miyashiro) wrote:
>>snip!<


>> clock ticks. Optimistic locking adds error 3197 which means someone changed the
>> record after your .Edit and you are now attempting a .Update. Decision time. Change
>> the LockEdits Flag and Retry the .Edit to save your changes or ignore the Update.
>

>I was searching for help with error 3197 when I came across this response.
>This pretty much echoes the error message explanation in Access 97 Help. My
>question is, how does this happen when I am the ONLY person using this
>database? I assumed the database was corrupted, so I repaired it. Same
>error. I replaced the database with an older version (The data is separate
>from the code). The code still generates an error. In fact, I can't even
>open my form in design mode! When I try, Access goes into an infinite
>messagebox loop, telling me the Jet Engine has stopped the process...
>
>This used to work. now it doesn't. I need help. Here is what the code does:
>
>I use a drop down combo box which starts life as an unbound object, but then
>has its recordsource set to a temporary table consisting of acceptable
>entries. The OnChange event of the combo box builds a SQL string based on
>the selected value and then tries to open a form called DisplayCases in order
>to view the records returned from executing the SQL. This can't have
>anything to do with the problem, because I have tried to open the
>DisplayCases form directly from the Database window. I suspect a corrupted
>database.
>
>Any suggestions? Please e-mail me.
>
>Thanks

If you are the only one on the machine and you get an error stating someone else
changed the data, then yes, there is something seriously wrong in the .MDB. The flags
that show this occurred are probably in one of the invisible system tables so you
cant even get to it. A brute force fix might be to create a brand new DB and import
all the original Tables into it. Then delete the old DB and rename the new.


mal...@onix.com

unread,
Jan 13, 1999, 3:00:00 AM1/13/99
to

Thanks

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own

0 new messages