Access 2003 VBA Eingabemaske Abfragewert

Hallo zusammen,

ich fange gerade mit learning by doing für VBA in Access 2003 an und habe folgendes Problem:

Ich habe eine Tabelle mit ca 30.000 Datensätzen. Ein Feld nennt sich „VS_Berater“. Dieses Feld (3-stellige Zahlen-ID) soll durch eine Abfrage so geändert werden dass zum Beispiel nur Datensätze ausgegeben werden bei denen die vorher eingegebene ID vorkommt.

Dafür habe ich eine Abfrage erstellt die alle Felder dieser Tabelle beinhaltet.

Ich möchte nun in meinem erstellten Formular per Knopfdruck aufgefordert werden eine 3-stellige ID anzugeben die dann wiederum die Eingabe in die Abfrage „DD001_XXX“ weiter gibt.

Formular habe ich erstellt, Button ist da und ich kann auch die Eingabe tätigen. Nur wird die Eingabe noch nicht an die Abfrag weiter gegeben.

Als notendigkeit sollen die Werte nach dem Speichern und Schließen der Datei so bleiben und nich resettet werden, da ich die Daten über Excel ausgebe.

Soweit habe ich es schon geschafft:

On Error GoTo Err_
param1 = InputBox(„Bitte Betriebsstelle eingeben“)
If param1 = „“ Then Exit Sub
Exit_:
Exit Sub
Err_:
MsgBox "Fehlernr.: " & vbCrLf & Err.Description
Resume Exit_
End Sub

Ich bin für jede Hilfe dankbar! Bitte Info falls ich noch weitere Erklärungen liefern soll :smile:

Und natürlich vorab vielen Dank für die Unterstützung!

Viele Grüße

Gregor

Hallo,

Das ganze geht auch einfacher mit Makros.
Dazu benutze ich die Funktion „[TempVars]“ diese definiert temporäre Variablen.

Du erstellst eine Marko.
Dann musst du erstmal die TempVars die du verwenden willst entfernen, damit kein alter Wert benutzt wird.

Danach musst du einen TempVar erstellen. Diese bennenst du dann wie du willst. Als Wert für diese TempVar gibst du an "inputbox(„NACHRICHT“). NACHRICHT ersetzt du mit deinem eigenen Text.

Jetzt musst du noch prüfen ob es überhaupt einen Eingabe gab, Das machst du mit Bedingungen . Als Bedingung gibst du an: „[TempVars]![deinetempvar]=“" " (deinetempvar ersetzt du gegen den Namen der variable.) in diese Zeile sollte das rein was passiert wenn KEINE Eingabe geschehen ist also Makrostopp.

Danach sollte die nächste Zeile die Abfrage öffnen, die du ausführen möchtest. In dieser abfrage sollte dort wo der wert der TempVar seien soll stehen: „[TempVars]![deinetempvar]“.

Jetzt speicherst du die Makro und fertig ist’s.

Lg,
Hog