Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Paradox-Tabelle Eintrag ändern... (https://www.delphipraxis.net/133670-paradox-tabelle-eintrag-aendern.html)

ZelltoD 6. Mai 2009 20:18

Datenbank: Paradox • Version: ? • Zugriff über: Eigene Oberfläche.

Paradox-Tabelle Eintrag ändern...
 
Nabend,
Ich durchsuche eine Paradox-Tabelle nach einem bestimmten Wert und möchte diesen ändern.
Bloss "Wie zum Henker änder ich des Ding" :wiejetzt: ... zahllose Versuche ala
Delphi-Quellcode:
Tablegesamt['Wert4']:=New;
,
Delphi-Quellcode:
Tablegesamt.FieldByName('Wert4').AsString:=New ;
oder
Delphi-Quellcode:
Tablegesamt.FieldByName('Wert4'):=New
liefern allesamt Fehler.
Zu meiner Entschuldigung muss ich sagen, dass ich in Sachen Datenbanken nur einige wenige Grundlagen beherrsche und halt gerade dabei bin diese auszubauen.

Hab auch schon google oder die Forumssuche gefragt, aber nichts brauchbares gefunden.

mfg Sebastian :hi:

mkinzler 6. Mai 2009 20:21

Re: Paradox-Tabelle Eintrag ändern...
 
Welcher Fehler?
Welcher Typ hat New?

ZelltoD 6. Mai 2009 20:26

Re: Paradox-Tabelle Eintrag ändern...
 
"New" ist ein String;
Alle Felder der Tabelle sind auch Strings.
Der Fehler:
Zitat:

Im Projekt Projekt1.exe ist eine Exception der Klasse EDatabaseError mit der Meldung 'TableGesamt: Datenmenge weder im Editier- noch im Einfügemodus' aufgetreten.
Woran in also scheinbar hänge ist, dass ich irgendwie die Tabelle in den Editiermodus bekommen muss. :gruebel:

mkinzler 6. Mai 2009 20:34

Re: Paradox-Tabelle Eintrag ändern...
 
Mit
Delphi-Quellcode:
Tablegesamt.Edit;

ZelltoD 6. Mai 2009 20:41

Re: Paradox-Tabelle Eintrag ändern...
 
Da hätte man aber auch selbst drauf kommen können:wall:, Dank dir :cheers:

hoika 6. Mai 2009 20:43

Re: Paradox-Tabelle Eintrag ändern...
 
Hallo,

neben mkinzler.

Zitat:

Ich durchsuche eine Paradox-Tabelle nach einem bestimmten Wert und möchte diesen ändern.
Wie wird gesucht? FindKey / Locate ?
Wo ist der Quellcode dazu ?

Ausserdem. warum heisst deine Variable New, statt z.B. sNew (s = String).
Dann ist es viel leichter, den Quellcode (der fehlt .. ;) ) zu verstehen.

in Kurzform das Editieren:

Delphi-Quellcode:
Table1.Edit;
Table1.FieldByName('Wert4').AsString:= sNew;
Table1.Post;

Heiko

ZelltoD 6. Mai 2009 20:58

Re: Paradox-Tabelle Eintrag ändern...
 
Zitat:

Zitat von hoika
Hallo,

neben mkinzler.

Zitat:

Ich durchsuche eine Paradox-Tabelle nach einem bestimmten Wert und möchte diesen ändern.
Wie wird gesucht? FindKey / Locate ?
Wo ist der Quellcode dazu ?

Ausserdem. warum heisst deine Variable New, statt z.B. sNew (s = String).
Dann ist es viel leichter, den Quellcode (der fehlt .. ;) ) zu verstehen.

in Kurzform das Editieren:

Delphi-Quellcode:
Table1.Edit;
Table1.FieldByName('Wert4').AsString:= sNew;
Table1.Post;

Heiko

Dank dir, habs aber schon hinbekommen.
Aber falls es noch jemanden interessiert: Gesucht wird indem ich jede Reihe durchgehen lasse und das entsprechende Feld mit dem neuen Vergleiche. Ist der Wert verschieden wird editiert.

Delphi-Quellcode:
Tablegesamt.Edit;
Tablegesamt['Wert4']:='sNew';
-> Damit hats bei mir wunderbar hingehauen ...

Dank euch nochmal :hi:

Dipl Phys Ernst Winter 12. Mai 2009 18:48

Re: Paradox-Tabelle Eintrag ändern...
 
ZelltoD"
Zitat:

Woran in also scheinbar hänge ist, dass ich irgendwie die Tabelle in den Editiermodus bekommen muss.
Du hängst nicht "scheinbar" sondern wirklich, daher muss es "anscheind" heißen.

Zitat:

Der Fehler: Im Projekt Projekt1.exe ist eine Exception der Klasse EDatabaseError mit der Meldung 'TableGesamt: Datenmenge weder im Editier- noch im Einfügemodus' aufgetreten
Immer mal in die Onnline-Hilfe schauen. Tlp: TTable Eigenschaft TDataSetState

Lösung bei hoika

Beser wäre jedoch mit persistenten Feldkomponenten
Delphi-Quellcode:
  with Table1 do begin           // Edition in Datensatz übernehmen
    Edit;
    Fields[1].asString:= Edit2.Text;
    Fields[2].asString:= Edit3.Text;
    Fields[3].asString:= Edit4.Text;
    Post end;

hoika 14. Mai 2009 13:29

Re: Paradox-Tabelle Eintrag ändern...
 
Hallo,

Fields[1].AsString ist aber kein persistentes Feld
sondern Zugriff auf das array-property ... ;)

Ich bevorzuge FieldByName, weil die Tabellenstruktur sich auch mal ändern könnte,
z.B. fällt ein Feld weg.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:56 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