Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sérgio_BR

Resposta

Recommended Posts

Caro Hugo:

 

Desculpe a demora em responder....estou sem net em casa e como tenho pouco tempo após o trabalho, demorei prá responder....

Com relação ao Evento AfterPost, venho usando-o, porque vi em apostilas e pesquisas na net, que essa "técnica" ajuda a previnir perda de dados (por qualquer motivo...) e com isso os gravamos físicamente.

Não sei se a não utilização iria acarretar problemas no futuro....

Bom, no momento, embora sem nenhuma pesquisa, gostaria de saber como faço para que um DBGrid exiba informações referentes a um nome qualquer, cadastrado no BD... para isso uso um DBLookComboBox com os nome....o usuario só tem que escolher um nome e o Grid exibe as informações....é necessário o uso desse DBLookComboBox...

Valeu?

 

Um abraço e

 

Obrigado!

 

Sérgio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala fera, beleza???

 

você quer filtrar os dados em um TDBGrid de acordo com o nome selecionando dentro de uma DBLooukComboBox.. certo???

 

Partindo do principio que temos uma tabela chamada Clientes com a estrutura abaixo:

 

Codigo_Cliente

Nome_Cliente

 

e uma tabela de Vendas sem muitos detalhes:

 

Codigo_Cliente

Codigo_Venda

Data_Venda

Valor_Total.....

 

 

você faria assim:

 

1 query para trazer os clientes da tabela cliente com o SQL:

 

Select Codigo_cliente, nome_cliente from Clientes;

 

 

Mas note: Essa query se você tiver muitos clientes vai ficar muito lenta... sugiro que use parâmetros ou uma tela de pesquisa rápida de clientes... Eu por exemplo nos sistemas que desenvolvo procuro usar o mínimo possível de Lookups.... isso aumenta e muito a performance de seu sistema...

 

Dando continuidade aqui....

 

Após fazer as ligações do Lookup com a Query de pesquisa de clientes... faça o seguinte no OnCloseUp do Lookup de pesquisa:

 

qryBuscaVendas.Close;

qryBuscaVendas.SQL.Clear;

qryBuscaVendas.SQL.Add('Select Codigo_Venda, Data_Venda, Valor_total from Vendas');

qryBuscaVendas.SQL.Add('Where codigo_cliente = '+qryLookupClienteCodigo_Cliente.AsString);

qryBuscaVendas.Open;

 

 

E ai ta feita a sua busca....

 

Sugiro que troque esse lookup por um form de consulta de clientes parametrizado, ou seja, sempre filtrando por algum dado como por exemplo a razão social do cliente...

 

 

Abraço! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, cara?

 

Bom, vou testar sua sugestão hoje mesmo....

 

Então..você não teria ai, uma sugestão para uma consulta "bem apurada" com data? por exemplo: suponhamos que eu deseje saber compromissos agendados para o dia "15/08/2008"...eu entre com a data e o Grid exiba os dados? Pensei em algo como: o sistema sabe que qualquer data que eu coloque, essa se refere ao ano corrente e mês corrente também....então entro apenas com dia....pode ser?

 

Um abraço e mais uma vez,

 

Obrigadão!

 

Sérgio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bão, e você???

 

 

Sim, teria...

 

Uma forma que me vem a cabeça no momento é o seguinte:

procedure TForm1.Button1Click(Sender: TObject);
var sdata : String;
	fdata : TDateTime;
begin
  sdata := edtDia.Text + '/' + FormatDateTime('mm/yyyy',Date);
  if TryStrToDate(sdata,fdata) then
	 Showmessage('Data fornecida para pesquisa: ' + sdata)
  else
	 Showmessage('A data fornecida é inválida. Verifique!');
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.