Fórum Dbgrid como pegar os dados? #222180
24/03/2004
0
Tipo Tava querendo sabe uma coisa
Tem um dbgrid com os dados de uma tabela
Dai eu queria que ele clicasse em um dos dados do dbgrid e ai eu ia mostra os dados relacionados em outro dbgrid
So que nao sei como pega que dado ele clico no dbgrid?
Nao soube explica mt bem mais acho que da pra entende
Alguem pode me ajuda?
vlw flw
Snipa
Curtir tópico
+ 0Posts
24/03/2004
Fabio.hc
DBGrid1 -> Table1
DBGrid2 -> Query1 (´Select * from tabela where campo=:param1´)
procedure TForm1.DBGrid1CellClick(Column: TColumn); begin Query1.Close; Query1.Params[0].Value:=Table1Codigo.Value; Query1.Open; end;
Gostei + 0
24/03/2004
Snipa
nao de uma table
entende?
Gostei + 0
24/03/2004
Aroldo Zanela
O conceito é o mesmo, apenas troque os nomes dos objetos de acordo com sua necessidade.
Gostei + 0
24/03/2004
Snipa
Mais pelo que eu tentei aqui ele tah dando um erro estranhao
Enfim acho qeu to fazendo alguma coisa errada to fazendo assim:
procedure TFrmPesCond.DBGrid2CellClick(Column: TColumn); var valor:integer; begin valor := QryCont.DataSource.DataSet.FieldList.Fields[0].Value; with qrygastos do begin close; Sql.Clear; Sql.Add(´SELECT * FROM Contas WHERE CodCond = :PE´); Parambyname(´PE´).AsInteger := valor; Open; end; end;
O erro que aparece eh
Access violation at address 004C0701 in module admin.exe. Read of address 00000030
Entao se alguem soube ae fala ae :) vlw fui
Gostei + 0
24/03/2004
Vinicius2k
Acho q seu problema está aqui :
valor := QryCont.DataSource.DataSet.FieldList.Fields[0].Value;
O correto seria :
valor := QryCont.Fields[0].Value;
espero ter ajudado...
T+
Gostei + 0
25/03/2004
Aroldo Zanela
valor := QryCont.DataSource.DataSet.FieldList.Fields[0].Value;
valor := QryCont.Fields[0].Value;
Na verdade, eu acho que QryCont é o nome da dbGrid e não seria o problema. Pela mensagem, talvez não exista algum objeto que está sendo manipulado no código.
Gostei + 0
25/03/2004
Fabio.hc
procedure TFrmPesCond.DBGrid2CellClick(Column: TColumn); var valor:integer; begin valor := QryCont.DataSource.DataSet.FieldList.Fields[0].Value; with qrygastos do begin close; Sql.Clear; Sql.Add(´SELECT * FROM Contas WHERE CodCond = :PE´); Parambyname(´PE´).AsInteger := valor; Open; end; end;
Olhando os codigos e nomes dos objetos:
qrycont esta linkado no DBGrid1 ?
qrygastos esta linkado no DBGrid2
é isto,
se for então este codigo que vc passou tem que estar no CellClick do DBGrid1 e não no CellClick do DBGrid2.
Gostei + 0
25/03/2004
Vinicius2k
:roll: não sei Aroldo, mas me parece, pelo padrão de nomenclatura, que QryCont é a Query mesmo, mas é só um chute...
T+
Gostei + 0
25/03/2004
Snipa
Bom o qrygastos eh uma query mesmo
E oque o aroldo zanela falou eu fiz e nao tah mais aparecendo a msg de erro
Mais tb nao tah aparecendo os dados no dbgrid
Mais enfim brigadao ao pessoal ae
vo ve mais tarde aqui pq agora tenho que i pra escola
Flw
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)