GARANTIR DESCONTO

Fórum Ajuda na SQL ?????? #313163

15/02/2006

0

Pessoal, estou tentando fazer um Query utilizando 2 tabelas, essa query tem que selecionar os registro cadastrados a parti de uma data Inicial e Final, segue abaixo o codigo que estou utilizando:

With Query1 Do
Begin
SQL.Text:=´SELECT V.NomeCliente,V.DataVeiculacao,A.Colocacao FROM veiculacao V, anuncios A WHERE V.DataVeiculacao BETWEEN :DataInicial AND :DataFinal´;
ParamByName(´DataInicial´).AsString := FormatDateTime(´yyyy-mm-dd´, DateTimePicker1.Date);
ParamByName(´DataFinal´).AsString := FormatDateTime(´yyyy-mm-dd´, DateTimePicker2.Date);
SQL.Add(´ORDER BY V.NomeCliente´);
Open;
End;

Não está dando erro, mais não está selecionando os registros de acordo com a Data Inicial e Final, agora quando eu tiro a Tabela ´anuncios´, a SQL efetua a consulta normalmente.

Obrigado


Leandrosl

Leandrosl

Responder

Posts

15/02/2006

Titanius

Amigo leandro tente assim:

With Query1 Do 
Begin 
SQL.Text:=´SELECT V.NomeCliente,V.DataVeiculacao,A.Colocacao FROM veiculacao V, anuncios A WHERE V.DataVeiculacao BETWEEN :DataInicial AND :DataFinal´; 
ParamByName(´DataInicial´).AsDateTime := DateTimePicker1.Date;
ParamByName(´DataFinal´).AsDateTime := DateTimePicker2.Date; 
SQL.Add(´ORDER BY V.NomeCliente´); 
Open; 
End; 



Quando for usar datas e horas, sempre passe como tal... nuinca como string... pois pode ocorrer este tipo de ´problema´


[]s


Responder

Gostei + 0

15/02/2006

Emerson Nascimento

outra coisa... em que momento a tabela [b:71b0d11b9d]veiculacao[/b:71b0d11b9d] está sendo relacionada com a tabela [b:71b0d11b9d]anuncios[/b:71b0d11b9d]?
da forma como está o resultado pode não ser o desejado...


Responder

Gostei + 0

15/02/2006

Leandrosl

Emerson, utilizei seu codigo acima e não funciono, ele deu um erro dizendo ´Operation not Applicable ´,sobre a sua pergunta, ela está sendo relacionada no momento que estou abrindo o formulário

Obrigado


Responder

Gostei + 0

15/02/2006

Emerson Nascimento

sempre passe o maior número de informações possível:
versão do delphi,
banco de dados,
versão do banco de dados,
componentes de acesso,
e o que mais for pertinente...

vamos lá...
with Query1 Do 
begin 
  SQL.Text :=
    ´SELECT ´+
    ´  V.NomeCliente, V.DataVeiculacao, A.Colocacao ´+
    ´FROM ´+
    ´  veiculacao V ´+
    ´inner join ´+
    ´  anuncios A on (A. = V.) ´+ <-- como relacionar as tabelas?
    ´WHERE ´+
    ´  V.DataVeiculacao BETWEEN :DataInicial AND :DataFinal ´+
    ´ORDER BY ´+
    ´  V.NomeCliente´;
  ParamByName(´DataInicial´).AsDate := DateTimePicker1.Date;
  ParamByName(´DataFinal´).AsDate := DateTimePicker2.Date;
  Open; 
end;

[b:655fde05bc]quais campos são utilizados para fazer o relacionamento entre as tabelas veiculacao e anuncios?[/b:655fde05bc]


Responder

Gostei + 0

15/02/2006

Leandrosl

Emerson, eu vo tentar ser um pouco mais claro, bom eu tenho formulario que me mostra todos os registros aparti de Uma Data Inicial e Final informado pelo usuario, o campo que estou usando pra fazer a comparação é ´DataVeiculacao´ da Tabela ´Veiculacao´, segue abaixo o codigo que estou utilizando:

SQL.Text:=´SELECT * FROM veiculacao WHERE DataVeiculacao BETWEEN :DataInicial AND :DataFinal´;
ParamByName(´DataInicial´).AsString := FormatDateTime(´yyyy-mm-dd´, DateTimePickerVeiculacao1.Date);
ParamByName(´DataFinal´).AsString := FormatDateTime(´yyyy-mm-dd´, DateTimePickerVeiculacao2.Date);
SQL.Add(´ORDER BY NomeCliente´);
Open;

Esse formulario está funcionando do jeito que eu queria, sem problema algum. Mais agora estou precisando incluir um campo de outra tabela neste mesmo formulário, que é o campo ´Colocacao´ da Tabela ´anuncios´. Então a minha duvida é essa, como faço pra incluir este campo de outra tabela nesta SQL, e o campo que estou tentando compara é o ´DavaVeiculacao´. Será que este codigo que vc passo acima se enguadra neste processo que estou querendo fazer ?

Obs: O banco é MySQL, utilizo o delphi 7 e o Sistema Operacional é Windows XP

Obrigado


Responder

Gostei + 0

15/02/2006

Rjun

Para você exibir colunas de tabelas diferentes você deve criar um relacionamento entre elas, senão você não ira conseguir o que você quer. Então é necessário fazer um join entre as tabelas Veiculacao e Anuncios. Para isso, tem que existir um campo que seja comum entre as duas tabelas. O exemplo que o emerson passou esta perfeito.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar