syntaxfehler in Quelle von Recordset

Moderator: ModerationP

syntaxfehler in Quelle von Recordset

Beitragvon Guybrush junior » 21. Dez 2017, 16:48

hallo,
ich habe diesen Code. Bei Set daten0 kommt ne Fehlermeldung.
Fehlermeldung: Datentypen in kriterienausdruck unvertträglich.
Das dumme ist, dass ich den code net verändert habe, der läuft wo anders gut. ich habe an der abfrage qry_summe01 die Feldnamen neu geschrieben. dann natürlich überall angepasst. jetzt will das net mehr und ich finde den fehler net.
wie kann ich das eingrenzen, wo der Fehler sein könnte ?
Ich stell mal was an Code rein wie die Abfrage sich zusammen setzt. Das geht aber alles ,ich kann die Abfrage als Tabelle mit gesetzten Feldern öffnen. Da scheint alles zu stimmen.

Code: Alles auswählen
Quelle(1) = _
         "SELECT Username,       Sum(Dauer) AS rsDauer,       Sum(Kilometers) AS Strecke  FROM qry_summe_01 WHERE (qry_summe_01.Termin_vereinbart >= #2017-12-01# AND qry_summe_01.Termin_vereinbart < #2017-12-31#) GROUP BY Username"


Code: Alles auswählen
Set daten0 = dbs.OpenRecordset(Quelle(1))


qry_summe01:
Code: Alles auswählen
SELECT tbl_DS01.OrderNo, tbl_DS01.Username, ZeitAlsZahl([Duration]) AS Dauer, tbl_DS01.Kilometers, tbl_DS01.ItemDescription, gesAZ([Duration],[ItemDescription]) AS FgesAZ, gesFZ([Duration],[ItemDescription]) AS gesFZ, kmh([Duration],[ItemDescription],[kilometers]) AS kmH, tbl_DS01.Termin_vereinbart, tbl_DS01.xFrom, tbl_DS01.xTo, tbl_DS01.UserDisplayName
FROM tbl_DS01;


Code: Alles auswählen
Function ZeitAlsZahl(ByVal xZeit As String) As Double
 Dim std As Double
 Dim min As Double
 Dim gw As String
 Dim az As Integer
 Dim s1 As Integer

az = Len(xZeit)
s1 = 1
If az = 5 Then s1 = 2

gw = xZeit
std = CInt(Left(xZeit, s1))
min = CInt(Right(xZeit, 2))

ZeitAlsZahl = Round(((std * 60 + min) / 60), 2)
End Function
Wenn isch immer des mache ded was die onern wolle, kennt isch moin Kopp in die Rachkammer hänge. (Offizieller Sponsor der Bundesrepublik Deutschland)
Benutzeravatar
Guybrush junior
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 589
Registriert: 19. Feb 2005, 14:30

Re: syntaxfehler in Quelle von Recordset

Beitragvon Yaslaw » 21. Dez 2017, 16:56

qry_summe01 kannst du ohne Fehler öffnen?

Wenn ja, dann teste deine Quelle(1) mal im Abfrageeditor.
Dort findet man den Fehler ev. einfacher heraus, weil der Cursor nach dem Fehler manchmal auf das betroffene Feld springt
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements sind formatierbar)
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
Benutzeravatar
Yaslaw
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3092
Registriert: 02. Jul 2014, 15:25
Wohnort: Winterthur

Re: syntaxfehler in Quelle von Recordset

Beitragvon Nouba » 21. Dez 2017, 17:54

Die Meldung ist doch wohl ziemlich eindeutig. Termin_vereinbart wird in der Abfrage nicht vom Felddatentyp Datum/Uhrzeit sein.
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
Nouba
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 17403
Registriert: 13. Mär 2006, 12:55
Wohnort: Berlin

Re: syntaxfehler in Quelle von Recordset

Beitragvon Guybrush junior » 21. Dez 2017, 21:36

Hallo,

ich habe jetzt mal um den Fehler einzugrenzen die Abfrage und den Code unverändert gelassen, so dass aus der original Tabelle die Daten ausgelesen und angezeigt werden. dann die Felder der neuen Tabelle exakt so umprogrammiert dass die der originalen Tabelle gleichen. Auch wenn ich die beiden Tabellen in der Datensicht aufrufe sehe ich beiu den Datensätzen keine Unterschiede. Aber wenn ich die Namen der beiden Tabellen ändere, so dass einmal die original und einmal die neue Tabelle als Grundlage für die Abftrage genommen wird, dann geht es net mit der neuen Tabelle.
Ich kann jetzt codefehler ausschliessen. muss iwie an der neuen Tabelle liegen, die ist aber doch augenscheinlich gleich der originalen Tabelle
Wenn isch immer des mache ded was die onern wolle, kennt isch moin Kopp in die Rachkammer hänge. (Offizieller Sponsor der Bundesrepublik Deutschland)
Benutzeravatar
Guybrush junior
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 589
Registriert: 19. Feb 2005, 14:30

Re: syntaxfehler in Quelle von Recordset

Beitragvon GastBiber » 21. Dez 2017, 22:11

Moin Guybrush junior,

andere Erklärung wäre ein Tippfehler beim Zuweisen des Strings an Quelle(1).
Dort schreibst du "...FROM qry_summe_01", während du im restlichen Text von "qry_summe01" sprichst.

Gibt es eventuell aus vorangegangenen Test auch noch ein "qry_summe_01" mit anderen Feldern/Feldtypen?

Grüße
Biber
GastBiber
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 739
Registriert: 18. Sep 2014, 18:03

Re: syntaxfehler in Quelle von Recordset

Beitragvon Guybrush junior » 21. Dez 2017, 22:57

hallo,

das mit summe01 und summe_01 ist nur hier im Forum falsch. leider. ich hab da alles richtig.
ich kontrolliere und schreibe seit stunden an dem Teil rum. ohne erfolg.
ich habe 4 Felder drin, die mit Vba Functionen berechnet werden. das klappt alles, ich kann die Anfrag in Datenansicht öffen und da stehen auch die richtigen sachen in den Feldern. nur wenn ich das Formular öffne, dann gehts net. und eben nur bei der neuen Tabelle. die ist aber gleich der alten aufgebaut.
Wenn isch immer des mache ded was die onern wolle, kennt isch moin Kopp in die Rachkammer hänge. (Offizieller Sponsor der Bundesrepublik Deutschland)
Benutzeravatar
Guybrush junior
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 589
Registriert: 19. Feb 2005, 14:30

Re: syntaxfehler in Quelle von Recordset

Beitragvon j05 » 23. Dez 2017, 11:14

Hallo,
den Hinweis von Nouba hast du gelesen?

Eine Bsp. Datei wäre nicht schlecht.

Lässt sich das Recordset zuweisen, wenn du einmal die WhereCondition weg lässt?
mfg j05 :wink:
Benutzeravatar
j05
Moderator
 
Beiträge: 18286
Registriert: 23. Apr 2005, 18:10
Wohnort: ~~~~~

Re: syntaxfehler in Quelle von Recordset

Beitragvon Guybrush junior » 24. Dez 2017, 07:52

1. Weihnachstfeiertag. 05.45 . . . . . . .
ich habs jetzt.
ich habe alles von vorne neu aufgebaut, also die Quelltabelle, dann die Abfrage. Es gibt Felder xfrom und xto. das waren früher txt Felder. Jetzt habe ich das als Uhrzeit , 24 std. angelegt und meine Umrechnungsroutine etwas angepasst, so dass auch Zeiten unter 10 Stunden korrekt umgerechnet werden. Es kam ja keine Fehlermeldung in den Umrechnungsroutinen. Obs daran lag oder ob sonst was durch das neue anlegen anders ist, ich kanns net sagen. Auf jeden Fall hab ich die Zellen in der Tabelle geändert bevor ich die Abfrage programmiert habe. Ich hatte ja auch schon vorher die Zellen in der Tabelle von txt auf Datum/Uhrzeit umgestellt, da war die Abfrage aber schon programmiert. Damals ging das dann trotzdem net. Egal, es geht jetzt.

Code: Alles auswählen
Function ZeitAlsZahl(ByVal xZeit As String) As Double

 Dim std As Double
 Dim min As Double
 Dim gw As String
 Dim az As Integer
 Dim s1 As Integer

az = Len(xZeit)
If az = 4 Then s1 = 1
If az = 5 Then s1 = 2

gw = xZeit
std = CInt(Left(xZeit, s1))
min = CInt(Right(xZeit, 2))

ZeitAlsZahl = Round(((std * 60 + min) / 60), 2)

End Function
Wenn isch immer des mache ded was die onern wolle, kennt isch moin Kopp in die Rachkammer hänge. (Offizieller Sponsor der Bundesrepublik Deutschland)
Benutzeravatar
Guybrush junior
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 589
Registriert: 19. Feb 2005, 14:30


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste