![]() |
Übersetzungsfehler: TopGrid DB Grid / MS AccessDB
Hallöle!
Ich hab mir nen kleines Programm geschrieben :coder: um ein wenig in die Datenbankanwendungen reinzukommen! Ich hab in der ODBC - Umgebung ne SystemDNS auf die MS Access DB angelegt und in der Delphi BDE auch verknüpft usw. Das funtzt alles! Auf mein Formular hab ich dann noch ne TTable - und einen DataSource - Komponente geklatscht! Wenn ich jetzt zur Entwurfszeit den TableName und dann Active bei der TTable - Komponenten mache zeigt das TopGrid DB Grid die Daten an! Prima! Passt alles! :!: Jetzt wärend der Laufzeit geh ich das Grid durch und frage ab ob das Feld erst mal 0 ist!
Delphi-Quellcode:
In der Zeile "if Cell[2, 1] < DateToStr(Date) then begin" bringt der mir jetzt nen Fehler und zwar nen Übersetzungsfehler! :?:
with grdMain do begin
for i := Rows -1 downto 0 do begin if Cell[5, i] = IntToStr(0) then begin if Cell[2, 1] < DateToStr(Date) then begin slDaten.Add(Cell[3, i] + ' | ' + Cell[4, i]); DeleteRows(i, i); end else if StrToDate(Cell[2, i]) = Date then begin if Cell[3, i] <= Time then begin slDaten.Add(Cell[3, i] + ' | ' + Cell[4, i]); DeleteRows(i, i); end; end; end; end; Kann mir einer da helfen? Bin für andere Komponenten eher abgeneingt :wink: |
Re: Übersetzungsfehler: TopGrid DB Grid / MS AccessDB
Zum einen solltest Du den Inhalt von Cell[2, 1] eventuell auslasen und in einen String umwandeln. Meines Wissens arbeitet mit Variant und mir ist nicht klar ob man variant mit String vergleichen kann. Zum anderen ist mir nicht klar, was Du mit dem Vergleich bezwecken willst. Wenn Du zwei Datümer als Strings vergleichst, dann gilt z.B. folgendes:
'01.10.2003' < '02.10.1999' |
Re: Übersetzungsfehler: TopGrid DB Grid / MS AccessDB
ups ... ok!
Sollte natürlich so aussehen :wink:
Delphi-Quellcode:
So ich wandel jetzt den Variant in nen String und den in nen Date Format! ok! Aber trotzdem kommt immer noch der Übersetzungsfehler!
with grdMain do begin
for i := Rows -1 downto 0 do begin if Cell[5, i] = IntToStr(0) then begin if StrToDate(VarToStr(Cell[2, 1])) < Date then begin slDaten.Add(Cell[3, i] + ' | ' + Cell[4, i]); DeleteRows(i, i); end else if StrToDate(Cell[2, i]) = Date then begin if Cell[3, i] <= Time then begin slDaten.Add(Cell[3, i] + ' | ' + Cell[4, i]); DeleteRows(i, i); end; end; end; end; |
Re: Übersetzungsfehler: TopGrid DB Grid / MS AccessDB
Teile doch mal die Fehlermeldung mit!
|
Re: Übersetzungsfehler: TopGrid DB Grid / MS AccessDB
Delphi Fehlermeldung:
"Im Projekt Terminplaner.exe ist eine Exception der Klasse EDBEngineError aufgetreten. Meldung: 'Übersetzungsfehler'. Der Wert liegt nicht im gültigen Bereich." Die nächste Fehlermeldung: "grdMain: Übersetzungsfehler. Der Wert liegt ausserhalb des Wertebereichs." |
Re: Übersetzungsfehler: TopGrid DB Grid / MS AccessDB
Und was steht in Cell[2, 1]? Bist Du auch sicher das die 1 (Ziffer) kein l (kleiner Buchstabe) ist?
|
Re: Übersetzungsfehler: TopGrid DB Grid / MS AccessDB
Ja ich bin mir sicher :P, normalweisse is das teil aj in ner schleife und da sollte i drin stehen zu Testzwecken hab ich das Hardcoded reingemacht!
btw in der Cell[2, i] steht ein Datum im Format "tt.mm.jjjj" also kann ich das ohne Probs umwandeln wie schon geschrieben "StrToDate(VarToStr(Cell[2, i]))" |
Re: Übersetzungsfehler: TopGrid DB Grid / MS AccessDB
Dann gehe doch lieber durch die TTable. Ich bin mir nämlich gar nicht sicher, ob man aus dem DBGrid die Daten sinvoll herausholen kann! Und Rows kannst Du in einem DBGrid sowieso nicht löschen. Die Anzahl der Zeilen und Spalten ist durch die Datenmenge fest vorgegeben!
|
Re: Übersetzungsfehler: TopGrid DB Grid / MS AccessDB
hm ... werd das mal abchecken!
Aber wenn es ein DB - basierendes Grid ist, dann macht das Grid die Aktionen gleich in der Datenbank! Also Zeile löschen -> Datensatz löschen usw. |
Re: Übersetzungsfehler: TopGrid DB Grid / MS AccessDB
Ja wie mache ich das dann mit dem TTable? Wie kann ich da durchgehen wenn es mehr als nur ein Datensatz ist! Ich kann ja über die Property "IndexDefs" auf die einzelnen Felder zugreifen aber wie kann ich das sagen Datensatz1, Datensatz2, ..., ... ???
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 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