AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken gesonderte Ergebnisberechnung in DB-Tab eingeben
Thema durchsuchen
Ansicht
Themen-Optionen

gesonderte Ergebnisberechnung in DB-Tab eingeben

Ein Thema von EdAdvokat · begonnen am 11. Apr 2017 · letzter Beitrag vom 13. Apr 2017
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#21

AW: gesonderte Ergebnisberechnung in DB-Tab eingeben

  Alt 12. Apr 2017, 08:26
Moin...
Zitat:
Ist das normal, dass er nach der Eingabe und dem ButtonClick die gesamte Tabelle mit den Datensätzen zb. 1-10 nochmals als neue Tabelle hinter 10 mit 1-10 und den neuen Werten wiederholt?
Das liegt am RefreshItems. Hier wird die gesamte ListView neu aufgebaut. Das fehlt nur ein beherztes lvProducts.Items.Clear ...nicht nur CLEAR.
Zitat:
es war schon spät und den Tag über wuseln meine beiden Enkel herum. Meine Konzentration war nicht mehr gegeben.
...denkbar schlechte Voraussetzungen zum Programmieren.
  Mit Zitat antworten Zitat
EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
414 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#22

AW: gesonderte Ergebnisberechnung in DB-Tab eingeben

  Alt 12. Apr 2017, 19:42
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:
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;
Sicher ist manches doppelt gemoppelt doch auch so tut sich wieder mal überhaupt nichts. keine Fehlermeldung aber der Datensatz springt nicht zum nächten.
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?
Norbert
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#23

AW: gesonderte Ergebnisberechnung in DB-Tab eingeben

  Alt 12. Apr 2017, 22:18
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 .Open wird die Abfrage durchgeführt (.Open entspricht .Aktive:=True; .Close entspricht .Aktive:=False )
das .Aktve:=True; ist somit überflüssig.
Du holst die abgefragten Daten nicht ab (MyStringValue:=Query.FieldbyName('Feldname').asstring; ).
Das .Next setzt zwar den Zeiger auf den zweiten Wert, aber das ist vollkommen unnütz, da Du mit den Daten nichts anfängst.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#24

AW: gesonderte Ergebnisberechnung in DB-Tab eingeben

  Alt 13. Apr 2017, 08:00
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;
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz