Mostrar Dados Dbgrid
Gente, bom dia!!!
Tenho um form com um dbgrid que me mostra as minhas vendas dessa forma
Abaixo como meu dbgrid mostra os registros
CODIGOVENDA | CLIENTE | VALOR
1 JOSE 10,00
2 MARIA 20,00
3 JOAO 30,00
Quero clicar em cima da linha para selecionar e em um botão eu coloquei no capiton escrito PRODUTOS, quando eu selecionar a linha 1( 1/JOSE/10,00) e clicar em cima do botão PRODUTOS me trazer outro form com uma DBgrid com os produtos que originaram essa venda de 10,00 e mostrar o valor total da compra em um edit.
Exemplos
[img:descricao=Dbgrid Com as Vendas do Dias]http://arquivo.devmedia.com.br/forum/imagem/316964-20150903-112108.jpg[/img]
Ao clicar no botão PRODUTOS me mostra os produtos da venda em outra dbgrid
[img:descricao=Dbgrid com produtos]http://arquivo.devmedia.com.br/forum/imagem/316964-20150903-112204.jpg[/img]
Obs.: Estou usando SqlDataSet ligado a um DataSetProvider ligado a um ClientDataSet ligado a um DataSource ligado a um DbGrid
Tenho um form com um dbgrid que me mostra as minhas vendas dessa forma
Abaixo como meu dbgrid mostra os registros
CODIGOVENDA | CLIENTE | VALOR
1 JOSE 10,00
2 MARIA 20,00
3 JOAO 30,00
Quero clicar em cima da linha para selecionar e em um botão eu coloquei no capiton escrito PRODUTOS, quando eu selecionar a linha 1( 1/JOSE/10,00) e clicar em cima do botão PRODUTOS me trazer outro form com uma DBgrid com os produtos que originaram essa venda de 10,00 e mostrar o valor total da compra em um edit.
Exemplos
[img:descricao=Dbgrid Com as Vendas do Dias]http://arquivo.devmedia.com.br/forum/imagem/316964-20150903-112108.jpg[/img]
Ao clicar no botão PRODUTOS me mostra os produtos da venda em outra dbgrid
[img:descricao=Dbgrid com produtos]http://arquivo.devmedia.com.br/forum/imagem/316964-20150903-112204.jpg[/img]
Obs.: Estou usando SqlDataSet ligado a um DataSetProvider ligado a um ClientDataSet ligado a um DataSource ligado a um DbGrid
Bruno Henrique
Curtidas 1
Respostas
Raimundo Pereira
03/09/2015
Bom dia, Bruno.
Exemplo:
Tela Consulta Produtos, que será chamada pela tela de Orçamento.
No click ou enter da linha do GRID da tela de consulta, ele irá preencher alguns EDITS do form Orçamento.
FRM_DAV.EDIT_COD_PRODUTO.TEXT:=DM.QPRODUTOS.FIELBYNAME('CÓDIGO').ASSTRING;
DM.QPRODUTOS.CLOSE;
NO FRM_DAV, QUE É SUA TELA DE ORÇAMENTO.
DEPOIS DOS EDITS VOCÊ COLOCA UM BUTTON_ADD_PRODUTO >> ESSE VAI INSERIR OS DADOS DOS EDITS >>FRM_DAV.EDIT_COD_PRODUTO.TEXT;
NO GRID ORÇAMENTO_ITENS.
Não testei, foi apenas citação.
Veja ai e me dê um retorno qual quer coisa.
AT: P2
Exemplo:
Tela Consulta Produtos, que será chamada pela tela de Orçamento.
No click ou enter da linha do GRID da tela de consulta, ele irá preencher alguns EDITS do form Orçamento.
FRM_DAV.EDIT_COD_PRODUTO.TEXT:=DM.QPRODUTOS.FIELBYNAME('CÓDIGO').ASSTRING;
DM.QPRODUTOS.CLOSE;
NO FRM_DAV, QUE É SUA TELA DE ORÇAMENTO.
DEPOIS DOS EDITS VOCÊ COLOCA UM BUTTON_ADD_PRODUTO >> ESSE VAI INSERIR OS DADOS DOS EDITS >>FRM_DAV.EDIT_COD_PRODUTO.TEXT;
NO GRID ORÇAMENTO_ITENS.
Não testei, foi apenas citação.
Veja ai e me dê um retorno qual quer coisa.
AT: P2
GOSTEI 0
Bruno Henrique
03/09/2015
P2, não quero trazer as informações para os edits!!!
Estou considerando que as vendas já foram efetuadas e mostro em um dbgrid igual está nas imagens, ao clicar em cima do botão PRODUTOS, me mostra um outro dbgrid os produtos que são referentes a venda
Estou considerando que as vendas já foram efetuadas e mostro em um dbgrid igual está nas imagens, ao clicar em cima do botão PRODUTOS, me mostra um outro dbgrid os produtos que são referentes a venda
GOSTEI 0
Mateus Carvalho
03/09/2015
Você deve ter algum dado atrelado entra as informações da venda e os produtos, correto?
Pensando nisso, você pode usar um filtro, assim você consegue exibir apenas o necessário (o que você utilizou como filtro) no dbgrid.
Exemplo
Tenho 2 tabelas: 1 - Informações básicas de venda
2 - Produtos vendidos
Na tabela 1, tenho 3 campos:
ID, CLIENTE, VALOR
Na tabela 2, tenho 3 campos:
ID_VENDA, PRODUTO, VALOR
Suponhamos que o campo ID da venda, seja usado para atrelar os produtos à uma venda, logo, para exibir os registros, irei usar um filtro
Exemplo:
Dados da tabela 1:
ID | CLIENTE | VALOR
1 | PEDRO | 50,00
2 | MARIA | 25,00
3 | JOSÉ | 150,00
Dados da tabela 2:
ID_VENDA | PRODUTO | VALOR
1 | ARROZ | 10,00
1 | FILTRO | 40,00
2 | ALCATRA | 20,00
2 | MOLHO | 5,00
3 | FILTRO | 40,00
3 | ARROZ | 10,00
3 | VENTILADOR | 50,00
3 | BATEDEIRA | 50,00
Vamos ao código:
Assim que o usuário clicar em produto, você pode colocar o código de filtro para a tabela 2, assim, no dbgrid, será exibido apenas resultados encontrados:
Acho que depois disso, é só dar uns ajustes. Lembrando que esse é apenas uma forma de realizar essa ação.
Att!
Pensando nisso, você pode usar um filtro, assim você consegue exibir apenas o necessário (o que você utilizou como filtro) no dbgrid.
Exemplo
Tenho 2 tabelas: 1 - Informações básicas de venda
2 - Produtos vendidos
Na tabela 1, tenho 3 campos:
ID, CLIENTE, VALOR
Na tabela 2, tenho 3 campos:
ID_VENDA, PRODUTO, VALOR
Suponhamos que o campo ID da venda, seja usado para atrelar os produtos à uma venda, logo, para exibir os registros, irei usar um filtro
Exemplo:
Dados da tabela 1:
ID | CLIENTE | VALOR
1 | PEDRO | 50,00
2 | MARIA | 25,00
3 | JOSÉ | 150,00
Dados da tabela 2:
ID_VENDA | PRODUTO | VALOR
1 | ARROZ | 10,00
1 | FILTRO | 40,00
2 | ALCATRA | 20,00
2 | MOLHO | 5,00
3 | FILTRO | 40,00
3 | ARROZ | 10,00
3 | VENTILADOR | 50,00
3 | BATEDEIRA | 50,00
Vamos ao código:
Assim que o usuário clicar em produto, você pode colocar o código de filtro para a tabela 2, assim, no dbgrid, será exibido apenas resultados encontrados:
tabela2.Filtered := False; tabela2.Filter := 'ID_VENDA LIKE ' + QuotedStr( '%' + EDIT_ID_VENDA.Text + '%' ); //Onde "ID_VENDA" é o nome do campo que eu quero pesquisar e o "EDIT_ID_VENDA" é o conteúdo que eu quero filtrar. tabela2.Filtered := True;
Acho que depois disso, é só dar uns ajustes. Lembrando que esse é apenas uma forma de realizar essa ação.
Att!
GOSTEI 0
Raimundo Pereira
03/09/2015
Entendi,
Exemplo:
Você terá um Form_Consulta_Venda >>
EDT_NUMERO_VENDA
DBGRID_>>
Q_VENDA_ITENS_
Q_VENDA_ITENS_CLOSE;
Q_VENDA_ITENS_SQL.TEXT:='SELECT CODIGOVENDA,PRODUTOS,QTDE,VALOR FROM TABELA_VENDAS_ITENS WHERE CODIGOVENDA='''+EDT_NUMERO_VENDA.TEXT+''';
Q_VENDA_ITENS_OPEN;
OBSERVAÇÃO ESSA ROTINA ACIMA, MOSTRARÁ APENAS PRODUTOS DE UMA DETERMINADA VENDA ONDE ESSE NÚMERO DEVERÁ SER INFORMADO NO EDIT.
VOCÊ PODE MONTAR A TELA DE ACORDO COM A SUA NECESSIDADE, TRATANDO NO SELECT
IF Q_VENDA_ITENS_.RECORDCOUNT=0 THEN
BEGIN
SHOWMESSAGE('NENHUM REGISTRO ENCONTRADOS ['+EDT_NUMERO_VENDA+']');
END;
Não testei,
Aguardo resposta.
Exemplo:
Você terá um Form_Consulta_Venda >>
EDT_NUMERO_VENDA
DBGRID_>>
Q_VENDA_ITENS_
Q_VENDA_ITENS_CLOSE;
Q_VENDA_ITENS_SQL.TEXT:='SELECT CODIGOVENDA,PRODUTOS,QTDE,VALOR FROM TABELA_VENDAS_ITENS WHERE CODIGOVENDA='''+EDT_NUMERO_VENDA.TEXT+''';
Q_VENDA_ITENS_OPEN;
OBSERVAÇÃO ESSA ROTINA ACIMA, MOSTRARÁ APENAS PRODUTOS DE UMA DETERMINADA VENDA ONDE ESSE NÚMERO DEVERÁ SER INFORMADO NO EDIT.
VOCÊ PODE MONTAR A TELA DE ACORDO COM A SUA NECESSIDADE, TRATANDO NO SELECT
IF Q_VENDA_ITENS_.RECORDCOUNT=0 THEN
BEGIN
SHOWMESSAGE('NENHUM REGISTRO ENCONTRADOS ['+EDT_NUMERO_VENDA+']');
END;
Não testei,
Aguardo resposta.
GOSTEI 0
Bruno Henrique
03/09/2015
Boa tarde!!!
Vou tentar fazer aqui, se eu tiver dúvidas posto novamente!!!(Concerteza vou ter!!! rs)
Obrigado
Vou tentar fazer aqui, se eu tiver dúvidas posto novamente!!!(Concerteza vou ter!!! rs)
Obrigado
GOSTEI 0
Bruno Henrique
03/09/2015
Pessoal, boa noite!!!
Quase deu certo!!!
Como vocês pode ver na imagem eu filtrei o nome Bruno ele me trouxe todos os Brunos cadastrados eu cliquei no Bruno de código número 3 e cliquei no botão Cidade Que Reside ele posicionou o cursor(ficou selecionado) em cima da cidade referente ao Bruno de código 3(Acaua / PIAUI) , mais eu preciso que mostre apenas a cidade dele e não todas a cidades apenas a do registro que foi selecionado.Teria que aparecer apenas a cidade Acaua / Piaui !!!
Como faço isso?
[img:descricao=FormPesquisa]http://arquivo.devmedia.com.br/forum/imagem/316964-20150904-002133.jpg[/img]
[img:descricao=FormResideCidade]http://arquivo.devmedia.com.br/forum/imagem/316964-20150904-002558.jpg[/img]
Quase deu certo!!!
Como vocês pode ver na imagem eu filtrei o nome Bruno ele me trouxe todos os Brunos cadastrados eu cliquei no Bruno de código número 3 e cliquei no botão Cidade Que Reside ele posicionou o cursor(ficou selecionado) em cima da cidade referente ao Bruno de código 3(Acaua / PIAUI) , mais eu preciso que mostre apenas a cidade dele e não todas a cidades apenas a do registro que foi selecionado.Teria que aparecer apenas a cidade Acaua / Piaui !!!
Como faço isso?
[img:descricao=FormPesquisa]http://arquivo.devmedia.com.br/forum/imagem/316964-20150904-002133.jpg[/img]
[img:descricao=FormResideCidade]http://arquivo.devmedia.com.br/forum/imagem/316964-20150904-002558.jpg[/img]
GOSTEI 0
Bruno Henrique
03/09/2015
Meu Código
Form1
Form 2
Form1
procedure TForm1.Button1Click(Sender: TObject); begin CdsClientes.Filtered := false; CdsClientes.Filter:= 'NOMERAZAO LIKE ' + QuotedStr( '%' + Edit1.Text + '%' ); CdsClientes.Filtered := true; end; procedure TForm1.Button2Click(Sender: TObject); begin if DBGrid1.selectedindex = 0 then SQLQuery1.Close; SQLQuery1.SQL.Text:='SELECT CIDADENOME, ESTADO FROM CADCLIENTES'; Form2.ShowModal; end;
Form 2
Tenho um dbgrid ligado ao um datasource que está ligado ao cdsclientes do form1
GOSTEI 0
Bruno Henrique
03/09/2015
Ajuda???
GOSTEI 0
Bruno Henrique
03/09/2015
Ajuda?
GOSTEI 0
Bruno Henrique
03/09/2015
Ajuda?
GOSTEI 0
Raimundo Pereira
03/09/2015
Bruno presumo que no cadastro de cliente você armazena o código da cidade.
com isso é só montar o select.
procedure TForm1.Button2Click(Sender: TObject);
begin
SQLQuery1.Close;
SQLQuery1.SQL.Text:='SELECT CIDADENOME, ESTADO,CODIGOCIDADE FROM CADCLIENTES WHERE CODIGOCIDADE='''+
INTTOSTR(CdsClientes.FIELBYNAME('CODIGOCIDADE').ASINTEGER)+''';
SQLQuery1.OPEN;
Form2.ShowModal;
end;
Aguardo retorno.
com isso é só montar o select.
procedure TForm1.Button2Click(Sender: TObject);
begin
SQLQuery1.Close;
SQLQuery1.SQL.Text:='SELECT CIDADENOME, ESTADO,CODIGOCIDADE FROM CADCLIENTES WHERE CODIGOCIDADE='''+
INTTOSTR(CdsClientes.FIELBYNAME('CODIGOCIDADE').ASINTEGER)+''';
SQLQuery1.OPEN;
Form2.ShowModal;
end;
Aguardo retorno.
GOSTEI 0
Bruno Henrique
03/09/2015
Ainda sem solução!!!Ajuda
GOSTEI 0
Bruno Henrique
03/09/2015
Sem solução ainda!!!
GOSTEI 0
Bruno Henrique
03/09/2015
Topo
GOSTEI 0
Mateus Carvalho
03/09/2015
Mais tem que aparecer obrigatoriamente em um dbgrid?
Porque se você quer que aparece apenas a cidade de 1 cadastro, você pode colocar um edit ou uma label para mostrar esses dois valores.
Porque se você quer que aparece apenas a cidade de 1 cadastro, você pode colocar um edit ou uma label para mostrar esses dois valores.
GOSTEI 0
Bruno Henrique
03/09/2015
Mac, boa noite!!!
Isso mesmo tem que aparecer em um dbgrid!!!! Estou sem solução até agora
Isso mesmo tem que aparecer em um dbgrid!!!! Estou sem solução até agora
GOSTEI 0
Mateus Carvalho
03/09/2015
É cara, o filter vai filtrar todos com o resultado parecido. Você pode tentar o locate, mais acho que não vai ajudar. Se realmente não funcionar, tente via sql.
dataset1.Locate('NOME',Edit1.Text,[loCaseInsensitive]);
GOSTEI 0
Bruno Henrique
03/09/2015
Então com lo ate e filtrar ñ deu certo!
Como posso fazer por sql?
Como posso fazer por sql?
GOSTEI 0
Mateus Carvalho
03/09/2015
Tenta basear no exemplo do "P2". Se vc não conseguir, da um toque.
"
Bruno presumo que no cadastro de cliente você armazena o código da cidade.
com isso é só montar o select.
procedure TForm1.Button2Click(Sender: TObject);
begin
SQLQuery1.Close;
SQLQuery1.SQL.Text:='SELECT CIDADENOME, ESTADO,CODIGOCIDADE FROM CADCLIENTES WHERE CODIGOCIDADE='''+
INTTOSTR(CdsClientes.FIELBYNAME('CODIGOCIDADE').ASINTEGER)+''';
SQLQuery1.OPEN;
Form2.ShowModal;
end;
Aguardo retorno.
"
"
Bruno presumo que no cadastro de cliente você armazena o código da cidade.
com isso é só montar o select.
procedure TForm1.Button2Click(Sender: TObject);
begin
SQLQuery1.Close;
SQLQuery1.SQL.Text:='SELECT CIDADENOME, ESTADO,CODIGOCIDADE FROM CADCLIENTES WHERE CODIGOCIDADE='''+
INTTOSTR(CdsClientes.FIELBYNAME('CODIGOCIDADE').ASINTEGER)+''';
SQLQuery1.OPEN;
Form2.ShowModal;
end;
Aguardo retorno.
"
GOSTEI 0
Bruno Henrique
03/09/2015
O código do P2 não deu certo 😭😭
GOSTEI 0
Bruno Henrique
03/09/2015
Alguém?
GOSTEI 0
Christiano Vasconcellos
03/09/2015
Senhores,
Sei que este tema não tem haver com o fórum mas estou precisando de uma ajuda com urgência.
Alguém teria o componente JVaviCapture em algum local para que eu possa fazer o Download.
Atenciosamente,
Christiano Vasconcellos 21 33221859
chrsitianovasconcellos0@gmail.com
Sei que este tema não tem haver com o fórum mas estou precisando de uma ajuda com urgência.
Alguém teria o componente JVaviCapture em algum local para que eu possa fazer o Download.
Atenciosamente,
Christiano Vasconcellos 21 33221859
chrsitianovasconcellos0@gmail.com
GOSTEI 0
Bruno Henrique
03/09/2015
RESOLVIDO
GOSTEI 0