![]() |
Datum Uhrzeit im Grid
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Ich habe eine Interbase Datenbank in der Start und Endzeiten erfasst werden. Start und Endzeit wird ganz simple per OnClick festgehalten Es gibt in der DB die Felder Start und Ende = jeweils Timestamp und zusätzlich Startzeit und Endzeit als Timefield und Datum als Datefield, wenn ich nun die Daten abspeichere werden alle Felder in der DB ordnungsgemäß gefüllt, die Werte stimmen alle in der DB! Im Grid (FMX) allerdings werden in allen Timefield Feldern, in allen Zeilen die Zeiten beim ButtonClick immer wieder aktualisiert, wie gesagt in der DB steht es richtig! ich habe schon alles mögliche probiert, was kann das sein ? |
AW: Datum Uhrzeit im Grid
Was machst du denn da genau in dem OnClick? Zeig mal Code.
|
AW: Datum Uhrzeit im Grid
Hallo also hab mich doof ausgedrückt
die Zeiten (TTime Felder) im Grid werden beim click auf das Grid oder beim einfügen eines Datensatzes aktualisiert soll heißen mit der aktuellen Uhrzeit gefüllt. Es gibt im ganzen Quellcode (wenig Code überhaupt) nichts was das auslösen könnte da in der Datenbank selber die echten werte stehen kann es ja nur am Grid, an der Bindung oder an den Einstellungen der FDConnection liegen, ich finde aber nix. Komischerweise werden die Timestamp Felder nicht aktualisiert. Der Code zum Einfügen einer Zeit in die Liste sieht so aus: procedure TfraMain.btnArbeitClick(Sender: TObject); var vGuid : TGuid; vZeit : TTime; begin with dmMain do begin ZeitenListe.Close; if vArbeitLauft = False then begin vArbeitLauft := true; vStartArbeit := Now; btnArbeit.Text := 'STOP'; lblArbeitStart.text := DateTimeToStr(vStartArbeit); lblArbeitEnde.text := '-'; CreateGuid(vGuid); vActiveGuid := vGuid; //Insert neuer Datensatz! ZeitenEdit.Open; ZeitenEdit.Insert; ZeitenEditId.Value := GuidToString(vGuid); ZeitenEditIDMITARBEITER.AsString := vMitarbeiterId; ZeitenEditBUCHUNGSART.AsString := 'AZ'; ZeitenEditDatum.asDateTime := DateOf( vStartArbeit ); ZeitenEditANFANGZEIT.AsDateTime := vStartArbeit; ZeitenEditJAHR.Value := YearOf(vStartArbeit); if MonthOf(vStartArbeit) < 10 then ZeitenEditMONAT.Value := '0' + IntToStr(MonthOf(vStartArbeit)) else ZeitenEditMONAT.Value := IntToStr(MonthOf(vStartArbeit)); if DayOf(vStartArbeit) < 10 then ZeitenEditTag.Value := '0' + IntToStr(DayOf(vStartArbeit)) else ZeitenEditTAG.Value := IntToStr(DayOf(vStartArbeit)); ZeitenEditBEMERKUNG.AsString := 'Testbemerkung'; ZeitenEditSTART.AsDateTime := TimeOf( vStartArbeit ); ZeitenEditGesendet.Value := False; ZeitenEdit.Post; ZeitenEdit.Close; end else begin vArbeitLauft := false; vEndeArbeit := Now; btnArbeit.Text := 'START'; lblArbeitEnde.text := DateTimeToStr(vEndeArbeit); vZeit := vEndeArbeit - vStartArbeit; Label1.Text := TimeToStr(vZeit); //Update auf bestehenden Datensatz! ZeitenEdit.Open; ZeitenEdit.Filtered := false; ZeitenEdit.Filter := 'Id = ' + QuotedStr( GUIDToString(vActiveGuid)); ZeitenEdit.Filtered := true; ZeitenEdit.Edit; ZeitenEditENDEZEIT.AsDateTime := vEndeArbeit; ZeitenEditENDE.Value := TimeOf( vEndeArbeit ); ZeitenEdit.Post; ZeitenEdit.Close; ZeitenEdit.Filtered := false; ZeitenEdit.Filter := ''; //ZeitenUpdate.Close; //ZeitenUpdate.Params[0].Value := vEndeArbeit; //ZeitenUpdate.Params[1].Value := QuotedStr( GUIDToString(vActiveGuid)); //ZeitenUpdate.ExecSQL; end; ZeitenListe.Open; end; end; Es gibt sonst nix mehr an Code außer Application.Terminate |
AW: Datum Uhrzeit im Grid
In dem Code finde ich jetzt auch nichts, was das auslösen könnte. Das wird auch noch dadurch erschwert, dass dein Code ohne Einrückungen und mit dem With sehr schlecht lesbar ist.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz