Fórum editar os dados de um dbgrid em outro form #422862
29/08/2012
0
Assim, tenho uma Dbgrid que realiza as consultas ok > frmconsultar
quando eu clico em um registro setado na grid abre um form > frmalterar
tenho edits e uma combobox no frmalterar...
o frmalterar esta ligada ao frmconsultar via query > data source ok
o problema é que os dados não estão aparecendo dos edits para poder alterar..
Já olhei muitos topicos mas não sei onde colocar as informações..
Desde já agradeço a ajuda.
Mauricio Nicoli
Curtir tópico
+ 0Posts
29/08/2012
Deivison Melo
Gostei + 0
30/08/2012
Wesley Yamazack
Caso utilize o TDBEdit, deve associar o mesmo ao seu DataSource nas propriedades 'DataSource' e 'DataField' aos campos correspondentes.
Um abraço
Gostei + 0
30/08/2012
Mauricio Nicoli
quando eu clicar duas (2) vezes no registro setado no grid tem que abrir um form com todos os campos
preenchidos, porem quando eu clico no grid abre o form com os campos vazios..
no evento onchange do frmalterar do dbedit1.text do codigo eu coloquei o seguinte código..>> já está ligado ao DM.datasource
procedure Tfrmalterar.DBEdit1Change(Sender: TObject);
begin
DM.ClientDataSet.Locate('codigo.ADOQuerySQL.fieldByName(codigo).asstring],[loCaseInsensitive, loPartialKey)]');
end;
e da erro " Not enough actual parameters"
Observei que não consigo colocar a palavra "codigo" no DataField pois dá outro erro AdoQuerySql: Missing SQL property
Até onde eu sei falta comandos sql aqui, por isso o erro..
mas não to conseguindo descobrir quais são estes comandos..
Gostei + 0
31/08/2012
Armando Filho
Gostei + 0
31/08/2012
Mauricio Nicoli
ai eu fiz um teste e coloquei assim..
procedure Tfrmalterar.DBEdit1Change(Sender: TObject);
begin
DM.ClientDataSet.Locate('codigo', DBedit1.text, [loCaseInsensitive, loPartialKey]);
end;
funcionou em partes..
o Dbedit monitor e o codigo não retornaram os campos, os demais todos
retornaram.
o codigo do Dbgrid..
procedure Tfrmconsultar.btnconsultarClick(Sender: TObject);
begin
DM.ClientDataSet.close;
DM.ADOQuerySQL.SQL.CLEAR;
DM.ADOQuerySQL.SQL.ADD('select codigo, filial, ip, nomepc, placamae, modelo, processador, placavideo, hd, placasom, memoria, placarede, monitor, sistemaop, soquete from componentes_filiais where filial like :filial');
DM.ADOQuerySQL.Parameters.ParamByName('filial').Value:= combobox.text;
DM.ClientDataSet.Open;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)