Laden...

access bericht erstellen, problem mit select abfrage

Erstellt von Afrokalypse vor 18 Jahren Letzter Beitrag vor 18 Jahren 3.082 Views
A
Afrokalypse Themenstarter:in
452 Beiträge seit 2005
vor 18 Jahren
access bericht erstellen, problem mit select abfrage

hi leute 😉

ich hab ausnahmsweise mal was neues aufgetischt bekommen und sitze nun an einem kleinen problem.

ich habe eine access tabelle, die mit verschiedenen werten gefüllt ist(datum_von, datum_bis, fahrzeit...).

für diese tabelle soll ich einen bericht erstellen. soweit so gut 🙂
das ganze habe ich gelöst indem ich eine sql abfrage erstellt habe und über diese einen bericht mit 3 zusätzlichen feldern angelegt hab.

hier die abfrge 'FahrtenAbfrage':

SELECT Fahrten.*, IIf(Fahrten.Art="D",Fahrten.kmLang,0) AS Dienstfahrt, IIf(Fahrten.Art="P",Fahrten.kmLang,0) AS Privatfahrt, IIf(Fahrten.Art="W",Fahrten.kmLang,0) AS WohnungArbeit
FROM Fahrten;

erstellt mir 3 felder die die werte für dienstfahrten privatfahrten... anzeigen.
nun brauche ich ein formular in dem ich den bericht zeitbegrenzt(per datum)
anzeigen kann. deshalb wollte ich mir eine abfrage erstellen, die auf die FahrtenAbfrage zugreifft und mir dann die werte in den bericht schreibt.

DatumsAbfrage:

SELECT *
FROM AbfrageFahrten
WHERE Abfragefahrten.Date_Start BETWEEN '03.03.2005' AND '05.03.2005';

testweise wollte ich nur 2 einträge in dem bericht anzeigen lassen.
leider klappt das so nicht und das ganze bricht mir mit einem

'Datentypen im Kriterienausdruck unverträglich' ab.

ich kenne mich leider nicht gut mit sql und access aus und würde mich um hilfe freuen, wie ich die 2. abfrage zum filtern nach datum realisieren kann.

mfg
Afr0

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]

1.985 Beiträge seit 2004
vor 18 Jahren

Hallo Afrokalypse,

welchen Typ hat die Spalte mit dem Datum in der Datenbank? Soweit ich weiß, möchte Access das Datum "komisch" formatiert haben:

Aus 03.04.2005 wird dann #04/03/2005#. Versuch es mal damit in der SQL-Abfrage. Sollte den Fehler schon beheben.

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de

4.506 Beiträge seit 2004
vor 18 Jahren

Hallo Afrokalypse!

Oder aber Du verwendest SQL-Parameter, die wären grundsätzlich professioneller.

Wie das geht findest Du zu Hauf hier im Forum.

Ciao
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

A
Afrokalypse Themenstarter:in
452 Beiträge seit 2005
vor 18 Jahren

das mit dem datum wirds wahrscheinlich sein, ich sehe mir das mal an und dann werde ich noch mal antworten.

danke erstmal für die antworten 😉

*EDIT*

also die Syntax #dd/mm/yyyy# kennt access zwar, aber dafür bekomme ich dann keine ewrte mehr angezeigt wenn ich so ein datum angebe. asber die abfrage scheint zumindest zu funktionieren.

ich werde mir dann jetzt noch mal was zu sql parametern ansehn.

mfg
Afr0

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]

1.985 Beiträge seit 2004
vor 18 Jahren

Hallo Afrokalypse,

Original von Afrokalypse
also die Syntax #dd/mm/yyyy# kennt access zwar, aber dafür bekomme ich dann keine ewrte mehr angezeigt wenn ich so ein datum angebe. asber die abfrage scheint zumindest zu funktionieren.

Achtung! Access formatiert den String nicht nur in das andere Format, sondern tauscht auch noch dd und mm. Es heißt also #mm/dd/yyyy#!

Das könnte der Grund sein, warum die Abfrage Syntaktisch ok ist und Du keine Fehlermeldung erhälst, aber die Ergebnismenge leer ist.

Prinzipiell hat Norman-Timo aber Recht und die Verwendung von SQL-Parametern ist professioneller.

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de

A
Afrokalypse Themenstarter:in
452 Beiträge seit 2005
vor 18 Jahren

hm das kann auch sein. wie siehts denn mit uhrzeiten aus? mein feld besteht aus datum und uhrzeit.

*edit*

hat sich erledigt 🙂

das ist dann #mm/dd/yyyy hh:mm:ss# 😉

danke nochmal

aber das mti den sql parametern bezieht sich doch wieder auf c# oder?

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]

1.985 Beiträge seit 2004
vor 18 Jahren

Hallo Afrokalypse,

also die Uhrzeit muss anscheinend mit angegeben werden. Ein Feld mit 03.03.2005 12:40:00 wird nicht selected, wenn man nur das Datum abfragt. Wie man den Uhrzeit Parameter leer lassen kann, so dass er nicht beachtet wird, weiß ich zurzeit leider nicht.

Wenn man ihn mit abfragen will, wird er einfach mit in den String gepackt: #04/03/2005 12:40:01#.

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de

4.506 Beiträge seit 2004
vor 18 Jahren

Hallo Afrokalypse!

aber das mti den sql parametern bezieht sich doch wieder auf c# oder?

Ähh, ja, korrekt.

Ich war der Meinung Du verwendest SQL-Befehle innerhalb Deines Codes, mir war nicht klar, dass Du direkt in Access Berichte erstellen willst, sorry, dann kann man selbstverständlicherweise keine Parameter verwenden.

Also meinen Teil einfach vergessen.

Ciao
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

A
Afrokalypse Themenstarter:in
452 Beiträge seit 2005
vor 18 Jahren

da ich eh langeweile hab kann ich ja mal versuchen eine anwendung in c# zu schreiben und dann doch noch deine sql parameter zu benutzen 😉

hab das jetzt in vb unter access gemacht und hat auch wunderbar geklappt.

mfg
Afr0

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]

1.274 Beiträge seit 2005
vor 18 Jahren

Access bietet eine Funktion an die die Formatierung automatisch unterstützt.

VBA Code:
Buildcriteria("Datum",dbdate, "≥" & dateserial(21,11,2005) & " AND " & _
Buildcriteria("Datum",dbdate, "<" & dateserial(23,11,2005)

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein