Entwickler-Ecke

Datenbanken - Inhalt Editfeld in Tabelle schreiben !


Jagg - Do 19.09.02 11:28
Titel: Inhalt Editfeld in Tabelle schreiben !
Hallo,ich habe ein Dynamisches Editfeld und ich möchte den Inhalt in einer Tabelle (*.dbf) hineinschreiben ! Wie mache ich das ???

Dynamischs Editfeld heisst : TE
Tabelle heisst : "Bestell.dbf "

Das Feld in der Tabelle heisst : "ArtNr";

Ich habe geschrieben :

T['ArtNr'] := TE.Text ?

(T = Tabelle)

Aber dann sagt er mir die Meldung : "Ungültige Variant-TypenUmwandlung"

Jagg !


LCS - Do 19.09.02 11:46

Hi

Quelltext
1:
2:
3:
T['ArtNr'].Value := TE.Text;
oder
T['ArtNr'].AsString := TE.Text;


Gruss Lothar


wwerner - Do 19.09.02 12:03


Quelltext
1:
T.Fieldbyname('DeinFeld').AsString := TE.Text;                    


Jagg - Do 19.09.02 12:10

Danke !
Aber jetzt sagt er eine andere Fehlermeldung !

"Datenmenge weder im Editier noch im EInfügemodus!"

Was muss ich jetzt machen ???

Jagg !


wwerner - Do 19.09.02 12:16

http://www.auq.de/viewtopic.php?t=971&highlight=

3 Post ansehen


Jagg - Do 19.09.02 12:17

ich habe genommen :


Quelltext
1:
T.Fieldbyname('Wieviel').AsString := TE.Text;                    


Jagg !


LCS - Do 19.09.02 12:17

Wo hatte ich nur meinen Kopf? :oops:
Doku schreiben macht doch meschugge. :evil:

Frustgruss Lothar


Jagg - Do 19.09.02 12:24

hmm......
irgendwie schreibt er nichts in die tabelle rein
hm............

Ich hab das so gemacht wie du gesagt hast wwerner


LCS - Do 19.09.02 12:31

Hi
Zitat:

"Datenmenge weder im Editier noch im EInfügemodus!"

Eine der eindeutigsten Fehlermeldungen die Delphi liefert. :mrgreen:
Wenn du was ändern willst:

Quelltext
1:
T.Edit;                    

Wenns ein neuer Datensatz sein soll:

Quelltext
1:
T.Insert                    


Gruss Lothar


Jagg - Do 19.09.02 12:41

Hier ist mein Code :


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TForm11.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_Escape then
    close;
  if Key = VK_F3 then
  begin
    T := TTable.Create(form11);
    T.DatabaseName := 'C:\Nguyen\Info Post Programm\';
      T.Active := False;
      T.TableName := 'Bestell.dbf';
      T.Active := True;
      T.Edit;
      T.Fieldbyname('Wieviel').AsString := TE.Text;
      T.Insert;
    Close;
  end;
end;



Was ist jetzt daran Falsch ???

Jagg !


LCS - Do 19.09.02 12:55

Hi
auf jeden Fall sollte nach dem Ändern erst mal ein Post kommen:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TForm11.FormKeyDown(Sender: TObject; var Key: Word; 
  Shift: TShiftState); 
begin 
  if Key = VK_Escape then 
    close; 
  if Key = VK_F3 then 
  begin 
    T := TTable.Create(form11); 
    T.DatabaseName := 'C:\Nguyen\Info Post Programm\'; 
      T.Active := False; 
      T.TableName := 'Bestell.dbf'; 
      T.Active := True; 
      T.Edit; 
      T.Fieldbyname('Wieviel').AsString := TE.Text; 
      T.Post; 
    Close; 
  end; 
end;

Aber: Damit würdest du immer nur den ersten Datensatz ändern. Auf dem steht die Tabelle nach dem Öffnen.

Gruss Lothar


Jagg - Do 19.09.02 14:27

so wie dein code geht es auch nicht
LCS


MrSpock - Do 19.09.02 14:33

Hallo Jagg,

Edit funktioniert nur, wenn die Datenbank bereits einen Satz enthält, sonst musst du APPEND oder INSERT benutzen, also anstatt:


Quelltext
1:
2:
3:
T.Edit;
      T.Fieldbyname('Wieviel').AsString := TE.Text;
      T.Post;



Quelltext
1:
2:
3:
T.Append;
      T.Fieldbyname('Wieviel').AsString := TE.Text;
      T.Post;


Jagg - Do 19.09.02 14:47

ich habe das auch schon versucht,aber es geht trotzdem nicht !
Habe Aooend,Post und Insert ausprobiert unter berückdichtigung ob da schon ein satz steht !

Jagg !

Ich schaue mal selber nach jetzt aber ich ihr könnt mir trotzdem weiterhelfen und ideen sind sehr willkommen !!!

;:))))))))))))))))))

Jagg