| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
guabiru33 Novato

Registrado: Quarta-Feira, 6 de Dezembro de 2017 Mensagens: 10
|
Enviada: Qui Dez 07, 2017 8:10 pm Assunto: DBGrid somente mostra registros dentro de uma condição |
|
|
Boa noite meus caros!
estou desenvolvendo um sistema de controle de validade e preciso fazer simulações pra saber quais produtos vão passar da validade nós proximos meses,
estou usando Master Detail para dividir os produtos de cada setor e gostaria de saber se é possível fazer um DBGRID que mostra todos os produtos de um "IDMESTRE", dentro de uma condição, fazer esse DBGrid mostrar somente os produtos que irão passar da validade em uma data definida por mim. |
|
| Voltar ao Topo |
|
 |
lokasso Aprendiz

Registrado: Terça-Feira, 11 de Abril de 2017 Mensagens: 174
|
Enviada: Sex Dez 08, 2017 5:18 am Assunto: |
|
|
guabiru33 brother, se for pra ser algo fixo você teria que fazer o seguinte:
Na hora de criar o form você teria que passar esse comando SQL pro banco:
| Código: | | SQL.Add('AND DATA_VAL BETWEEN '08/12/2017' AND '10/12/2017''); |
Porém se for algo dinamico você precisará colocar dois TDataTimerPiker e no minimo uma variavel
| Código: | var DT_Hoje: Date;
begin
DT_Hoje:= Now; (ou Date + 30 - para a cada 30 dias)
TDataTimerPikerInicial.Date:= Now;
//Aqui a instrução SQL da sua Query
//Abaixo você colocaria os parametros
SQL.Add('AND DATA_VAL BETWEEN :DATAI AND :DATAF');
ParamByName('DATAI').AsDate:= TDataTimerPikerInicial.Date;
ParamByName('DATAF').AsDate:= DT_Hoje;
Open;
//Ai tu continua tua SQL, caso tiver
end; |
Brother, acho que seria mais ou menos assim.
Espero que te ajude
Abraços |
|
| Voltar ao Topo |
|
 |
guabiru33 Novato

Registrado: Quarta-Feira, 6 de Dezembro de 2017 Mensagens: 10
|
Enviada: Sáb Dez 09, 2017 12:17 pm Assunto: |
|
|
| lokasso escreveu: | guabiru33 brother, se for pra ser algo fixo você teria que fazer o seguinte:
Na hora de criar o form você teria que passar esse comando SQL pro banco:
| Código: | | SQL.Add('AND DATA_VAL BETWEEN '08/12/2017' AND '10/12/2017''); |
Porém se for algo dinamico você precisará colocar dois TDataTimerPiker e no minimo uma variavel
| Código: | var DT_Hoje: Date;
begin
DT_Hoje:= Now; (ou Date + 30 - para a cada 30 dias)
TDataTimerPikerInicial.Date:= Now;
//Aqui a instrução SQL da sua Query
//Abaixo você colocaria os parametros
SQL.Add('AND DATA_VAL BETWEEN :DATAI AND :DATAF');
ParamByName('DATAI').AsDate:= TDataTimerPikerInicial.Date;
ParamByName('DATAF').AsDate:= DT_Hoje;
Open;
//Ai tu continua tua SQL, caso tiver
end; |
Brother, acho que seria mais ou menos assim.
Espero que te ajude
Abraços |
Lokasso irmão esse codigo SQL está com a syntax correta?
SQL.Add('AND DATA_VAL BETWEEN :DATAI AND :DATAF');
estou está dando erro de syntax |
|
| Voltar ao Topo |
|
 |
lokasso Aprendiz

Registrado: Terça-Feira, 11 de Abril de 2017 Mensagens: 174
|
Enviada: Sáb Dez 09, 2017 4:34 pm Assunto: |
|
|
| guabiru33 escreveu: | Lokasso irmão esse codigo SQL está com a syntax correta?
SQL.Add('AND DATA_VAL BETWEEN :DATAI AND :DATAF');
estou está dando erro de syntax |
guabiru33 brother, qual componente e qual banco você está usando?
Eu usei a sintase para FireDac e IBX, porém a partir do "(" está correto, a não ser que caso você não passe nenhuma clausula where, sugiro que antes desse código use esse:
| Código: | | SQL.Add('where 1 = 1'); |
Caso esteja usando outro componente para acesso aos teria que ver qual é o comando para ele pegar os comandos sql
Qualquer dúvida chama ai que nós tentaremos soluciona-las
Abraços brother |
|
| Voltar ao Topo |
|
 |
|