Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Inhalt eine Datenbank nach Datum sortieren... . (https://www.delphipraxis.net/12804-inhalt-eine-datenbank-nach-datum-sortieren.html)

LuckyStrike4life 4. Dez 2003 14:16


Inhalt eine Datenbank nach Datum sortieren... .
 
Morgen,

Ein DBGrid auf nem Form muss sich ordnen. D.h. die Einträge müssen sich nach dem Datum richten.
Das Datum steht in der ersten Spalte 'Datum'.

Das Datum wird immer in der Form TT.MM.JJJJ eingetragen, geht über nen DateTimePicker, ist also genormt - so das keine unterschiedlichen Formate eingetagen werden.

Jetzt ist es wichtig, dass in der Datenbank die Datensätze mit dem "ältestem" Datum am Anfang stehen.

Leider ist das Datum in keiner Weise von dem Datum der Einstellung des jeweiligen Datensatzes abhängig, daher hilft mir die normale Sortierung nicht.
Es muss nach dem vom User angegebenem Datum sortiert werden.

Es handelt sich um eine DBase Datenbank,
vermutlich komm ich um eine SQL Anweisung nicht herum - allerdings fehlen mir da die Erfahrungen.

Ideen?

Robert_G 4. Dez 2003 14:21

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Ich würde sagen versuch's mal mit:
SQL-Code:
   SELECT  *
   FROM    [deine Tabelle]
   ORDER BY [DatumsFeld]

LuckyStrike4life 4. Dez 2003 14:51

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Zitat:

Zitat von GeorgeWNewbie
Ich würde sagen versuch's mal mit:
SQL-Code:
   SELECT  *
   FROM    [deine Tabelle]
   ORDER BY [DatumsFeld]

Danke,
ich habs jetzt mal so versucht:
Delphi-Quellcode:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from "t:eDienstreisebuch\main.dbf" ORDER BY "DATUM"');
Query1.Active:=True;
Das Programm wird auch ganz normal kompiliert, aber wenn ich dann auf den Button klick, der die Funktion ausführen soll, dann bricht das Programm mit ner Fehlermeldung ab.

Im Projekt soundso.exe ist eine Exception der Klasse EDBEngineError aufgetreten. Meldung: 'Ungültiges Schlüsselwort
Symbol-String: "DATUM"
Zeilennummer: 1'. Prozeß wurde angehalten. Mit Einzelne ...

Robert_G 4. Dez 2003 15:05

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Du kannst als Tabellenname nicht die physische Datei (XXX.dbf) angeben.
Schau dir mal dir OH zu ADO an.
Wenn du bereits Daten im Grid hast, dann steht die Connection zur DB anscheinend.

Du solltest als Tabellenname den Namen der Tabelle in der DB benutzen.
(Die hast du wahrscheinlich auch schon der Datasource des Grids gegeben)

z.B.:
SQL-Code:
   SELECT  *
   FROM    DienstReiseBuch
   ORDER BY Datum
Auf jeden Fall noch etwas in der OH stöbern. :cyclops:

LuckyStrike4life 4. Dez 2003 15:18

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Zitat:

Zitat von GeorgeWNewbie
Du kannst als Tabellenname nicht die physische Datei (XXX.dbf) angeben.
Schau dir mal dir OH zu ADO an.
Wenn du bereits Daten im Grid hast, dann steht die Connection zur DB anscheinend.

Du solltest als Tabellenname den Namen der Tabelle in der DB benutzen.
(Die hast du wahrscheinlich auch schon der Datasource des Grids gegeben)

z.B.:
SQL-Code:
   SELECT  *
   FROM    DienstReiseBuch
   ORDER BY Datum
Auf jeden Fall noch etwas in der OH stöbern. :cyclops:

Ja,
die Verbindung zur Datenbank besteht. Das Programm ist eigentlich auch schon fertig, dass sind nur noch Änderungen auf Wunsch der User hin.

Auch im Datasource des Grids wird auf den Datasource der Tabelle hingewiesen.
Aber wenn ich jetzt einfach den Namen, an Stelle von dem ganzem Pfad, in den Code einbinde, dann läßt es sich nicht mal kompilieren.
Ich hab auch schon so eine SQL Anweisung zum löschen der Datenbank auf dem Form, da musste ich auch den ganzen Pfad angeben:
Delphi-Quellcode:
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
   if MessageDlg('Den kompletten Inhalt der Datenbank löschen?', mtWarning, [mbYes, mbNo], 0) = mrYes then
  begin
     Query1.Close;
     Query1.SQL.Clear;
     Query1.SQL.add('DELETE FROM "t:eDienstreisebuch\mainDB.dbf"');
     Query1.ExecSQL;
     mainDBtabelle.refresh;
  end;
end;
Das Teil geht. Komisch ... .

Edit:
Übrigens nutze ich keine ADO Komponenten, sondern nur DB Komponenten. Ist das dafür relevant?

Robert_G 4. Dez 2003 15:51

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Da du ihm die Daten als String übergibst wird in jedem Fall kompilieren - selbst wenn du 'Hallo' reinschreibst.

Ich habe noch nie etwas wie "t:eDienstreisebuch\mainDB.dbf" als Tabelle in einem SQL-Statement gesehen. :wiejetzt:
Mag in DBase aber vieleicht durchgehen - keine Ahnung. :gruebel:

Versuch's mal ohne " vor und nach DATUM - vielleicht funzt es ja dann.

LuckyStrike4life 4. Dez 2003 16:12

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Wenn ich es so schreibe:
Delphi-Quellcode:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from "t:eDienstreisebuch\mainDB.dbf" ORDER BY DATUM');
Query1.Active:=True;
Dann gibts auch keine Fehlermeldung mehr, wenn ich auf den Button Click, aber leider tritt der Erfolg nicht ein.
D.h. die Daten werden leider nicht geordnet.

Robert_G 4. Dez 2003 16:21

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Sorry hier verlässt es mich :angle:

Ich benutze weder ADO, BDE, ODBC...

Das Package, dass ich nutze enkapselt direkt die API meiner DB (Oracle), deshalb kann ich dir bei bestem Willen nicht mit solchen BDE-Basteleien helfen.

Außerdem habe ich auch noch einen Job...


Waidmanns heil :zwinker:

LuckyStrike4life 4. Dez 2003 16:26

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Danke für deine Hilfe,

auf Oracle muss hier nächstes Jahr auch alles umgestellt werden, ich freu mich nicht gerade drauf.

Nochmals, mein Dank für deine Zeit.
Vielleicht findet sich wer, der mehr davon versteht als wir beide :? .

Robert_G 4. Dez 2003 23:57

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Du wirst deine Meinung schon noch ändern.
Spätestens wenn du dann mal über diese Website gestolpert bist:
allround-automations
Ich benutze alle 3 Produkte und DOA ist so ziemlich die genialste Art von Delphi auf eine DB zu kommen.
:lol:

merlin17 5. Dez 2003 00:36

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
hi,

ist zwar etwas offTopic: < :dp: >, sorry

<<DOA ist so ziemlich die genialste Art von Delphi auf eine DB zu kommen. >>
schon die neue oder noch 3.4 ?? habe den umstieg noch nicht gewagt...


:-) thomas

r_kerber 5. Dez 2003 07:00

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Hallo LuckyStrike4life,

Zitat:

Zitat von LuckyStrike4life
Dann gibts auch keine Fehlermeldung mehr, wenn ich auf den Button Click, aber leider tritt der Erfolg nicht ein.
D.h. die Daten werden leider nicht geordnet.

Vielleicht kannst Du ja mal beschreiben, wie bei Dir die einezelnen Komponenten (TDatabase, TQuery, TDatasource, TDBGrid) miteinander verknüpft sind.
Zitat:

Zitat von GeorgeWNewbie
Ich habe noch nie etwas wie "t:eDienstreisebuch\mainDB.dbf" als Tabelle in einem SQL-Statement gesehen.

So etwas kann man bei dBase zwar machen, ist aber absolut unsinnig. Bei vernünftiger Verwendung der db-Komponenten genügt die Angabe von mainDB!

LuckyStrike4life 5. Dez 2003 11:10

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Zitat:

Zitat von r_kerber
Hallo LuckyStrike4life,

Zitat:

Zitat von LuckyStrike4life
Dann gibts auch keine Fehlermeldung mehr, wenn ich auf den Button Click, aber leider tritt der Erfolg nicht ein.
D.h. die Daten werden leider nicht geordnet.

Vielleicht kannst Du ja mal beschreiben, wie bei Dir die einezelnen Komponenten (TDatabase, TQuery, TDatasource, TDBGrid) miteinander verknüpft sind.
Zitat:

Zitat von GeorgeWNewbie
Ich habe noch nie etwas wie "t:eDienstreisebuch\mainDB.dbf" als Tabelle in einem SQL-Statement gesehen.

So etwas kann man bei dBase zwar machen, ist aber absolut unsinnig. Bei vernünftiger Verwendung der db-Komponenten genügt die Angabe von mainDB!

Ich würde gerne nicht den ganzen Pfad angeben, dass macht mir die Arbeit schwer. Ihr müsst wissen, alle Datenbanken des Programmes liegen auf nem Server. Über das Laufwerk 't:' zu erreichen. Die Anwendung liegt bei allen Usern als 'exe' aufm Rechner.
Leider gibt es zwei Standorte des Unternehmens, im zweiten heißt das Serverlaufwerk 'g:', also muss ich dafür jeden Verweis wieder umschreiben.
Wenn ich aber nur 'mainDB' als Angabe der Datenbank schreibe, gibts nur Fehlermeldungen das die Datenbank(en) unter dem Ordner in dem das Programm liegt, nicht gefunden werden konnte.

Die Verknüpfung der relevanten Komponenten:
Es gibt eine TTable Komponente, die verweißt auf die MainDB.DBF Datenbank. Ein TDataSource verweißt mit der Eigenschaft 'DataSet' auf die TTable. Der Query ist auf den Datasource der TTable ausgerichtet. Der TDBGrid greift auch auf den benannten TDataSource zu.

Ich hoffe es ist verständlich, wenn nicht - dann einfach fragen.

r_kerber 5. Dez 2003 11:27

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Hallo LuckyStrike4life,

Zitat:

Zitat von LuckyStrike4life
Es gibt eine TTable Komponente, die verweißt auf die MainDB.DBF Datenbank. Ein TDataSource verweißt mit der Eigenschaft 'DataSet' auf die TTable. Der Query ist auf den Datasource der TTable ausgerichtet. Der TDBGrid greift auch auf den benannten TDataSource zu.

Dann kann das auch nicht funktionieren. Du sortierst die Query und die liegt hinter der Datasource. Die Datasource bleibt somit unsortiert!
Benutze doch für die Verbindung zur Datenbank eine TDatabase und richte rechnerspezifisch BDE-Aliase ein. das kann schon bei der Installation automatisch gemacht werden. Dann kannst Du die TTable rausschmeißen und dafür die TQuery nutzen
Wenn Du Deine Struktur jedoch beibehalten willst, dann mußt Du hinter Deine Query noch eine Datasource legen un an diese das DBGrid anbinden.

LuckyStrike4life 5. Dez 2003 11:54

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Thx r-kerber,
leider würde es nicht so gut sein, wenn ich die ganze Struktur verändere, denn das Programm läuft schon auf knapp 90 Rechnern. Es sind nur noch die Änderungen wegen den Wünschen der User.

Nun hab ich mal das versucht, was du mir empfohlen hast.
Ich hab n neuen Query angelegt (querysort), dann ein Datasource (sortDatasource) und den Grid des Forms auf den Sortdatasource gelegt. Der Query steht in der Eigenschaft DataSource: nun auf sortDatasource. In der Eigenschaft DatabaseName: hab ich nichts eingetragen.

Den Code hab ich natürlich auch umgeschrieben:

Delphi-Quellcode:
Querysort.Close;
Querysort.SQL.Clear;
Querysort.SQL.Add('select DATUM from "t:eDienstreisebuch\mainDB.dbf" ORDER BY DATUM');
Querysort.Active:=True;
Leider fehlt da wohl noch etwas... . Es wird, sobald ich auf den Button klicke der die Funktion beinhaltet, weiterhin nichts im Grid angezeigt... .

r_kerber 5. Dez 2003 12:16

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Die SortDatasource muß auf Query, während query weiterhin auf die erste datasource geht!

LuckyStrike4life 5. Dez 2003 12:29

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Zitat:

Zitat von r_kerber
Die SortDatasource muß auf Query, während query weiterhin auf die erste datasource geht!

Thx euch allen!!!

jetzt sortiert er und gibt es im Grid aus! Juhuu!

Nur leider schaut Delphi nur nach den ersten zwei Zahlen, sprich TT.MM.JJJJ und nur nach TT wird sortiert, was nicht so gut ist, denn so ist die Sortierung noch nicht richtig.

Aber ich bin jetzt schon ein risiges Stück weiter, nochmals DANKE!!
Wer noch Ideen hat, wie ich das Datum als ganzes ansehen lassen kann und danach sortiert wird, der solls nur sagen.

r_kerber 5. Dez 2003 12:35

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Welchen Typ hat das feld in dem das Datum steht?

LuckyStrike4life 5. Dez 2003 12:38

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Zitat:

Zitat von r_kerber
Welchen Typ hat das feld in dem das Datum steht?

C - Zeichen (dBase meint damit 'Zeichen aller Art') das kann ich aber ändern. Was wäre gut?

r_kerber 5. Dez 2003 15:39

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Dann ist natürlich klar, warum nur nach der Tageszahl sortiert wird. Es wird ganz "normal" alphanumerisch sortiert. Besser wäre eine Datumsformat für diese Spalte. Aber versuche es mal so:
SQL-Code:
select *, CAST(DATUM AS Date) AS SortDate
FROM "t:eDienstreisebuch\main.dbf"
ORDER BY SortDate
Vielleicht funktioniert's.

LuckyStrike4life 8. Dez 2003 11:18

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Danke,

die Lösung war dann doch leichter.

Ich hab die DB bearbeitet und dann mal das Datum Feld auf DATUM gesetzt. Jetzt sortiert er richtig! Gott sei DANK!

So wie euch allen auch, sehr netter Support hier.

LuckyStrike4life 9. Dez 2003 10:00

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Morgen,

eigentlich war dieser Thread fertig. Allerdings wollte ich ihn dann doch noch mal nutzen, denn nun muss ich nicht nur die Tabelle geordnet ausgeben (im Grid), sondern die Tabelle muss auch tatsächlich neu sortiert werden.
Fragt nicht, ich habs mir nicht ausgedacht :? .

Der funktionierende Code, um die Tabelle geordnet auszugeben im Grid, sieht so aus:
Delphi-Quellcode:
Querysort.Close;
Querysort.SQL.Clear;
Querysort.SQL.Add('select * from "t:eDienstreisebuch\mainDB.dbf" ORDER BY DATUM');
Querysort.Active:=True;
Es müsste mit SQL doch auch möglich sein, diese dBase Datenbank richtig zu sortieren. ´Zumindest hätte ich n großes Problem wenns nicht geht.

r_kerber 9. Dez 2003 10:39

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
In der Tabelle stehen die einzelnen Datensätze so drin, wie sie eingetragen werden. Wozu soll das Sortieren der Tabelle gut sein? Und bei "echten" SQL-Datenbanken ist es noch unübersichtlicher, da hier der Platz von gelöschten Datensätzen wieder neu genutzt genutzt wird. Die einzige Chance, die Du IMHO hast ist das Anlegen einer neuen Tabelle, Löschen/Umbenennen der alten und anschließendes Umbenennen der neuen Tabelle.

woki 9. Dez 2003 10:52

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Hi,


Zitat:

Zitat von LuckyStrike4life
Morgen,

eigentlich war dieser Thread fertig. Allerdings wollte ich ihn dann doch noch mal nutzen, denn nun muss ich nicht nur die Tabelle geordnet ausgeben (im Grid), sondern die Tabelle muss auch tatsächlich neu sortiert werden.
Fragt nicht, ich habs mir nicht ausgedacht :? .

Der funktionierende Code, um die Tabelle geordnet auszugeben im Grid, sieht so aus:
Delphi-Quellcode:
Querysort.Close;
Querysort.SQL.Clear;
Querysort.SQL.Add('select * from "t:eDienstreisebuch\mainDB.dbf" ORDER BY DATUM');
Querysort.Active:=True;
Es müsste mit SQL doch auch möglich sein, diese dBase Datenbank richtig zu sortieren. ´Zumindest hätte ich n großes Problem wenns nicht geht.

Nein, es geht nicht,

aber wer um Himmels willen will das

und warum???? Und warum hast Du dann ein Problem, wo doch diese Forderung sinnlos ist, und SQL-Datenbanken deshalb so nicht gebaut sind, seit jeher.

Also mal kurze Erläuterung: SQL - Datenbanken arbeiten per Definition mengenorientiert, die Elemente dieser Menge, die in Tabellen aufbewahrt werden, haben keine Sortierung. Etwas was keine Sortierung hat, kann man auch nicht sortieren, mal etwas locker formuliert.
Eine Sortierung entsteht erst durch die Abfrage (order by). Keine SQL-Datenbank garantiert irgendeine Sortierung wenn man bei der Abfrage keine vorgibt. Desktopdatenbanken sind jetzt rein zufällig häufig so implementiert, daß die Datensätze eine Reihenfolge haben, aber das ist keine Fähigkeit von SQL, und kann daher auch nicht über SQL genutzt werden.

Überhaupt sollte man Dinge, die nur rein zufällig funktionieren, nicht verwenden, weil bei der nächsten Datenbank, ja vielleicht sogar der nächsten Version einer Datenbank gehen sie plötzlich nicht mehr.

Grüsse
Woki

LuckyStrike4life 9. Dez 2003 13:12

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Warum:
Wenn mir wer von 'oben' sagt: 'Lauf!'
Dann frag ich nicht erst wie schnell, sondern laufe.

Leider kann man sich heute seinen Arbeitsplatz nicht einfach auswählen, etwas unterordnen ist da angesagt.
Aber wenn es einfach nicht geht, dann gehts nicht.
Danke für die Information.

woki 9. Dez 2003 13:41

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Zitat:

Zitat von LuckyStrike4life
Warum:
Wenn mir wer von 'oben' sagt: 'Lauf!'
Dann frag ich nicht erst wie schnell, sondern laufe.

Na ja, aber vielleicht wenigstens wohin... :?
Zitat:

Zitat von LuckyStrike4life

Leider kann man sich heute seinen Arbeitsplatz nicht einfach auswählen, etwas unterordnen ist da angesagt.
Aber wenn es einfach nicht geht, dann gehts nicht.
Danke für die Information.

Wenn der Weg, der einem gewiesen wird, direkt vor die Wand führt, wäre es zumindest gut das Ziel zu kennen, vorsichtig erläutert versteht das hoffentlich sogar Dein chef, nur dann kann man sich nach einem anderen Weg umschauen, oder können wir Dir helfen einen anderen Weg zu finden.

Grüsse
Woki

Robert_G 9. Dez 2003 13:52

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
LuckyStrike4life, nicht gleich aufgeben! :zwinker:
Jeden Schritt als einzelnes Statement absetzen.


SQL-Code:
--1)
 CREATE TABLE mainDB.eDienstReiseBuch_New AS
 SELECT *
 FROM  mainDB.eDienstreisebuch
 ORDER BY DATUM;
--2)
 DELETE FROM mainDB.eDienstReiseBuch;
--3)
 INSERT INTO mainDB.eDienstReiseBuch
 SELECT *
 FROM  mainDB.eDienstReiseBuch_New;
--4)
 DROP TABLE mainDB.eDienstReiseBuch_New;
--5)
 COMMIT;
Ist ein bisschen umständlich, sollte aber auch in dBase funktionieren.
An deinen Arbeitsplatzrechner dürfte mainDB ja richtig definiert sein, also musst du diese f*** "t:eDienstreisebuch\mainDB.dbf"-Schreibweise auch nicht nutzen.

r_kerber 9. Dez 2003 14:06

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Zitat:

Zitat von LuckyStrike4life
Warum:
Wenn mir wer von 'oben' sagt: 'Lauf!'
Dann frag ich nicht erst wie schnell, sondern laufe.

Das ist schon richtig. Ich frage mich jetzt natürlich, wo sehen die etwas unsortiertes! Das muß doch herauszubekommen sein. Und dann gibt's die Möglichkeit auch diese Anzeige sortiert darzustellen!

LuckyStrike4life 9. Dez 2003 14:35

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Okay,
ich hab jetzt noch mal mit meinem direktem Chef gesprochen, er meint es würde schon okay sein - wenn die Datenbank unsortiert bleibt. Allerdings unterstehe ich diversen Leuten, sprich dem Chef meines Chefs usw... . Kommt noch drauf an was die dazu meinen.

Vielleicht fällt es euch auf das mein Delphi-Wissen nicht das Beste ist, an sich bin ich auch Systemintegration nicht Anwendungsentwicklung, aber man nimmt was kommt. So qual ich mich seit einiger Zeit mit Delphi.
Nun gut,
ich hab eben auch den Vorschlag von GeorgeWNewbie meinem Chef erklärt, aber er meint dieser wäre zu unsicher. Zwecks Systemausfall, Serverausfall während der Ausführung des Codes.

Aber dennoch schönen Dank für die Mühe.

Relevant wäre die Sortierung der Datenbank im Zusammenhang mit der Druckfunktion gewesen. Denn diese ließt die Datenbank 'einfach nur' aus, und druckt den Inhalt in der Reihnfolge wie die Daten in der DB stehen.

Edit: Dabei fällt mir ein, man könnte ja eventuell ein Query mit nem DataSource verwenden, und die QRDB Komponenten damit verknüpfen.

Robert_G 9. Dez 2003 14:54

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Jede moderne SQL-DB verwendet sog. "Transaktionsmodelle".
d.h.:
solange du den letzten Befehl in meinem Post ("Commit") nicht ausgeführt hast, bleiben die Daten auf dem Server unangetastet. Erst dadurch schreibst du die Daten von den rollback-segmenten in die tatsächlichen tablespaces. (ich kann hier aber für dBase meine Hand nicht ins Feuer legen)

Um auf Nummer sicher zu gehen - welche Compos zum DB-Zugriff verwendest du & weiß jemand hier in der DP ob diese Compos autom. ein Commit absetzen.

p.s.: Das ist nur um dir eine Lösung für deine Frage zu zeigen, ich persönlich bin gegen eine Umsortierung der Tabellen, da man sowieso mit Abfragen darauf zugreift.

r_kerber 9. Dez 2003 14:55

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Zitat:

Zitat von LuckyStrike4life
Edit: Dabei fällt mir ein, man könnte ja eventuell ein Query mit nem DataSource verwenden, und die QRDB Komponenten damit verknüpfen.

Bingo :lol:

r_kerber 9. Dez 2003 15:01

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Zitat:

Zitat von GeorgeWNewbie
Um auf Nummer sicher zu gehen - welche Compos zum DB-Zugriff verwendest du & weiß jemand hier in der DP ob diese Compos autom. ein Commit absetzen.

Für "echte SQL-Datenbanken kann man dies in BDE-Administartion einstellen. Für Paradox/dBase gibt es einen solchen Ablauf IMHO nicht. Sind eben reine Desktop-"Datenbanken".

LuckyStrike4life 9. Dez 2003 15:08

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
@GeorgeWNewbie
Es sind normale DB Componenten, diese versuchen sofort den Datensatz einzutragen. Diese Funktion hab ich aber im OI rausgenommen.
Also ist deine Lösung eine wirkliche Alternative.
Wenn ich das mit der Durckfunktion nicht über SQL lösen kann, werd ich auf deine Lösung zurück greifen.

woki 11. Dez 2003 16:08

Re: Inhalt eine Datenbank nach Datum sortieren... .
 
Hi,

der einzig sinnvolle Weg ist aber wirklich die Daten bei der Druckaufbereitung zu sortieren, das geht mit Tables undmit Queries gleichermaßen, alles andere hiesse zu versuchen einen Designfehler mit einem anderen Designfehler zu reparieren, und auf eine Lösung zu setzen, die jederzeit (z.D. mit jedem Versionswechsel, aber nicht nur) aufhören kann zu funktonieren.

Was das Transaktionsverhalten angeht, meine ich IMHO das die BDE das auch für Desktopdatenbanken nachbildet, woraus ich folgenden Schluss ziehe:

Alle DBkomponenten machen defaultmäßig nach jedem post ein Autocommit, die Transaktionskontrolle kann aber vom entwickler übernommen werden, bei Paradox übernimmt das die BDE und bei Access wird das von ADO übernommen, ich bin sicher das ich das auch für diese beiden Desktopdatenbanken schon getestet und verwendet hab.

Grüsse
Woki


Alle Zeitangaben in WEZ +1. Es ist jetzt 18: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 by Thomas Breitkreuz