Newsgroup: it.comp.appl.access
Titolo: Errore 3000 - Reserved error -7

Ciao a tutti,
Access 2000 professional SR1
Nell' aprire un recordset da VBA (che si riferisce ad una tabella Paradox
linkata) ottengo il messaggio di cui all'oggetto.
Se faccio debug e continuo, tutto fila liscio. PERCHE'?
Ho cercato nell' help ma non sono riuscito a trovare la lista degli errori.
Dove la trovo? Persino sul sito MS ho cercato, ma non li ho trovati.
(Eppure quando usavo Access 3.0 l'help era fantastico)
Help me please!

 ha scritto nel messaggio

Sembrerebbe come un problema di time out.
Vedi se c'e' la SR2 prima di provare altro.
Sib
--
qualita.assicurazione sul news-server 
www.cerrinet.it
Il newsgroup sulla qualita'

Ci provo.
Comunque, in generale, dove trovo la lista degli errori? Deve essere o
troppo evidente o troppo ben nascosta!

 ha scritto nel messaggio
news:a8k74l$t58nb$1...@ID-130040.news.dfncis.de...

Io in A97 uso la routine che segue per creare una tabella che contiene
l'elenco di tutti gli errori di Access; se pensi che ti aiuti, prova ad
usarla, magari funziona anche in A2000, naturalmente dopo aver aggiunto ai
riferimenti del tuo database la libreria DAO, inserendola nell'elenco dei
riferimenti prima della libreria ADO.
Function CreateErrTable()
  ' This function creates a table containing a list of all the valid
  '  Access application error codes
  ' Declare variables used in this function
  Dim dbMyDatabase As Database, tblErrTable As TableDef, fldMyField As Field
  Dim rcdErrRecSet As Recordset, lngErrCode As Long, intMsgRtn As Integer
  Dim varReturnVal As Variant, varErrString As Variant, ws As Workspace
  ' Create Errors table with Error Code and Error String fields.
  ' Initialize the MyDatabase database variable to the current database
  Set dbMyDatabase = CurrentDb()
  Set ws = DBEngine.Workspaces(0)
  ' Trap error if table doesn't exist
  On Error Resume Next         ' Skip to next statement if an error occurs
  Set rcdErrRecSet = dbMyDatabase.OpenRecordset("ErrTable")
  Select Case Err   ' See if an error was raised
  Case 0        ' No error - table must alread exist
    On Error GoTo 0   ' Turn off error trapping
    intMsgRtn = MsgBox("ErrTable already exists.  Do you want to delete and
rebuild all rows?", vbQuestion + vbYesNo, "Microsoft Press")
    If intMsgRtn = vbYes Then    ' Reply was YES - delete rows and rebuild
      DoCmd.SetWarnings False                    ' Turn off SQL warning
      DoCmd.RunSQL "Delete * From ErrTable;"     ' Run quick SQL to delete
rows
      DoCmd.SetWarnings True                     ' Turn warnings back on
    Else                 ' Reply was NO - done
      rcdErrRecSet.Close   ' Close the table
      Exit Function        ' And exit
    End If
  Case 3011, 3078     ' Couldn't find table, so build it
    On Error GoTo 0   ' Turn off error trapping
    ' Create a new table to contain the error rows
    Set tblErrTable = dbMyDatabase.CreateTableDef("ErrTable")
    ' Create a field in ErrTable to contain the error code
    Set fldMyField = tblErrTable.CreateField("ErrorCode", DB_LONG)
    ' Append the "ErrorCode" field to the fields collection in
    ' the new table definition
    tblErrTable.Fields.Append fldMyField
    ' Create a field in ErrTable to contain the error description
    Set fldMyField = tblErrTable.CreateField("ErrorString", DB_TEXT)
    ' Append the "ErrorString" field to the fields collection in
    ' the new table definition
    tblErrTable.Fields.Append fldMyField
    ' Append the new table to the TableDefs collection in
    ' the current database
    dbMyDatabase.TableDefs.Append tblErrTable
    ' Set text field width to 5" (7200 twips)  (calls Sub procedure)
    SetFieldProperty tblErrTable![ErrorString], "ColumnWidth", DB_INTEGER,
7200
    ' Set recordset to Errors Table recordset.
    Set rcdErrRecSet = dbMyDatabase.OpenRecordset("ErrTable")
  Case Else         ' Can't identify the error - write message and bail
    MsgBox "Unknown error in CreateErrTable " & Err & ", " & Error$(Err),
vbExclamation
    Exit Function
  End Select
  'Initialize the progress meter on the status bar
  varReturnVal = SysCmd(acSysCmdInitMeter, "Building Error Table", 32767)
  ' Turn on hourglass to show this may take a while
  DoCmd.Hourglass True
  ' Start a transaction to make it go fast
  ws.BeginTrans
  ' Loop through Microsoft Access error codes, skipping error codes
  ' that generate "User-defined error" or "Reserved Error" message.
  For lngErrCode = 1 To 32767
    varErrString = AccessError(lngErrCode)
    If IsNothing(varErrString) Or varErrString = "Application-defined or
object-defined error" Then
        ' If AccessError returned nothing, then try Error
        varErrString = Error(lngErrCode)
    End If
    If Not IsNothing(varErrString) Then
        If varErrString <> "Application-defined or object-defined error"
Then
            ' Add each error code and string to Errors table.
            rcdErrRecSet.AddNew
            rcdErrRecSet("ErrorCode") = lngErrCode
            ' Some error messages are longer than 255 - truncate
            rcdErrRecSet("ErrorString") = Left(varErrString, 255)
            rcdErrRecSet.Update
        End If
    End If
    ' Update the status meter
    varReturnVal = SysCmd(acSysCmdUpdateMeter, lngErrCode)
  ' Process next error code
  Next lngErrCode
  ' Commit all added rows
  ws.CommitTrans
  ' Close recordset.
  rcdErrRecSet.Close
  ' Turn off the hourglass - we're done
  DoCmd.Hourglass False
  ' And reset the status bar
  varReturnVal = SysCmd(acSysCmdClearStatus)
  ' Select the new table in the database window to refresh the list
  DoCmd.SelectObject acTable, "ErrTable", True
  ' pop up a confirmation dialog
  MsgBox "Errors table created."
End Function
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

(Eppure quando usavo Access 3.0 l'help era fantastico)
Access 3.0????????????


Potevamo stupirvi con effetti speciali?!?
Antonio

O forse era il 2.0?
Boh, quello sotto Win 3.11!!

 Boh, quello sotto Win 3.11!!
2.0
Antonio

 troppo evidente o troppo ben nascosta!
Se cerchi "errori intercettabili" nell'help trovi la lista.
Comunque considera che alcuni errori potrebbero non esserci come ad esempio
gli errori generati ra routine esterne ad access.
Sib

Ma sai che non ci sono riuscito?
Se cerco "trappable" non mi da niente.
Ti assicuro che ho veramente cercato nell'help, anche prima di postare, ma
vacca boia se ho trovato la lista.
Io ho Access 2000 SR-1 (in inglese).
Se riesci a trovare la lista, mi fai un cut and paste, per favore?
Se vuoi, prendila pure come sfida per farmi sentire un po' c......e, perche'
mi da' veramente sui nervi sta storia...
Ciao!

Potevamo stupirvi con effetti speciali?!?
... ma noi siamo senza!
:-)