si, sull FrmMovimenti ho inserito Ibtable1 (collegato alla tabella Movimenti), e Datasource1 collegato alla Ibtable1, e anke i vari campi Dbedit per l'inserimento dei valori di IBtable1 (tabella Movimenti).
la tecnica che utilizzo e':
1) inserire un valore corrispondente a ID_MOVIMENTI in Edit1.text
2) cercare tale valore nella tabella Movimenti, se esiste leggo i valori dalla tabella e li modifico, se non esiste eseguo Ibtable1.Append e inserisco nuovi valori.
Il progressivo ID_MOVIMENTO viene elaborato (come tu mi hai suggerito) al momento della conferma dei dati (evento BtnOkClick) dove eseguo SELECT * from view_idmovimenti e viene generato il progressivo.
codice:procedure TFrmMovimenti.BtnCercaClick(Sender: TObject); begin if Edit1.Text = '' then Edit1.SetFocus else begin IBTable1.Open ; if not IBTable1.Locate('ID_MOVIMENTI',edit1.Text,[loCaseInsensitive]) then begin IBTable1.Append ; end; Setta_Bottoni_Cerca ; end; end; .... procedure TFrmMovimenti.Setta_Bottoni_Cerca; begin Edit1.Enabled := False ; BtnCerca.Enabled := False ; BtnCerca.Enabled := False ; BtnHelp.Enabled := False ; BtnOK.Enabled := True ; BtnAnnulla.Enabled := True ; BtnCancella.Enabled := not IBTable1.Eof ; BtnFine.Enabled := True ; BtnHelpFornitori.Enabled := True ; DBEdit2.SetFocus ; end; ....
grazie

Rispondi quotando
non so piu cosa fare.
