Já recebi umas 25 dicas, mais infelismente nehnuma de certo.

15/02/2003

0

Select Cli.*,Pfis.* From TabCliente Cli, TabPes_Fisica Pfis
Where cli.Cod_Vendedor = ´00´
and cli.Cod_Cidade = ´00´
and cli.Cod_Area = ´000´
and cli.Rota_Cliente = ´111´
and cli.Cod_cliente = Pfis.Cod_cliente

A instrução acima executa norma no SQL EXPLORER do Delphi, só que não tou conseguindo escrever os código para executar no delphi

abaixo tem um código que escrevi, veja...

Dm.Qr_Cliente.Close;
Dm.Qr_Cliente.SQL.Clear;
Dm.Qr_Cliente.SQL.add(´Select Cli.Cod_cliente, Pfis.* From TabCliente Cli, TabPes_Fisica Pfis´);
Dm.Qr_Cliente.SQL.Add(´Where cli.Cod_Vendedor = ´´00´´ ´);
Dm.Qr_Cliente.SQL.Add(´and cli.Cod_Cidade = ´´00´´ ´);
Dm.Qr_Cliente.SQL.Add(´and cli.Cod_Area = ´´000´´ ´);
Dm.Qr_Cliente.SQL.Add(´and cli.Rota_Cliente = ´´111´´ ´);
Dm.Qr_Cliente.SQL.Add(´and Cli.Cod_cliente = Pfis.Cod_cliente ´);
Dm.Qr_Cliente.open;

Mas algo dever está errado, pois retorna com um erro:
´Qr_Cliente: Fild ´Cod_Cliente´ not Found´


Meu Banco é ACCESS
e uso TQUERY

Agradeceria muito se alguém me ajudasse, pois até agora não consegui a solução

Jelves


Jelves

Jelves

Responder

Posts

15/02/2003

Anonymous

trira as aspas
cli.Rota_Cliente = ´´111´´
fica
cli.Rota_Cliente =111


Responder

15/02/2003

Jelves

trira as aspas cli.Rota_Cliente = ´´111´´ fica cli.Rota_Cliente =111

ja tirei mais não dá certo e nem poderia pois meus campos é do tipo STRING, o problema não é as aspas...

Obrigado...


Responder

15/02/2003

Anonymous

Caro amigo Jelves

De um espaço nesta instrução...
Dm.Qr_Cliente.SQL.add(´Select Cli.Cod_cliente, Pfis.* From TabCliente Cli, TabPes_Fisica Pfis´);

para

Dm.Qr_Cliente.SQL.add(´Select Cli.Cod_cliente, Pfis.* From TabCliente Cli, TabPes_Fisica Pfis ´);

Repare que o espaça é no final...

Espero ter ajudado. :)


Responder

15/02/2003

Jelves

Caro amigo Jelves De um espaço nesta instrução... Dm.Qr_Cliente.SQL.add(´Select Cli.Cod_cliente, Pfis.* From TabCliente Cli, TabPes_Fisica Pfis´); para Dm.Qr_Cliente.SQL.add(´Select Cli.Cod_cliente, Pfis.* From TabCliente Cli, TabPes_Fisica Pfis ´); Repare que o espaça é no final... Espero ter ajudado. :)



Sinto muito, mais ainda não é isso... dei o espaço e continua a me retornar a mensagem:
´Qr_Cliente: Fild ´Cod_Cliente´ not Found´


Responder

15/02/2003

Anonymous

Atente para a possibilidade de você ter incluído apenas alguns fields no Fields Editor da Query, caso esteja faltando algum, remova todos e faça um teste.
Atente também para a possibilidade de retorno de campos com o mesmo nome.


Responder

15/02/2003

Anonymous

Caro Alessandro,
Há mais de 4 anos tenho sistemas utilizando Delphi/Access, não acredito que sua sintaxe esteja errado, mas tente a forma que sempre deu certo comigo. Abraços...

const ctApost = #39;
.
.
.
procedure AbreQuery;
var sComando : string;
begin
sComando :=
´Select Cli.*,Pfis.* ´ +
´ From TabCliente Cli, TabPes_Fisica Pfis ´ +
´ Where cli.Cod_Vendedor = ´ + ctApost + ´00´ + ctApost +
´ and cli.Cod_Cidade = ´ + ctApost +´ 00´ + ctApost +
´ and cli.Cod_Area = ´ + ctApost + ´000´ + ctApost +
´ and cli.Rota_Cliente = ´ + ctApost + ´111´ + ctApost +
´ and cli.Cod_cliente = Pfis.Cod_cliente´;

with Dm.Qr_Cliente do
begin
Close;
SQL.Clear;
SQL.add(sComando);
if not prepared then
prepare;
open;
end;
end;


Responder

15/02/2003

Anonymous

Desculpe, a mensagem anterior que enviei era para o jelves e não para o Alessandro...


Responder

15/02/2003

Anonymous

jelves, qual é varsão do Delphi e qual é o mecanismo de acesso? BDE, ADO...?


Responder

15/02/2003

Aldeir_antonio

é O seguinte os fields não foram adicionados na query é por isso que não vai funcionar.

Para que isso funcione, vc tem que escrever o corpo do select na proprietade SQL da query, ativar para ver se a sintaxe esta ok e dar um duplo clik sobre a mesma e na janelinha que aparecer, clicar com o botão direito e a opção add all, (adicionar todos os campos), ai sim após vc executar o seu comando abaixo, funcionará com certeza....

Boa sorte...


Responder

15/02/2003

Anonymous

[color=red:0eb7f74edd]A inserção dos fields na query não é obrigatória e nem essencial para o funcionamento da mesma[/color:0eb7f74edd]. Apenas ocorrerá um erro, caso existam fields adicionados a query e a instruçao não traga algum field adicionado.


Responder

15/02/2003

Anonymous

Provavelmente você não tem o campo cadastrado no fields editor do TQuery, portanto, basta clicar com o botão direito no componente e selecionar ´Fields Editor´ e escolha entre:

- apagar todos os campos que estiverem lá ou;
- incluir o campo pretendido ´cli_codigo´ ou coisa parecida.

Se der certo mande resposta, se não der, mande seu db para:

anapaula@mconline.com.br, e-mail da minha namorada.


Responder

15/02/2003

Carnette

Use os Componente para acesso a base de dados do MAULUCO Kiril Antonov...O cara se didicou a estudar esta base de dados....Faça DOWNLOAD dele neste endereço abaixo...

componentes de controle de acesso a base de dados ACCESS
www.carnette.kit.net/d5/kadao77.zip


Responder

15/02/2003

Anonymous

Caro Alessandro, Há mais de 4 anos tenho sistemas utilizando Delphi/Access, não acredito que sua sintaxe esteja errado, mas tente a forma que sempre deu certo comigo. Abraços... const ctApost = #39; . . . procedure AbreQuery; var sComando : string; begin sComando := ´Select Cli.*,Pfis.* ´ + ´ From TabCliente Cli, TabPes_Fisica Pfis ´ + ´ Where cli.Cod_Vendedor = ´ + ctApost + ´00´ + ctApost + ´ and cli.Cod_Cidade = ´ + ctApost +´ 00´ + ctApost + ´ and cli.Cod_Area = ´ + ctApost + ´000´ + ctApost + ´ and cli.Rota_Cliente = ´ + ctApost + ´111´ + ctApost + ´ and cli.Cod_cliente = Pfis.Cod_cliente´; with Dm.Qr_Cliente do begin Close; SQL.Clear; SQL.add(sComando); if not prepared then prepare; open; end; end;




Denilson, você está usando DBE ou ADO?

Jelves


Responder

15/02/2003

Anonymous

*-------------------------*
Primeiro recrie os fields de sua query, ou seja, clique duplo sobre a query, exclua os fields e crie-os novamente.
*-------------------------*
with Dm.Qr_Cliente do
begin
if Active then
Close;
SQL.Clear;
SQL.Add(´SELECT Cli.Cod_Cliente,´);
SQL.Add(´ Pfis.*´);
SQL.Add(´FROM TabCliente Cli,´);
SQL.Add(´ TabPes_Fisica Pfis´);
SQL.Add(´WHERE Cli.Cod_Cliente = Pfis.Cod_Cliente´);
SQL.Add(´ AND Cli.Cod_Vendedor = ´ + QuotedStr(´00´));
SQL.Add(´ AND Cli.Cod_Cidade = ´ + QuotedStr(´00´));
SQL.Add(´ AND Cli.Cod_Area = ´ + QuotedStr(´000´));
SQL.Add(´ AND Cli.Rota_Cliente = ´ + QuotedStr(´111´));
Open;
end;
*-------------------------*
Para testar a query, coloque o seguinte comando antes do Open.

SQL.SaveToFile(´C:\MinhaQuery.txt´);

execute o programa, leia o arquivo criado e execute-o no SQL Explorer.


Responder

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

Aceitar