Ich bin kein Programmierer auf jeden Fall, aber ich versuche, eine kleine Datensammlung Datenbank gehen. Ich muss anhand der Eingabe einen Datensatz finden. Ich habe zwei Kriterien, die ich finden soll, und wenn beide nicht zusammen gefunden werden, soll es einen neuen Datensatz erstellen (wobei beide Felder ausgefüllt sind, um eine Duplizierung des Paares zu verhindern). Das erste Kriterium ist, dass es nach einem Datum suchen muss. Ich habe das schon herausgefunden, hier ist der Code.MS Access VBA, keine Ergebnisse beim Ausführen von DoCmd, um einen Datensatz zu finden
Dim Date1 As String
Date1 = Text6.Value
DoCmd.OpenForm "Data", , , "Data![ShiftDate] = #" & Date1 & "#"
Funktioniert wie ein Charme. Jetzt habe ich versucht, das zweite Kriterium hinzuzufügen. Das zweite Kriterium wird aus einer Listbox, entweder Tag oder Nacht, gezogen. Dann soll es meine Datenfelder nach denselben Kriterien in einem Listenfeld auf meinen Daten durchsuchen! bilden.
Dim Date1 As String
Dim Shift1 As String
Date1 = Text6.Value
Shift1 = List12.Column(1)
MsgBox Shift1
DoCmd.OpenForm "Data", , , _
"Data![ShiftDate] = #" & Date1 & "# AND Data![Shift] ='" & Shift1 & "'"
die msgbox war nur um zu überprüfen, dass es die richtigen Worte zieht, Tag oder Nacht. Alles funktioniert gut, aber anstatt eine Aufzeichnung am richtigen Datum zu ziehen, und mit der richtigen Schicht, erhalte ich leere Aufzeichnungen. Ich habe versucht, die erste Hälfte der where-Anweisung herauszunehmen, um den Schichtteil zu isolieren, und kann es immer noch nicht erreichen, um einen Datensatz zu finden. Ich habe keine Ahnung, was ich falsch mache.
Wird 'Shift' wirklich als Text gespeichert oder zeigt das Listenfeld einen Text an, der mit einer numerischen ID verknüpft ist? Woher kommen die Einträge der Listbox? Wie Tag = 1, Nacht = 2 –
Ich hatte eine Tabelle dafür, aber tötete schließlich die Listbox vollständig, weil es unnötig war. Es funktioniert jetzt nur als Textfelder. Jetzt besteht der Trick darin, herauszufinden, wie Daten in das Datums- und Verschiebefeld eingegeben werden, wenn sie noch nicht erstellt wurden! Wenn der Datensatz nicht gefunden wird, erstellen Sie wie gewohnt einen neuen Eintrag, füllen die beiden Kriterien aber automatisch mit den Eingaben aus, die für die Suche verwendet wurden. – Fenris522
Sind die Namen der Kontrollfelder die gleichen wie die Namen der darunter liegenden Tabellen? – geeFlo