Hallo,
habe folgende Aufgabe: ich brauche eine Fehlermeldung wenn [Datum2] nicht mit dem [Datum1] übereinstimmt. Ich habe das folgendermassen probiert, bekomme aber immer eine Fehlermeldung, selbst wenn die Datumsangaben richtig/gleich sind.
If Me.Date2 <> DLookup("[Date1]", "tbl_F2PhysExamination") Then
MsgBox "First treatment out of time window!", vbCritical, "ATTENTION!"
Me.DateFirstTreatm.BackColor = vbRed
Hallo,
versuch mal...
If CDate(Me.Date2) <> CDate(DLookup("[Date1]", "tbl_F2PhysExamination")) Then
sehr ungewöhnlich, ich bekomme die Fehlermeldung/Warnmeldung immer noch :-\
Hat die Tabelle "tbl_F2PhysExamination" nur einen einzigen Datensatz? Im Dlookup fehlt nämlich das Suchkriterium...
Hallo,
Zitatich bekomme die Fehlermeldung/Warnmeldung immer noch
...und wie lautet diese?
nein, die tbl_F2PhysExamination hat mehrere Datensätze. Was meinst Du mit Subkriterium?
die fehler/warnmeldung ist von mir selbst generiert worden als MsgBox, wenn die Datumsangaben nicht gleich sind.
Hallo,
Zitatnein, die tbl_F2PhysExamination hat mehrere Datensätze.
Und welchen willst Du dann haben, wenn es mehrere sind, den 1. oder den 3. z.B. ?
ZitatWas meinst Du mit Subkriterium?
Nicht
Subkriterium sondern
Suchkriterium.
Um den richtigen Datensatz der Abrage zu erhalten.
Das heist, Du muss DLookup() ein Kriterium mitgeben um das richtige Datum zu vergleichen.
Mal Frage, ist Datum1 und Datum2 in der gleichen Tabelle bzw. im gleichen Datensatz?
Ganz so klar ist das nämlich nicht.
Hallo,
also ich bin schon davon ausgegangen, dass die Tabelle 'tbl_F2PhysExamination' eine statische Tabelle ist, in der nur der eine DS zum Vergleich abgelegt ist.
Zitat...bekomme aber immer eine Fehlermeldung...
..hier hatte ich auch nicht drauf geschlossen, dass du damit deine MsgBox meinst
DLookup("[Date1]", "tbl_F2PhysExamination", "ID=1") als Beispiel wenn der erste DS gewünscht ist ...
Das Kriterium MUSST du bei mehreren DS schon setzen, sonst 'weiß' deine Vergleichsfunktion ja nicht, mit welchem Datum verglichen werden soll!
jeijeijeijei ::)
So einfach ist es wirklich nicht... Datum1 und Datum2 sind in verschiedenen Tabellen abgelegt und die Verknüpfung geht üder eine ID Nr. Wie soll ich dann programmieren, dass das Datum2 von dem ID1 mit dem Datum1 vom dem ID1 verglichen wird?
Hallo,
Du musst als Kriterium das Feld mit der ID mit dem Formularfeld das die ID enthält anwenden.
Ganz allgemein:
If Me.Date2 <> DLookup("[Date1]", "tbl_F2PhysExamination","ID = " & Me!FormularfeldMitID) Then
MsgBox "First treatment out of time window!", vbCritical, "ATTENTION!"
Me.DateFirstTreatm.BackColor = vbRed
End If
Übrigens, lohnt es sich zu solchen Befehlen die Access Hilfe zu benutzen, zu DLookup gibt es viel Info mit Beispielen.
Hallo,
ZitatSo einfach ist es wirklich nicht...
Naja, so einfach hast du das aber im ersten Beitrag dargestellt ;)
Gut...
Mit Me!Date2 sprichst du ein Formularfeld an - daher gehe ich davon aus, dass DORT das Datum2 steht.
Das einzige Problem, das ich jetzt sehe ist es, aus der 'tbl_F2PhysExamination' den richtigen Datensatz zu ziehen.
Zitat... dass das Datum2 von dem ID1 mit dem Datum1 vom dem ID1 verglichen wird
Wie stellst du denn fest welchen Datensatz du zum Vergleich mit dem Formularfeld heranziehst - wenn du das MANUELL machen würdest?
Es muss ja in der 'tbl_F2PhysExamination' ein eindeutiges Kennzeichen geben, welches sich auf das zu vergleichende Datum bezieht - der 3. der 15. oder der Datensatz mit dem letzten Datum, eine ID, die auch im Formular ersichtlich ist?
das Datum 1 ist in der tbl_F2PhysExamination abgelegt und hat eine eindeutige ID Nr., die nur einmal vorkommt und ist identisch mit der ID von dem Datum2.
Hallo,
schon meinen Lösungsvorschlag in meinem vorherigen Beitrag probiert/gelesen?
Und den Hinweis auf die Access Hilfe?
Ja, habe gelesen, aber es ist irgenwo trotzdem ein fehler drin..
If Me.Date2 <> DLookup("[Date1]", "tbl_F2PhysExamination", "ID=" & Me!ID) Then
Hallo,
sory, aber Deine nichtssagenden Antworten im Telgrammstil helfen
Dir nicht.
Was soll man mit einer solchen Aussage anfangen:
Zitataber es ist irgenwo trotzdem ein fehler drin..
Ich klinke mich daher aus.
Funktionierende Lösung für meine Fragestellung lautet:
If Me.Date2 <> DLookup("[Date1]", "tbl_F2PhysExamination", "[ID]='" & Me.ID & "'") Then
MsgBox "First treatment out of time window!", vbCritical, "ATTENTION!"
Me.DateFirstTreatm.BackColor = vbRed
End If
Es ist für einen Anfänger nicht immer einfach, bei der Fragestellung alle für das Programmieren relevante Dinge zu beschreiben bzw. nachvollziebar machen. Bin aber trotzdem begeistert von der Hilfeleistung hier im Forum!
Hallo,
das mindeste was man gerade von einem Anfänger erwarten sollte, sind präziese Beschreibungen des Fehlers, bzw. was genau nicht geht.
Zitatund hat eine eindeutige ID Nr.,
Bei "ID Nr" bin ich natürlich davon ausgegangen, dass man eine Nummer vom Datentyp Zahl macht.
Ein Schlüsselfeld als Text anzulegen ist keine gute Lösung.
Hallo, guten Morgen,
nur mal so aus reiner Neugier ...
Welcher Wert steht denn beispielsweise in Me!ID drin?
Welcher Feldatentyp verbirgt sich denn hinter ID der Tabelle 'tbl_F2PhysExamination' tatsächlich?
Welche Felddatentypen stecken hinter Date1 und Date2 in deren Tabellen?
Ich frage dies weil ein so derart einfacher Wertevergleich einen so langen Schweif nach sich gezogen hat.