Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Ändern von Datenmengen (https://www.delphipraxis.net/69587-aendern-von-datenmengen.html)

davar 17. Mai 2006 13:30

Datenbank: MySQL • Version: 4.x • Zugriff über: Zeos

Ändern von Datenmengen
 
Hallo Leute,

erst mal sorry wegen der Überschrift, was besseres ist mir nicht eingefallen.. :)

Folgendes Problem:

ich verkaufe einem Kunden mehrere Artikel, diese werden in der Tabelle "verkauf" gespeichert (kundennummer, position, artikelnummer, menge, einzelpreis).

Nun soll eine Rechnung gedruckt werden, vorher jedoch sollen die Daten geändert werden. D.h, der Chef hat mit dem Kunden einen anderen Preis vereinbart als den normalen, also soll in der Rechnung ein anderer Betrag drinstehen (Position und Artikelnummer sollen so stehenbleiben, Menge und Einzelpreis sollen geändert werden können).

Also sollen die Daten aus der Tabelle "verkauf" geholt, geändert und in die geänderten Daten in die Tabelle "rechnung" gespeichert werden. Die Frage ist nun, wie mach ich das am sinnvollsten?

DBGrid, StringGrid, TEdits oder wie?

Hoffe, hab mich mehr oder weniger verständlich ausdrücken können..


MfG

davar

s-off 17. Mai 2006 16:11

Re: Ändern von Datenmengen
 
Hallo,

ich würde mir einen Assistenten basteln, der aufploppt, sobald Du auf den Button 'Rechnung drucken' klickst.
Dieser Assistent beinhaltet ein DBGrid. Dieses DBGrid füllst Du mittels eines SQL-Query mit den rechnungsrelevanten Daten.

Wenn Du nun den 'Rechnung drucken'-Button drückst, siehst Du also alle Daten strukturiert in dem Assistenten und nimmst ggf. Änderungen daran vor.
Wenn Du den Assistenten schliesst, lässt Du die Rechnung drucken und übernimmst die Änderungen in die DB.

davar 17. Mai 2006 17:26

Re: Ändern von Datenmengen
 
Ich habe ein DBGrid, was mit einem Query verbunden ist. Die Daten werden auch angezeigt, aber ich kann nichts darin ändern, obwohl Readonly auf false ist. Eine Ahnung, woran das liegen könnte?

marabu 17. Mai 2006 19:12

Re: Ändern von Datenmengen
 
Hast du ZQuery.RequestLive auf True gesetzt?

Grüße vom marabu

davar 17. Mai 2006 19:36

Re: Ändern von Datenmengen
 
Zitat:

Zitat von marabu
Hast du ZQuery.RequestLive auf True gesetzt?

Grüße vom marabu

hmm. jetzt kann ich die Daten ändern, und die nächste Frage ist, wie speichere ist das? :oops:

s-off 17. Mai 2006 19:42

Re: Ändern von Datenmengen
 
Der sollte das eigentlich automatisch speichern - spätestens dann, wenn Du den Datensatz im Grid wechselst.

davar 17. Mai 2006 19:53

Re: Ändern von Datenmengen
 
Zitat:

Zitat von s-off
Der sollte das eigentlich automatisch speichern - spätestens dann, wenn Du den Datensatz im Grid wechselst.


Tut er nicht. Das heisst, erst schon, aber wenn ich das Formular schließe und erneut öffne, also die Daten erneut aufrufe, wird es wieder zurückversetzt.

s-off 17. Mai 2006 22:32

Re: Ändern von Datenmengen
 
AutoEdit vom DataSet auf True?

davar 17. Mai 2006 23:30

Re: Ändern von Datenmengen
 
Zitat:

Zitat von s-off
AutoEdit vom DataSet auf True?

Yepp. Auch das ist true.

Hoshy 18. Mai 2006 06:53

Re: Ändern von Datenmengen
 
Mhhh, vielleicht...

..."CachedUpdates" versehentlich auf "true" stehen?
...benutzt Du ein ZUpdateSQL und rufst nicht "ApplyUpdates" auf?
...hat Deine Tabelle keine Primary Key und die property "WhereMode" steht auf "wmWhereKeyOnly"?
...suchst Du die Daten im SELECT aus mehreren Tabellen zusammen?
...greifst Du mit dem SELECT auf eine non-updatable view zu?

Das fällt mir spontan dazu ein. Du könntest auch mal versuchen, die property "IndexFieldNames" mit den Namen der Felder des Primary Key zu setzen (durch Semikolon getrennt). Das bringt's dann, wenn die Query den geeigneten Index - i. d. R. den Primärschlüssel - nicht automatisch erkennt (warum auch immer).

Gruß
Andi


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:42 Uhr.
Seite 1 von 2  1 2      

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