Autor Beitrag
ACJ
Hält's aus hier
Beiträge: 5

Win 2000/Xp
Delphi 6 Enterprise
BeitragVerfasst: Mi 03.09.03 20:43 
Hallo zusammen,

hab da ein Problem mit Datentypen in Access. Ich habe in Access 2 Felder vom Typ DateTime deklariert. Des weiteren habe ich in Delphi einen Select erstellt der mir ein DBgrid füllt. Suchkriterium hierbei ist Datum1 BETWEEN Datum2.

Ich übergebe an Access QuotedStr(datum1) BETWEEN QuotedStr(Datum2).
Acces erkennt diese schreibweise('26.08.2003') nicht. Da kommt jedesmal die Fehlermeldung Datentypen in Kriterienausdruck unverträglich.
Access erkennt nur diese schreibweise(#8/26/2003#). Gibt es da irgendéine einstellung in Access oder in Delphi(statt QuotedStr), oder muss ich da den String umbauen?

Danke

PS: Bin noch nicht so richtig fit in Access+ Delphi.

Gruß

AS

_________________
Muss mir noch was überlegen :-)
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Do 04.09.03 18:09 
arbeite mit Parametern, dort funktioniert die Umsetzung, egal welche DB du nimmst. Schreibe statt <datum> in der SQL Anweisung <:datum>, dann hast du einen Parameter den du typisieren und setzen kannst. (OI: Parameters)
grez
msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
ACJ Threadstarter
Hält's aus hier
Beiträge: 5

Win 2000/Xp
Delphi 6 Enterprise
BeitragVerfasst: Do 04.09.03 19:53 
Hi,

danke erstmal für deine Antwort. Ich weiss nicht genau was Du meinst. Hättest du ein kleines Beispiel.

Danke

Gruß

AS

_________________
Muss mir noch was überlegen :-)
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Do 04.09.03 20:05 
Auszug aus einer Bastelstunde (MS-SQLServer, funktioniert aber auch inAccess, ggf. Parameter in SQL noch definieren, siehe Access-Hilfe):

remlist ist eine: ado.Query und beinhaltet in Eigenschaft SQL :
ausblenden Quelltext
1:
select * from dbo.reminder where owner=:MyName and reminderdate = :MyDate					

im Code:
ausblenden Delphi-Quelltext
1:
2:
  remList.Parameters.ParamByName('MyName').Value:= UpperCase(Trim(username));
  remList.Parameters.ParamByName('MyDate').Value:= formatDateTime('dd.mm.yyyy',date);


grez
msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
ACJ Threadstarter
Hält's aus hier
Beiträge: 5

Win 2000/Xp
Delphi 6 Enterprise
BeitragVerfasst: Fr 05.09.03 10:57 
Hi,

habs immer noch nicht ganz kapiert. Bin erst am Anfang. Hier erstmal mein Code.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
ADOQryFzgUebersicht.Close;
ADOQryFzgUebersicht.SQL.Clear;

ADOQryFzgUebersicht.SQL.Add('SELECT tblZUSTAND.AktZeichen1, tblZUSTAND.AktZeichen2, tblZUSTAND.AktZeichen3,');
ADOQryFzgUebersicht.SQL.Add('       AmtKZ, Art, Hersteller, Typ, FinNr, Antriebsart, Zylinderzahl, Hubraum, LeistungKW, LeistungPS, Getriebeart,');
  ADOQryFzgUebersicht.SQL.Add('       NutzAufliegelastKG, Laderaum, Stehplaetze, Sitzplaetze, MasseUeberAllesMM, LeergewichtKG, ZulGesGwichtKG, AchsenAngetrieben,');
  ADOQryFzgUebersicht.SQL.Add('       RadstandMM, Aufbauart, LackFarbe, tblZUSTAND.Tueren, FzgBriefNr, ZulassungBauj, AnzBesitzer, NaechsteHU, NaechsteAU, NaechsteSP, KMabgelesen,');
  ADOQryFzgUebersicht.SQL.Add('       KMgeschaetzt, ReifenAnz, ReifenzustandVL, ReifenzustandHL, ReifenzustandVR, ReifenzustandHR, ReifenzustandRES, AnzSchluessel, Sonderaustattung,');
  ADOQryFzgUebersicht.SQL.Add('       Fahrzeugzustand1, Fahrzeugzustand2, Fahrzeugzustand3, Fahrzeugzustand4, Fahrzeugzustand5, Fahrzeugzustand6,');
  ADOQryFzgUebersicht.SQL.Add('       Fahrzeugzustand7, Fahrzeugzustand8, Fahrzeugzustand9, SummeDerAbzuege, BesichtigungsTag, BesichtigungsOrt, RueckgabeDat,');
  ADOQryFzgUebersicht.SQL.Add('       AnlageBlatt, AnlageFoto,Lack, Dach, Schiebedach, Scheiben, tblBEFUND.Tueren, Motorhaube, DeckelKlappe, Kotfluegel, Stossfaenger, Schweller, Bodengruppe,');
  ADOQryFzgUebersicht.SQL.Add('       Himmel, Sitze, Verkleidung, Bodenbelaege, Beleuchtung, Batterie, Anlasser, Lueftung, Armaturen, Kupplung,');
  ADOQryFzgUebersicht.SQL.Add('       Getriebe, Antriebswellen, Kardanwelle, Motorleistung, Oeldichtheit, Oelverbrauch, Zylinderkopf, KeilZahnriemen,');
  ADOQryFzgUebersicht.SQL.Add('       Zuendanlage, Kraftstoffanlage,                  Vergaser, Einspritzanlage, Kuehlsystem, Auspuffanlage, Vorderachse, Hinterachse,');
  ADOQryFzgUebersicht.SQL.Add('       Aufhaengung, FedernStossdaempfer, Fuehrungsgelenke, Lenkgetriebe, Lenkgestaenge, SpurSturzFehler, Betriebsbremse,');
  ADOQryFzgUebersicht.SQL.Add('       Handbremse, Bremsleitungen, Sonstiges1, Sonstiges2, Sonstiges3, Sonstiges4, Sonstiges5, Sonstiges6, Besonderes,letzterService');
  ADOQryFzgUebersicht.SQL.Add('  FROM tblZUSTAND, tblBEFUND');
  ADOQryFzgUebersicht.SQL.Add(' WHERE tblZUSTAND.AktZeichen1 = tblBEFUND.AktZeichen1');
  ADOQryFzgUebersicht.SQL.Add('   AND tblZUSTAND.AktZeichen2 = tblBEFUND.AktZeichen2');
  ADOQryFzgUebersicht.SQL.Add('   AND tblZUSTAND.AktZeichen3 = tblBEFUND.AktZeichen3');

Und hier übergebe ich meinem String das Kriterium.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
  if (EditDatumVon.Text <> ''and (EditDatumBis.Text = ''then
  begin
    ADOQryFzgUebersicht.SQL.Add(' AND BesichtigungsTag =' + '#' +    EditDatumVon.Text + '#');
  end;

Gruß

as

_________________
Muss mir noch was überlegen :-)
hawe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Do 09.10.03 15:49 
spät, aber vllt. hilfts noch:
ich hatte das Problem auch mal. Versuchs mal mit
qryDay.SQL.Add('SET DATEFORMAT mdy');
und schau unter dem Befehl nach.

Grüße
hawe