geosi79
Goto Top

Access Fehlermeldung 2001

Hallo,

vieleicht kann mir jemand von euch weiterhelfen, ich bekomme andauernd die Fehlermeldung:

Laufzeitfehler "2001"
sie haben die vorherige Operation abgebrochen. *

Ich habe ein Formular "Artikel", wo ich alle Daten anlegen und ändern kann.
Desweitenen habe ich ein Formular "Suchen", wo ich ein Kombifeld habe, indem ich den Artikel auswähle, nachdem ich suche. Per Klick soll mir der Datensatz in dem Formular "Artikel" angezeigt werden, so dass ich die Möglichkeit habe, den Artikel dort zu ändern.

Private Sub suchen_Click()
Dim strFilter As String

If Me.Kombinationsfeld0 <> 0 Then
strFilter = "Artikel-ID = " & Me.Kombinationsfeld0
End If

If strFilter <> "" Then
* If Nz(DLookup("Lagermenge", "Artikel", _
strFilter), 0) <> 0 Then
DoCmd.OpenForm "Artikel", , strFilter
DoCmd.Close acForm, ("Suchen")
Else
MsgBox "Zur Eingabe konnten keine Daten gefunden werden!", _
vbExclamation
End If
Else
MsgBox "Es wurden keine Filter eingegeben!", vbExclamation
End If
End Sub


es wäre super wenn mit jemand weiterhelfen könnte.

Content-Key: 40293

Url: https://administrator.de/contentid/40293

Printed on: April 26, 2024 at 15:04 o'clock

Member: DaSam
DaSam Sep 17, 2006 at 17:32:12 (UTC)
Goto Top
Hi,

prüf doch bitte mal vor der Zeile mit dem DLOOKUP, welchen Wert strFilter WIRKLICH hat (z.B. in einer Messagebox). Ich vermute, dass da was nicht stimmt damit.

Ganz guter Stil wäre es auch, verwendete Variablen auf jeden Fall zu initialisieren.

cu,
Alex
Member: GeOsi79
GeOsi79 Sep 17, 2006 at 20:14:38 (UTC)
Goto Top
Hi,

strFilter hat den Wert Artikel-ID=1
Member: DaSam
DaSam Sep 18, 2006 at 06:58:42 (UTC)
Goto Top
Hi,

der Fehler 2001 deutet darauf hin, dass ein Fehler zu einem Ereignis vorlag, das bereits eingetreten ist und so vermutlich hätte nicht aufgerufen werden dürfen (besser kann ich es nicht formulieren).

Schreib doch bitte in den Zeilen, bevor der Fehler auftritt, ein paar Dummy-Schreilen ein, in der Art:

for t=1 to 10000000
Application.DoEvents()
a=sin(t)
next

Bleibt dann das Programm an der gleichen fehlerhafen Stelle hängen? Den von mir angegebenen Code bitte an Dein Access anpassen - ich hab's jetzt nur aus dem Kopf für VB.Net hingeschrieben - ist bestenfalls Pseudocode (wichtig ist, dass Dein Programm eine zeitlang was tut und die Messagequeue abgearbeitet wird).

Wenn der Fehler nun wo anders auftritt (z.B. in den oberen vier Zeilen), dann hast Du keinen logischen Fehler in dem Programmcode, sondern ganz wo anders im Programmablauf zuvor ... viel Spass dann beim Suchen face-wink

cu,
Alex