![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: TTable
Werte aus einer Datenbnk nacheinander auslese.
Hallo an allen.
Ich habe ein groses Problem mit meiner Datenbank.Ich mus in einem DBGrid Werte aus de Datenbank auslesen und bearbeiten.Nun mein Problem ist das ich mehrare Werte auslesen muss alle diese Werte in DBGrid behalten und danach aktualisieren.Mit Table1.Filter wird nur je ein Wert angezeigt,wenn ich neu suche wird der erste Wert geloscht. Mit TQuery konnte ich auch nichts anfangen da die ausgelesenen Werte dan nicht aktualisiert werden konnen. Habt ihr vielleict eine Idee wie ich mein Problem lösen kann ?? |
Re: Werte aus einer Datenbnk nacheinander auslese.
Zitat:
|
Re: Werte aus einer Datenbnk nacheinander auslese.
Hallo,
zeig' uns bitte mal ein Beispiel für den von Dir benutzten Filter und die ggfls. infrage kommenden Spalten- und Wertekombinationen, eventuell kann man da ja dann mehrere von in einem Filter kombinieren. Eventuell wäre auch SetRangeStart... eine Alternative? |
Re: Werte aus einer Datenbnk nacheinander auslese.
Hallo,
bei TQuery RequestLive auf True setzen, dann klappt es auch mit dem TDBGrid. Heiko |
Re: Werte aus einer Datenbnk nacheinander auslese.
Hallo an allen.
Danke fur eure schnelle Antwort. Nun meien Datenbank siet so aus: Produkt, Produkt_Wehrt,Verkaufte_Menge.Wenn ein Kunde nun Produkt 1,Produkt6,und so weiter bestellt muss ich alle bestelte Produkte in einer DBGrid haben um die Werte aus Verkaufte_Menge manuell zu aktualiesieren.Meiner Meinung nach geht TQuery nicht da ich nict weiss wie viele Produkte bestellt werden und wie soll ich dan die gewunschten Werte aktualiesieren. Habe folgendes versucht:
Delphi-Quellcode:
Leider wen ich neu suche wir der erste ausgelesene Wert aus DBGrid gelöscht.
Table1.Active:=True;
Table1.Filtered:=False; Table1.Filter:='Product='+QutedStr(Edit1.Text); Table1.Filtered:=True; Table1.Open; |
Re: Werte aus einer Datenbnk nacheinander auslese.
Hallo,
was steht im Editor drin ? nur ein Produkt ? Zitat:
Du liest also mehrere Werte aus, woher weisst du denn, welche ? Heiko |
Re: Werte aus einer Datenbnk nacheinander auslese.
Hi hoika
Na eben das ist mein riesiges Problem.Inch kann nicht wissen welche Produkte bestellt werden oder wie viele. Aso dachte ich das man ein Produkt nach dem andren aus der Datenbank auswahlt und im DBGrid anzeigt je nach dem was ein Kunde will. Es ist aber eien Muss das alle ausgewahlten Produkte in einem DBGrid angezeigt werden.Es geht nicht ein Produkt auswählen bearbeiten speichern und zum nächsten überzugehen |
Re: Werte aus einer Datenbnk nacheinander auslese.
Hallo,
aha. Dann hast du 2 Möglichkeiten. 1. kein DBGrid ============== - normales TStringGrid für die Anzeige nehmen - Bearbeitung der einzelnen Produkte per TTable entweder Grid.Objects zum Speichern zusätzlicher Infos, Produkt-Id usw. oder die Produkt-Id in einer versteckten 1. Spalte (ColWidhts[0]:= -1, FixedCols=1 2. TClientDataSet ================= - hier geht auch wieder ein DBGrid. - zum Speichern wieder TTable - das ClientDataSet "puffert" nur das DBGrid Heiko |
Re: Werte aus einer Datenbnk nacheinander auslese.
Also das ist doch kein "riesiges" Problem, sondern ein ganz Normales.
Zuerst mal etwas Brainstorming: Du hast einen Artikelvorrat, aus dem der Benutzer beliebige Mengen bestellen möchte. Er soll eine (sortierte) Liste aller Artikel sehen und daraus beliebig viele Artikel in beliebiger Stückzahl auswählen, richtig? Lösung 1: Oben wird ein DBGrid mit allen Artikeln angezeigt. Unten ein DBGrid mit alle bestellten Artikeln (ist am Anfang leer). Benutzer wählt oben einen Artikel aus und drückt auf Button "bestellen". Dann wird der Artikel vom oberen DBGrid in das Untere kopiert. Sollte der Artikel im unteren DBGrid schon da sein, wird die Menge um eins hochgezählt. Lösung 2: Der Benutzer sieht nur ein einzige DBGrid mit allen Artikel. Die Spalte "Menge" ist leer. Zum Bestellen muss er lediglich die Bestellmenge eintragen und am Ende des Bestellvorgangs auf "OK" klicken. Für diese Lösung wird ein sogenanntes Memory-Dataset benötigt. Bei beiden Lösungen wird zum Schluss das Feld "Verkaufte_Menge" entsprechend angepasst. |
Re: Werte aus einer Datenbnk nacheinander auslese.
Hallo,
wie wäre es mit:
Delphi-Quellcode:
Irgendwoher muss Du wissen, was alles ausgewählt werden soll.
Table1.Filter:='Product = ' + QuotedStr(Edit1.Text)
+ ' or Product = ' + QuotedStr(Edit2.Text); Ggfls. musst Du Dir zuerst eine Liste der ausgewählten Produkte machen (in die z. B. die Produkte eingegeben werden) und dann aus der Liste den Filter zusammenbauen. So wie ich das momentan verstehe, wird erst das Eine, dann das Andere und eventuell auch nochein... Produkt gewählt und direkt bei der Auswahl sollen die Produkte dann im DBGrid erscheinen. Dies würde dann bedeuten, dass der Filter bei jeder Produkteingabe erweitert wird. Habe mal ein Progrämmelchen zusammengedaddelt, das Dir da eventuell eine Idee zur Umsetzung liefern könnte. Es setzt voraus, dass Du die Demodatenbank "DBDEMOS" zur BDE zur Verfügung hast. Dies wäre dann der dritte oder vierte oder so... Lösungsansatz. Schau mal, welcher Dir am Besten zusagt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:37 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