Já recebi umas 25 dicas, mais infelismente nehnuma de certo.
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
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
Curtidas 0
Respostas
Anonymous
15/02/2003
trira as aspas
cli.Rota_Cliente = ´´111´´
fica
cli.Rota_Cliente =111
cli.Rota_Cliente = ´´111´´
fica
cli.Rota_Cliente =111
GOSTEI 0
Jelves
15/02/2003
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...
GOSTEI 0
Anonymous
15/02/2003
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. :)
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. :)
GOSTEI 0
Jelves
15/02/2003
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´
GOSTEI 0
Anonymous
15/02/2003
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.
Atente também para a possibilidade de retorno de campos com o mesmo nome.
GOSTEI 0
Anonymous
15/02/2003
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;
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;
GOSTEI 0
Anonymous
15/02/2003
Desculpe, a mensagem anterior que enviei era para o jelves e não para o Alessandro...
GOSTEI 0
Anonymous
15/02/2003
jelves, qual é varsão do Delphi e qual é o mecanismo de acesso? BDE, ADO...?
GOSTEI 0
Aldeir_antonio
15/02/2003
é 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...
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...
GOSTEI 0
Anonymous
15/02/2003
[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.
GOSTEI 0
Anonymous
15/02/2003
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.
- 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.
GOSTEI 0
Carnette
15/02/2003
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
componentes de controle de acesso a base de dados ACCESS
www.carnette.kit.net/d5/kadao77.zip
GOSTEI 0
Anonymous
15/02/2003
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
GOSTEI 0
Anonymous
15/02/2003
*-------------------------*
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.
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.
GOSTEI 0