AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Grosses Problem mit Datum/Zeit in Access
Thema durchsuchen
Ansicht
Themen-Optionen

Grosses Problem mit Datum/Zeit in Access

Ein Thema von dragi · begonnen am 19. Dez 2004 · letzter Beitrag vom 19. Dez 2004
Antwort Antwort
Seite 1 von 2  1 2      
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#1

Grosses Problem mit Datum/Zeit in Access

  Alt 19. Dez 2004, 12:17
Hallo zusammen,

ich hab ein riesen Problem und komme einfach nicht weiter! Also von vorne:

Ich habe eine Access 2003 mdb Datenbank in der ich eine Spalte habe die sich "Datum" nennt und vom Typ Datum/Zeit ist. In Delphi benutze ich ADOConnection, ADODataset und die JetEngine 4.0 um darauf zu zu greifen. Bis jetzt war es auch nir ein Problem aber ich hatte bis Dato immer Text Felder in Access. Jetzt muss es aber ein Datum/Zeit Feld sein. In diesem Datum/Zeit Feld in Access steht jetzt z.B. :

28.12.2004 12:30

Wie kann ich jetzt ein select auf dieses Feld mit dem Datum und der Uhrzeit machen?

Code:
SELECT * From Tabelle where Datum = #28.12.2004#
funktioniert aber da hab ich ja die Uhrzeit noch nicht drin. Wenn ich jetzt

Code:
SELECT * From Tabelle where Datum = #28.12.2004 12:30#
mache dann sagt er mir das ADODataset dieses Punkten Schrägstriche eingefügt das Datum Amerikanisch geschrieben...alles geht solange ich nicht die Uhrzeit dahinter schreibe. Aber ich muss diese mit abfragen.

Kann mir jemand dabei helfen? Wäre echt Klasse...muss das bis Dienstag gelöst haben...

Vielen Dank

dragi
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#2

Re: Grosses Problem mit Datum/Zeit in Access

  Alt 19. Dez 2004, 12:24
Hallo dragi,
indem Du auf >= und <= abfragst
Code:
SELECT * From Tabelle where Datum >= #28.12.2004# and Datum <= #28.12.2004#
Versuch es mal so.

Bye
Claus
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Grosses Problem mit Datum/Zeit in Access

  Alt 19. Dez 2004, 12:27
Das funktioniert ja, aber so hab ich die Zeit in dem Feld nicht abgefragt. Es gibt mehrere Datensätze am 28.12.2204 aber mit einer anderen Uhrzeit dahinter. Deshalb muss ich die Uhrzeit ja mit abfragen. ALso irgendwie #28.12.2004 12:30# was aber so geschrieben nicht funktioniert

Ich hab das SELECT Statement nur etwas kürzer geschrieben, ich frage es so ab wie du. Wollte es für den Thread nur auf das wesentliche begrenzen, also wie man Datum Uhrzeit aus einem Feld abfragt...hätte ich vielleicht dazu schreiben sollen, sorry

Dragi
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

Re: Grosses Problem mit Datum/Zeit in Access

  Alt 19. Dez 2004, 12:30
Hi!

Weiß nicht, ob das so geht, aber wie wäre es mit einem TimeStamp?


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#5

Re: Grosses Problem mit Datum/Zeit in Access

  Alt 19. Dez 2004, 12:32
Hallo dragi,
und wenn Du anstatt von "#28.12.2004 12:30#" "#28.12.2004 12:30:00#" angibst.

bye
Claus
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Grosses Problem mit Datum/Zeit in Access

  Alt 19. Dez 2004, 12:44
Dann kommt die gleiche Meldung mit der gechlossenen Datenmenge. Ich hab das Gefühl er stört dich an dem leerzeichen zwischen den beiden...ich verzweifel gerade. Sitz schon seit 2 Tagen an dem Teil...Puhhh
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#7

Re: Grosses Problem mit Datum/Zeit in Access

  Alt 19. Dez 2004, 12:49
Hallo dragi,
so eine Abfrage generiert Access selber
SELECT * FROM Test
WHERE (((Test.Datum)=#12/28/2004 12:20:0#));



bye
Claus
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Grosses Problem mit Datum/Zeit in Access

  Alt 19. Dez 2004, 13:18
Das werd ich jetzt mal probieren. Danle und ich meld mich dann gleich nochmal und berichte ob es klappt!

Danke

Dragi
  Mit Zitat antworten Zitat
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Grosses Problem mit Datum/Zeit in Access

  Alt 19. Dez 2004, 13:42
So, da bin ich wieder. Es klappt trotzdem nicht. Ich habe nun folgenden testaufbau:

eine db1.mdb in der sich eine Tabelle1 befindet mit den Feldern ID (AutoWert), Datum(FDatum/Zeit) und Text (Text). Ein Datensatz ist angelegt : 1, 17.12.2004 08:30, Hallo

Auf meinem Formular ist ein Button, ein Edit1 , eine ADOConnection und ein ADODataset1.

folgenden Code dazu:

Code:
unit frm_STMain;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ADODB, Db, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    ADOQuery1: TADOQuery;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source= D:\Ausbildung\Projekte\Delphi\SQLTest\db1.mdb';
  ADOConnection1.Connected := true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 with Form1.ADODataset1 do
  begin
    Close;
    CommandText:= 'SELECT * FROM Tabelle1 WHERE (((Tabelle1.Datum) = #12/17/2004 08:30:0#))';
    Open;
  end;
  Edit1.Text := ADODataSet1.FieldByName('Text').AsString;
end;

end.
und bei Button1Click kommt folgende Exception (siehe Anhang)

Ich hab auch schon die Klammern weggelassen und auch nur das Tabelle1.Datum in Klammern gesetzt. Trotzdem kein Erfolg. Kann es mit dem Jet4.0 zusammen hängen?

Gruss

Dragi
Miniaturansicht angehängter Grafiken
exception1_903.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#10

Re: Grosses Problem mit Datum/Zeit in Access

  Alt 19. Dez 2004, 15:40
Hallo dragi
Also die Lösung steht hier, natürlich in der Delphi Praxis

Der Grund, warum es nicht funktioniert ist, daß man bei Verwendung von ADO das Datumsfeld als Double und im amerikanischen Dezimalformat als String übergeben muß.

Ich habe mir zur Demonstration aus dem obigen Beitrag 2 Funktionen mal ausgeliehen und daraus eine kleine Demo gemacht. Dann wird es für Dich einfacher es zu verstehen.

bye
Claus
Angehängte Dateien
Dateityp: zip demo_379.zip (419,2 KB, 17x aufgerufen)
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz