![]() |
Datenbank: dBase • Version: for Windoof • Zugriff über: TTable
>EDatabaseError< Einfüge Editiermodus || Was soll ich
:cry: Kann mir mal jemand helfen?
Code:
Bei folgendem Code bekomme ich immer eine Exception das die Tabelle weder im Einfüge noch im Editiermodus ist was soll ich machen? Der Aktive Datensatz enthält bereits eine Variable ART_STUECK die ich ändern will.
if inputquery('Entnahme-Assistent', 'Wie viele Artikel sollen entnommen werden?', str1) = true then
begin i5 := StrToInt(str1); str1 := ''; DataModule4.Tabelle.Active := false; DataModule4.Tabelle.readonly := false; DataModule4.Tabelle.FieldValues['ART_STUECK'] := i4 - i5; datamodule4.tabelle.post; cls; formentnehmen.hide; form2.show; end else str1 := ''; Danke schon im vorraus. |
Re: >EDatabaseError< Einfüge Editiermodus || Was soll
Delphi-Quellcode:
ReadOnly sollte die Tabelle allerdings wirklich nicht sein.
if inputquery('Entnahme-Assistent', 'Wie viele Artikel sollen entnommen werden?', str1)
and TryStrToInt(str1, i5) then begin DataModule4.Tabelle.Edit; DataModule4.Tabelle.FieldValues['ART_STUECK'] := i4 - i5; Datamodule4.tabelle.Post; // cls; ??? formentnehmen.hide; form2.show; end; str1 := ''; Grüße vom marabu |
Re: >EDatabaseError< Einfüge Editiermodus || Was soll
danke :thumb: :cheers:
sry aber da is noch n fehler entweder darfs bei geöffneter oder bei geschlossener Datenmenge nicht ausgeführt werden. :?
Code:
if inputquery('Entnahme-Assistent', 'Wie viele Artikel sollen entnommen werden?', str1) = true then
begin i5 := StrToInt(str1); str1 := ''; DataModule4.Tabelle.Active := true; //egal og true oder false bekomm ne exception DataModule4.Tabelle.readonly := false; datamodule4.tabelle.edit; DataModule4.Tabelle.FieldValues['ART_STUECK'] := i4 - i5; datamodule4.tabelle.post; cls; //leeren prozedur formentnehmen.hide; form2.show; end else str1 := ''; ps TryStrToInt gibts bei mir net hab delphi 3 prof. |
Re: >EDatabaseError< Einfüge Editiermodus || Was soll
so noch mal das ganze bin am ende und hab keine ahnung wo der fehler liegt:
Code:
procedure TFormEntnehmen.BitBtn1Click(Sender: TObject);
var i1, i2, i3, i4, i5: Integer; str1: String; begin showmessage('1'); if radiobutton1.checked = true then begin showmessage('2'); //suche nach lagernummer TRY showmessage('3'); i1 := StrToInt(MaskEdit1.Text); i2 := StrToInt(MaskEdit2.Text); i3 := StrToInt(MaskEdit3.Text); showmessage('4'); DataModule4.Tabelle.open; if DataModule4.Tabelle.Locate('NUM_LAGER;NUM_REGAL;NUM_ART', VarArrayOf([i1, i2, i3]), [loCaseInsensitive]) then begin showmessage('...'); MaskEdit1.Text := DataModule4.Tabelle.FieldValues['NUM_LAGER']; MaskEdit2.Text := DataModule4.Tabelle.FieldValues['NUM_REGAL']; MaskEdit3.Text := DataModule4.Tabelle.FieldValues['NUM_ART']; Edit1.Text := DataModule4.Tabelle.FieldValues['ART_NAME']; Edit2.Text := DataModule4.Tabelle.FieldValues['ART_NUM']; Edit3.Text := DataModule4.Tabelle.FieldValues['ART_DESCR']; i4 := DataModule4.Tabelle.FieldValues['ART_STUECK']; Panel3.Caption := 'Vorhanden: ' + IntToStr(i4); if inputquery('Entnahme-Assistent', 'Wie viele Artikel sollen entnommen werden?', str1) = true then begin i5 := StrToInt(str1); str1 := ''; DataModule4.Tabelle.readonly := false; datamodule4.tabelle.edit; DataModule4.Tabelle.FieldValues['ART_STUECK'] := i4 - i5; datamodule4.tabelle.post; cls; formentnehmen.hide; form2.show; end else str1 := ''; end else begin Messagedlg('Artikel nicht gefunden!', mtError, [mbOK], 0); end; EXCEPT Messagedlg('Eingabe ungültig oder im falschen Bereich!', mtError, [mbOK], 0); str1 := ''; END; end else begin //suche nach artikeldaten TRY EXCEPT Messagedlg('Artikel nicht gefunden!', mtError, [mbOK], 0); END; end; end; |
Re: >EDatabaseError< Einfüge Editiermodus || Was soll
ReadOnly kannst du nicht bei geöffneter Tabelle umschalten. Wenn du aber die Tabelle schließt (z.B. mit Active := False) und dann wieder mit ReadOnly=False öffnest, dann musst du wieder den richtigen Datensatz lokalisieren...
Am einfachsten ist es, wenn deine Tabelle mit ReadOnly=False (Standardeinstellung) geöffnet wird. marabu |
Re: >EDatabaseError< Einfüge Editiermodus || Was soll
aha meld mich morgen wieder.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 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