![]() |
AW: gesonderte Ergebnisberechnung in DB-Tab eingeben
Moin...:P
Zitat:
Delphi-Quellcode:
...nicht nur CLEAR. :warn:
lvProducts.Items.Clear
Zitat:
|
AW: gesonderte Ergebnisberechnung in DB-Tab eingeben
Nach all den Mühen versuche ich nun eine Navigation für die Datentabelle zu implementieren. Geht das überhaupt in dem Programm, ähnlich dem DBNavigator. Als Pilotlösung habe ich einen Next-Button auf das Formular gelegt mit folgender Procedure:
Delphi-Quellcode:
Sicher ist manches doppelt gemoppelt doch auch so tut sich wieder mal überhaupt nichts. keine Fehlermeldung aber der Datensatz springt nicht zum nächten.
procedure TMainFrm.btnNextClick(Sender: TObject);
begin qryMain.Close; qryMain.SQL.Clear; qryMain.SQL.Text:='SELECT * FROM WARENVERKAUF1'; qryMain.Open(); If not qryMain.IsEmpty then qryMain.Active:=true; qryMain.Next; end; Zuvor hatte ich trotz Query.open die Fehlermeldung "Operation ist bei geschlossener Datenmenge nicht möglich" obwohl ich query.open und auch query.active:=true; gesetzt hatte. Geht das was ich will überhaupt in der vorliegenden Konstalation? |
AW: gesonderte Ergebnisberechnung in DB-Tab eingeben
Was willst Du erreichen?
Mit der bisher besprochenen Abfrage stehen Dir die abgefragten Daten zur Verfügung. Wenn Du in dieser Menge (Listview?) navigieren willst, mußt Du dies in der Listview machen und nicht durch eine neue Abfrage. Zu Deiner Abfrage: durch das
Delphi-Quellcode:
wird die Abfrage durchgeführt (
.Open
Delphi-Quellcode:
entspricht
.Open
Delphi-Quellcode:
.Aktive:=True;
Delphi-Quellcode:
entspricht
.Close
Delphi-Quellcode:
)
.Aktive:=False
das
Delphi-Quellcode:
ist somit überflüssig.
.Aktve:=True;
Du holst die abgefragten Daten nicht ab (
Delphi-Quellcode:
).
MyStringValue:=Query.FieldbyName('Feldname').asstring;
Das
Delphi-Quellcode:
setzt zwar den Zeiger auf den zweiten Wert, aber das ist vollkommen unnütz, da Du mit den Daten nichts anfängst.
.Next
Gruß K-H |
AW: gesonderte Ergebnisberechnung in DB-Tab eingeben
Hab mir dein Projekt nicht angeguckt, kann also nicht so konkret antworten wie p80286, aber wenn ich mir in einer Datenmenge den nächsten Datensatz anzeigen lassen möchte, muss ich nicht die jedesmal die Datenmenge schließen und neu öffnen (das ist im Gegenteil sogar kontraproduktiv). Es genügt ein .Next:
Delphi-Quellcode:
procedure TMainFrm.btnNextClick(Sender: TObject);
begin if not qryMain.EOF then //ggf. unnötig qryMain.Next; //Dann was du mit den Daten machen willst, gehe ich nach obigen Posts, sowas?: RefreshItems(qryMain.FieldByName('ID').AsString, qryMain.FieldByName('KDNR').AsString, qryMain.FieldByName('Name').AsString, //... ); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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 by Thomas Breitkreuz