![]() |
Datenbank: Access • Version: 2000 • Zugriff über: ADO Connection (ODBC)
Bereich eines Tabellenfeldes
Hallo alle zusammen
Ich habe eine Datebank mit etwa 10 Millionen Datensätzen, für die ich eine Auswertung Basteln soll. Jetzt würde ich gerne einen Bereich festlegen mit einer Editbox, wo der Benutzer einen Startwert ('01.01.2006') eingibt und einen Endwert ('01.06.2006'). Das Bereich Zwischendrin soll, bsw. in einem DbGrid, und danach in einem Diagramm erscheinen Nun mein Problem. Ich hab absolut keine Ahnung wie ich diesen Bereich realisieren kann ? :oops: Naja wie man wohl merkt bin ich noch Anfänger :roll: Aber Ich würde mich freuen über einen Tip von euch Grüße Starworld |
Re: Bereich eines Tabellenfeldes
Also,
du kannst über einen Datetimepicker den Benutzer das Start- & Enddatum setzen lassen. Anschließend kannst du über das ADODataset und einen SQL-Befehl die Datenmenge aus deiner Datenbank rausfiltern und in einem DBGrid anzeigen lassen. Danach kannst du dann mit einem Chart deine Daten graphisch auswerten. |
Re: Bereich eines Tabellenfeldes
Danke für die schnelle Antwort
Okay der erste Teil scheint ganz einfach zu sein, nur weis ich noch nicht Richtig wie und wo ich das mit dem SQL Befehl mache ? Kannst du mir da weiterhelfen ? :stupid: LG Starworld |
Re: Bereich eines Tabellenfeldes
Ich hoffe mal, in der Tabelle gibts ein Feld, in dem das Datum drinsteht?!
dann musst du das eingegebene Datum in das Format, in dem es in der Tabelle steht, umrechnen und einen entsprechenden Vergleich ausführen, z.B. so
SQL-Code:
date1 und date2 solltest du dann in deiner zugriffskomponente definieren können, wenn ich das richtig in Erinnerung habe, ich arbeite meistens mit direkten SQL-Queries unter PHP.
SELECT * FROM data WHERE date > :date1 AND date < :date2
|
Re: Bereich eines Tabellenfeldes
Ja der SQL Befehl war schon klar :cyclops:
Ich weis nur nicht wie ich den in DELPHI einbringe und wo und mit welchen Mitteln :oops: Bin ja noch ein Anfänger in Sachen Delphi, und VBA kann DELPHI nicht es Wasser reichen :lol: |
Re: Bereich eines Tabellenfeldes
|
Re: Bereich eines Tabellenfeldes
So ich hab es mal nach vielem Probieren hinbekommen
SELECT Zeit FROM Tabelle WHERE Zeit > #01-01-2006# AND Zeit < #02-01-2006# Nur wie sag ich jetzt dem Teil, das die Werte in den 2 DateTimePicker stehen ? :mrgreen: |
Re: Bereich eines Tabellenfeldes
Verwende Parameter.
|
Re: Bereich eines Tabellenfeldes
Also jetzt steh ich wieder aufm Schlauch
Ich hab alles hinbekommen, nur weis ich jetzt nicht genau, wie ich mit dem DateTimePicker oder ner Pubs einfachen Edit Box einen Wert in die SQL Abfrage bekomme :gruebel: Mit Parametern schön und gut aber wie ? Ich bin zu Doof dafür, oder einfach nur Urlaubsreif :freak: |
Re: Bereich eines Tabellenfeldes
SQL-Code:
SELECT Zeit FROM Tabelle WHERE Zeit between :zeit1 and :zeit2;
Delphi-Quellcode:
AdoQuery.Parameter.ParamByName('zei1').Value := Trunc(Picker1.Date);
AdoQuery.Parameter.ParamByName('zei2').Value := Trunc(Picker2.Date); AdoQuery.Open; |
Re: Bereich eines Tabellenfeldes
Lol :P
Naja jetzt bekomm ich nur noch die Meldung >> Optionales Feature wurde nicht Implementiert << Hää ? Aber ich Danke dir 1000x für deine Bemühungen MKINZLER :zwinker: |
Re: Bereich eines Tabellenfeldes
Zeig mal deinen Code.
|
Re: Bereich eines Tabellenfeldes
Auf die Datenbank greife ich über eine System DSN zu. Die Datenbank baut auf Access 2003 auf
Hab deinen Code sogut wie übernommen, damit ich mal Überhaupt verstehe was da vor sich geht :lol: AdoQuery1.Parameters.ParamByName('zeit1').Value := Trunc(Start.Date); AdoQuery1.Parameters.ParamByName('zeit2').Value := Trunc(Ende.Date); adoquery1.Open; Im SQL Befel steht folgendes: SELECT Protokoll_Zeit, Behälternummer FROM Behälterinfo_B06_NL WHERE Protokoll_Zeit > :zeit1 AND Protokoll_Zeit < :zeit2 |
Re: Bereich eines Tabellenfeldes
Versuch mal
Delphi-Quellcode:
AdoQuery1.Parameters.ParamByName('zeit1').asDate := Trunc(Start.Date);
|
Re: Bereich eines Tabellenfeldes
Nö leider nicht
Bringt mir nun Undeclared Identifier 'DATE' :wall: |
Re: Bereich eines Tabellenfeldes
Jippy Problem gelöst
Es lag an den Berechtigungen Dein erster Quellcode ging erst als ich zuhause den Compiler benutzt habe. Wahrscheinlich ging es in der Firma nicht, da ich selbst keine Adminrechte über den Rechner und BS besitze und daher einige Registry Einträge von Delphi gefehlt haben :angel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:51 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