Newsgroup: it.comp.lang.delphi
Titolo: ricerca di record

ciao,
sto realizzando un programma per la gestione di un magazzino. Quando apro la
form in eseguibile compaiono nelle dbedit i dati dell'ultimo articolo
inserito. Vorrei che all'apertura della finestra tali campi siano vuoti in
modo tale che inserendo una chiave (es. descrizione, codice articolo)
mediante dbcombobox, vengano visualizzati gli altri campi corrispondenti.
Come posso fare?
ciao
__________________
Maurizio Manna
www.f1grandprix.it
News, foto, storia, cifre, chat, forum, wallpaper, screen saver e altro
ancora sulla Ferrari e la Formula 1

i dbedit mostrano in automatico ciò che c'è sul record correntemente
selezionato della tabella a cui sono attaccati.
Se non vuoi visualizzare niente devi usare i metodi DisableControls e
EnableControls del componente Table ma ciò stacca tutto, griglie comprese,
non so se ti va bene in questo modo puoi utilizzae un semplice edit per
effettuare la ricerca e una volta trovato il record chiamare EnableControls,
oppure stacchi e riattacchi la proprietà DataSource dei singoli DbEdit
ma.......non mi sembra corretto.... se vuoi altre delucidazioni sii più
chiaro e cercherò di essere più dettagliato.
 ciaoux

 ha scritto nel messaggio
news:aa6f1v$ck6$1...@newsreader.mailgate.org...



-------------------------------
Message Posted by  <dedGateway>
http://www.dedonline.com/forump

Eccomi, scusa ma il 25 aprile in genere non lavoro :PP
Non è necessario che tu utilizzi un DBEdit, puoi usare anche un semplice
Edit, e sul suo evento OnChange fare una locate utilizzando la sua proprietà
Text con una Locate avente come parametro finale loPartialKey.

 ha scritto nel messaggio
news:aaav32$cap$1...@newsreader.mailgate.org...


cerca sull'help dai, ragazzi un minimo di buona volontą :)))

 ha scritto nel messaggio
news:aaav32$cap$1...@newsreader.mailgate.org...


allora, ci sarebbero delle finezze, comunque basta che fai
if locate(______) then
begin
    edit.text := tabella.campo.asstring
    edit.selectall;
end;
Se vuoi divertirti ti posto un pezzo del mio codice.... così provi......
ciao ciao
P.S. : io l'ho messo sull'OnKeyUp, ma fai un po' te
procedure TUdet26.EShipperKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var iLung,iLung2:integer;
    sTemp:string;
begin
 if Key in [VK_TAB, VK_CAPITAL, VK_SHIFT] then exit;
 iLung:=Length(EShipper.text);
 sTemp:=EShipper.text;
 if (Key<>8) and (Key<>13) then  //#8=Canc
  begin
   if
DMTree.MWTAnagra.Locate('NAME',EShipper.text,[loCaseInsensitive,loPartialKey
])=true then
    begin
     iLung2:=Length(DMTree.MWTAnagraNAME.Text);
     if DMTree.MWTAnagraNAMED.Text='' then
      begin
       EShipper.text:=DMTree.MWTAnagraNAME.Text;
       SAnagraid:=DMTree.MWTAnagraKEYID.AsInteger;
       SAnagraidd:=0;
       CBLoadingPlace.text:=DMTree.MWTAnagraCITY.text;
      end
     else
      begin
       EShipper.text:=DMTree.MWTAnagraNAMED.Text+' |
'+DMTree.MWTAnagraCITY.text;
       SAnagraidd:=DMTree.MWTAnagraIDANAGRAD.AsInteger;
       SAnagraid:=0;
       CBLoadingPlace.text:=DMTree.MWTAnagraCITY.text;
      end;
     EShipper.SelStart:=iLung;
     EShipper.SelLength:=iLung2-iLung;
    end//if
    else
     begin
      EShipper.Clear;
      CBLoadingPlace.Clear;
     end;
  end;//if
end;

 ha scritto nel messaggio
news:aabg91$nsf$1...@newsreader.mailgate.org...


più o meno....
comunque il datamodule non è un problema, guarda invece come opero con
ilung, selstart, sellength sull'edit, è quello il pezzo importante

 ha scritto nel messaggio
news:aabn55$sid$1...@newsreader.mailgate.org...
