martinpriebe
Erfahrenes Mitglied
Hallo,
ich habe ein Problem mit einer Abfrage.
Ich habe einen Bericht der als Datenquelle eine Abfrage hat.
Diesen Abfrage grenze ich ein ..
"where p.zeitstempel between datum_von AND datum_bis"
Führe ich die Abfrage aus, fragt er nach den Parametern, ich gebe sie ein und erhalte das Ergebniss.
Führe ich den Bericht aus, fragt er mich ebenfalls nach den Parametern und hier geht es immernoch.
<Setzte ich nun per VBA die Parameter.
Set db = CurrentDb
Set query = db.QueryDefs(Me.RecordSource)
sql = query.sql
sql = Replace(sql, "datum_von", "'01.01.1900'")
Me.RecordSource = sql>
Dann bekomme ich eine Typenunverträglichkeit.
Also ändere ich die Abfrage mittel "Format"
<Where p.zeitstempel between Format(datum_von,'dd.mm.yyyy') AND Format(datum_bis,'dd.mm.yyyy')>
Dann steht in etwa sowas drin
..
.. Where p.zeitstempel between Format("01.01.1900",'dd.mm.yyyy') ..
Nur da bekomme ich das falsche Ergebniss.
Was stimmt da nicht ?
P.S.
ich nutze Access 2002 als Frontend.
Oracle Datenbank Backend.
Ich muss des SQL string der Abfrage verändern da ich den Bericht über eine Com Schnittstelle aufrufe und die Abfrage aus mehreren Subqueries besteht.
Da kann ich keine allg. Where Klausel übergeben.
danke im vorraus
Martin
ich habe ein Problem mit einer Abfrage.
Ich habe einen Bericht der als Datenquelle eine Abfrage hat.
Diesen Abfrage grenze ich ein ..
"where p.zeitstempel between datum_von AND datum_bis"
Führe ich die Abfrage aus, fragt er nach den Parametern, ich gebe sie ein und erhalte das Ergebniss.
Führe ich den Bericht aus, fragt er mich ebenfalls nach den Parametern und hier geht es immernoch.
<Setzte ich nun per VBA die Parameter.
Set db = CurrentDb
Set query = db.QueryDefs(Me.RecordSource)
sql = query.sql
sql = Replace(sql, "datum_von", "'01.01.1900'")
Me.RecordSource = sql>
Dann bekomme ich eine Typenunverträglichkeit.
Also ändere ich die Abfrage mittel "Format"
<Where p.zeitstempel between Format(datum_von,'dd.mm.yyyy') AND Format(datum_bis,'dd.mm.yyyy')>
Dann steht in etwa sowas drin
..
.. Where p.zeitstempel between Format("01.01.1900",'dd.mm.yyyy') ..
Nur da bekomme ich das falsche Ergebniss.
Was stimmt da nicht ?
P.S.
ich nutze Access 2002 als Frontend.
Oracle Datenbank Backend.
Ich muss des SQL string der Abfrage verändern da ich den Bericht über eine Com Schnittstelle aufrufe und die Abfrage aus mehreren Subqueries besteht.
Da kann ich keine allg. Where Klausel übergeben.
danke im vorraus
Martin