Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Datumsabfrage

Begonnen von nordland, Juli 22, 2011, 08:41:17

⏪ vorheriges - nächstes ⏩

nordland

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

database

Hallo,

versuch mal...

If CDate(Me.Date2) <> CDate(DLookup("[Date1]", "tbl_F2PhysExamination")) Then

nordland

sehr ungewöhnlich, ich bekomme die Fehlermeldung/Warnmeldung immer noch :-\

Marsupilami72

Hat die Tabelle "tbl_F2PhysExamination" nur einen einzigen Datensatz? Im Dlookup fehlt nämlich das Suchkriterium...

database

Hallo,
Zitatich bekomme die Fehlermeldung/Warnmeldung immer noch
...und wie lautet diese?

nordland

nein, die tbl_F2PhysExamination hat mehrere Datensätze. Was meinst Du mit Subkriterium?

nordland

die fehler/warnmeldung ist von mir selbst generiert worden als MsgBox, wenn die Datumsangaben nicht gleich sind.

MzKlMu

#7
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.
Gruß Klaus

database

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  ::)

nordland

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?

MzKlMu

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.
Gruß Klaus

database

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?


nordland

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.

MzKlMu

Hallo,
schon meinen Lösungsvorschlag in meinem vorherigen Beitrag probiert/gelesen?
Und den Hinweis auf die Access Hilfe?
Gruß Klaus

nordland

Ja, habe gelesen, aber es ist irgenwo trotzdem ein fehler drin..

If Me.Date2 <> DLookup("[Date1]", "tbl_F2PhysExamination", "ID=" & Me!ID) Then