Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Datentypen im Kriterienausdruck unverträglich, aber warum....?

Begonnen von Xoar, Juni 06, 2011, 10:19:52

⏪ vorheriges - nächstes ⏩

Xoar

Hi, hab das Forum schonmal durchsucht, aber nicht wirklich ne Lösung gefunden :/
Hatte am Anfang ne Tabellenerstellungsabfrage, auf die ich mich mit meinem VBA Code bezogen habe. Da hatte auch alles funktioniert. Da das aber mit der Tabelle und der aktualisierbarkeit nicht meinen Vorstellungen entsprach, habe ich das einfach mit ner normal Abfrage gemacht, also ohne ne Tabelle zu erzeugen. Seid dem kommt in VBA immer der Fehler "Datentypen im Kriterienausdruck unverträglich #3464#"

Im Bild unten hab ich mal di Abfrage kopiert mit SQL Code.

Als VBA Code um auf die Abfrage zuzugreifen nehme ich
Dim T1Wert as String
Dim JahrW As String
Dim NachnameWert As String
JahrW = Year(Date)

'Tag 1
T1Wert = "01." & Form_frmZeiterfassung!CombiDatum & "." & JahrW
NachnameWert = Me!CombiNamen
Me!T1.Value = DLookup("[Std]", "qry_Stundenkonto", "[Datum] = '" & T1Wert & "' And [Nachname] = '" & NachnameWert & "'")

Dann kommt immer der Fehler..... wenn ich das über die frühere Tabelle macht, hat das funktioniert. Haben Abfragen andere Feldtypen, oder hat wer ne Idee?


Grüße


[Anhang gelöscht durch Administrator]

DF6GL

Hallo,

ich nehme an, dass "Datum" in der Tabelle den Datentyp Datum/Uhrzeit besitzt.

Dann muß es so lauten:


... , "[Datum] = " & Format(T1Wert,"\#yyyy-mm-dd\#")   & "  And [Nachname] = '" & NachnameWert & "'")


btw:  Es ist "gefährlich" , sprich fehlerproduzierend, für Datumswerte Datentyp Text (String) zu benutzen....

Xoar

danke hat funktioniert :)

Hab mal wie du erzählt hast, die Datumsvariable T1Wert in Datum geändert.

Dim T1Wert as Date

klappt auch wunderbar, aber was genau meinst du mit fehlerproduzierend?
Was kann da passieren?

Wobei das auch logischer klingt, Datumswerte als Date^^

DF6GL

HAllo,


fehlerproduzierend


hast Du selbst gerade an dieser Stelle gemerkt.   An anderen Stellen (im Code, bzw. SQL)   passiert Ähnliches ja auch, mit dem Ergebnis, dass es im besten Fall lediglich falsch ist..