Access-VBA-Fehler 0 (null)

Ich habe eine Access 2007-Datenbank. Es nutzt SharePoint 2010-verknüpfte Listen als Tabellen. Ich habe mehrere Formulare, die immer eine Fehlernummer "0". Ich bekomme diese Fehlermeldung in diesen Szenarien:

  • klicken Sie in eine comboBox verwendet, die eine SharePoint-Liste als Quelle, geben Sie dann text, der nicht auf der Liste. (das "limit to list" - Eigenschaft muss true sein). Wenn diese Eigenschaft false ist, dann habe ich nicht den Fehler und alles funktioniert gut, aber dies muss auf true gesetzt werden, die für diese spezielle Datenbank.

  • verliert die Verbindung zu SharePoint, klicken Sie auf ein Objekt (comboBox etc.) verwendet, die eine SharePoint-Liste als Quelle. Es ist der code in einer "Got_Focus" sub zieht die Daten aus der Liste.

Wenn ich zu fangen-Fehler-Nummer 0 und aufpassen, dass unmittelbar nach der echten Beschreibung zeigt. Zum Beispiel im ersten Szenario nach dem Fang 0 der Fehler "Element nicht in Liste" - box zeigen, die ist ein echter Fehler (2237) und die zweite "can' T find record source" - Feld wird zeigen, Fehler 2580. Ich kann aber nicht fangen diese Fehler, und wenn ich in einer message-box die Anzeige der Fehler-Nummer nach dem Fang-Fehler 0, es zeigt nie/oder aktiviert.

Scheint es, bekomme ich die Fehlermeldung 0 konstant, wenn die "Limit to list" - Eigenschaft auf true festgelegt ist. Ich habe versucht zu tun, "On_Load" sub set Limit to List auf true, und "On_close" auf false gesetzt wird, aber dies verursacht einen Fehler, kann nicht Objekt auf der "On_Close()" sub. Hier ist ein Beispiel:

   Private Sub Got_Focus()

   On Error GoTo catchError

   Me.Requery    \This could be any code that "pings" the SharePoint List

  exit_catchError:
  Exit Sub

  catchError:

  If Err.Number = 0 Then Resume Next \i'v tried with and without this. Gives error 20 with
                                           \ Also tried If Then with Err.Number = 0
  If Err.Number = 2580 Then              \Doesn't catch
     MsgBox "Reconnect to SharePoint"
  ElseIf Err.Number = 2237 Then          \Doesn't catch
     MsgBox "Text not on List"
  Else
     MsgBox Err.Number & " " & Err.Description
  End If

  End Sub
InformationsquelleAutor User1 | 2014-03-20
Schreibe einen Kommentar