Esse erro normalmente acontece quando o query está retornando menos campos do 
que aqueles
definidos no Fields Editor do mesmo query.

Sugiro vc dar um duplo clique no Query, deletar os campos listados no fields 
editor, e mandar incluir novamente.

deve resolver,

[]s

Alexandre

  ----- Original Message ----- 
  From: Luis Hilário Tobler Garcia 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, August 07, 2008 11:11 AM
  Subject: Re: [delphi-br] [DELPHI-Total] consulta lenta


  Bom dia Nicolas,
  segui as dicas que você me deu, segue abaixo o código SQL que eu elaborei e 
que funcionou perfeitamente no IBConsole:

  Select 
Alu.Codigo,Alu.Nome,Alu.NomeResponsavel,Alu.RGResponsavel,Alu.CPFResponsavel,
  Alu.DataNascimento,Alu.Sexo,Alu.CEP,Alu.Nome,Ru.Nome as 
NomeRua,Alu.Numero,Alu.Complemento,
  Bai.Nome as NomeBairro,Cid.Nome as NomeCidade,Cid.UF as UFCidade,Cid.DDD as 
DDD,
  Alu.TelefoneResidencial,Alu.TelefoneComercial,Alu.TelefoneCelular,Alu.Email,
  Alu.ProximaAvaliacaoFisica,Alu.ProximoPagamento,Alu.Observacoes,Alu.Situacao,
  Alu.DataCadastro,Alu.UltimaAlteracao,Usu.F4 as Usuario From Alunos Alu
  Left Join Ruas Ru on Alu.CodigoRua = Ru.Codigo
  Left Join Bairros Bai on Ru.CodigoBairro = Bai.Codigo
  Left Join Cidades Cid on Bai.CodigoCidade = Cid.Codigo
  Left Join Usuarios Usu on Alu.CodigoUsuario = Usuarios.F1

  Porém ao tentar usar esse mesmo código dentro do Delphi 7 obtive o erro: " No 
argument for format '%s' ", segue abaixo o código em pascal:

  with dtmAcademia do
  begin
  with ibqryAlunos do
  begin
  SQL.Clear;
  SQL.Add('SELECT Alu.Codigo,Alu.Nome,Alu.NomeResponsavel,Alu.RGResponsavel,');
  SQL.Add('Alu.CPFResponsavel,Alu.DataNascimento,Alu.Sexo,Alu.CEP,Alu.Nome,');
  SQL.Add('Ru.Nome AS NomeRua,Alu.Numero,Alu.Complemento,Bai.Nome AS 
NomeBairro,');
  SQL.Add('Cid.Nome AS NomeCidade,Cid.UF AS UFCidade,Cid.DDD AS DDD,');
  SQL.Add('Alu.TelefoneResidencial,Alu.TelefoneComercial,Alu.TelefoneCelular,');
  SQL.Add('Alu.Email,Alu.ProximaAvaliacaoFisica,Alu.ProximoPagamento,');
  SQL.Add('Alu.Observacoes,Alu.Situacao,Alu.DataCadastro,Alu.UltimaAlteracao,');
  SQL.Add('Usu.F4 AS Usuario FROM Alunos Alu ');
  SQL.Add('LEFT JOIN Ruas Ru ON Alu.CodigoRua = Ru.Codigo ');
  SQL.Add('LEFT JOIN Bairros Bai ON Ru.CodigoBairro = Bai.Codigo ');
  SQL.Add('LEFT JOIN Cidades Cid ON Bai.CodigoCidade = Cid.Codigo ');
  SQL.Add('LEFT JOIN Usuarios Usu ON Alu.CodigoUsuario = Usuarios.F1');
  Open;
  end;
  end;

  Estou fazendo alguma coisa errada?

  Valeu, Hilário.

  ----- Original Message ----- 
  From: Nicolas 
  To: Luis Hilário Tobler Garcia ; delphi-br@yahoogrupos.com.br 
  Sent: Tuesday, August 05, 2008 8:26 AM
  Subject: Re: [delphi-br] [DELPHI-Total] consulta lenta

  Ok, no exemplo abaixo vou exibir o nome da rua na consulta de alunos,
  a partir dai basta você aplicar a mesma idéia para os outros relacionamentos:

  Select a.Codigo,a.Nome,r.Nome as NomeDaRua
  From Alunos a
  Left Join Ruas r on a.CodigoRua = r.Codigo 

  Veja que quando queremos fazer relacionamentos, precisamos dar um "apelido" 
(alias) para as tabelas.
  Neste exemplo a tabela Alunos recebeu o apelido "a" e a tabela Ruas o apelido 
"r"
  O relacionamento é feito pelo "Left Join" onde informamos a tabela de 
relacionamento bem como os campos que se relacionam após a cláusula "on".

  Acredito que a partir deste embrião você pode fazer todos os relacionamentos 
que precisa e deixar de usar os lookups que realmente são muito lentos.

  []s

  Alexandre

  ----- Original Message ----- 
  From: Luis Hilário Tobler Garcia 
  To: Nicolas 
  Sent: Monday, August 04, 2008 8:44 PM
  Subject: Re: [delphi-br] [DELPHI-Total] consulta lenta

  Então Nicolas,
  eu só uso queries, tenho relacionamento entre as tabelas, mas não sei como 
implementar a sua sugestão, o que eu tenho que fazer para exibir, por exemplo, 
o nome da rua, no dbgrid da consulta de alunos?

  ps: segue abaixo o código SQL de minhas 4 tabelas.

  Obrigado, Hilário.

  CREATE TABLE Cidades
  (Codigo DMCodigo,
  Nome DMNomeMedio,
  UF DMUF,
  DDD DMDDD,
  UltimaAlteracao DMData,
  DataCadastro DMData,
  CodigoUsuario DMCodigo,
  PRIMARY KEY(Codigo),
  FOREIGN KEY(CodigoUsuario) REFERENCES Usuarios(F1));

  CREATE TABLE Bairros
  (Codigo DMCodigo,
  Nome DMNomeMedio,
  CodigoCidade DMCodigo,
  UltimaAlteracao DMData,
  DataCadastro DMData,
  CodigoUsuario DMCodigo,
  PRIMARY KEY(Codigo),
  FOREIGN KEY(CodigoCidade) REFERENCES Cidades(Codigo),
  FOREIGN KEY(CodigoUsuario) REFERENCES Usuarios(F1));

  CREATE TABLE Ruas
  (Codigo DMCodigo,
  Tipo DMTipoRua,
  Nome DMNomeMedio,
  CodigoBairro DMCodigo,
  UltimaAlteracao DMData,
  DataCadastro DMData,
  CodigoUsuario DMCodigo,
  PRIMARY KEY(Codigo),
  FOREIGN KEY(CodigoBairro) REFERENCES Bairros(Codigo),
  FOREIGN KEY(CodigoUsuario) REFERENCES Usuarios(F1));

  CREATE TABLE Alunos
  (Codigo DMCodigo,
  Nome DMNomeLongo,
  NomeResponsavel DMNomeLongo,
  RGResponsavel DMRG,
  CPFResponsavel DMCPF,
  DataNascimento DMData,
  DiaNascimento DmDia,
  Sexo DMUmCaracter,
  CEP DMCEP,
  CodigoRua DMCodigo,
  Numero DMNumero,
  Complemento DMComplemento,
  TelefoneResidencial DMTelefone,
  TelefoneComercial DMTelefone,
  TelefoneCelular DMTelefone,
  Email DMNomeMedio,
  ProximaAvaliacaoFisica DMData,
  DiadoPagamento DMDia,
  ProximoPagamento DMData,
  Observacoes DMNomeLongo,
  Situacao DMSituacao,
  UltimaAlteracao DMData,
  DataCadastro DMData,
  CodigoUsuario DMCodigo,
  PRIMARY KEY(Codigo),
  FOREIGN KEY(CodigoUsuario) REFERENCES Usuarios(F1));

  ----- Original Message ----- 
  From: Nicolas 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, August 04, 2008 5:41 PM
  Subject: Re: [delphi-br] [DELPHI-Total] consulta lenta

  Minha sugestão é deixar de usar campos lookup, e usar query com 
relacionamento entre tabelas,
  dai vc cria índices para os campos de relacionamento e suas consultas irão 
ganhar velocidade.

  []s

  Alexandre

  ----- Original Message ----- 
  From: Luis Hilário Tobler Garcia 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, August 04, 2008 4:33 PM
  Subject: Re: [delphi-br] [DELPHI-Total] consulta lenta

  Boa tarde pessoal,
  mesmo sem nenhuma sugestão do grupo, consegui achar ONDE está o problema, 
porém ainda estou tentando achar uma boa solução, o problema está nos campos 
Lookup, segue abaixo a estrutura de dados, eu ficarei grato em receber, se 
alguém tiver alguma sugestão ou critica construtiva sobre como continuar 
disponibilizar os dados lookups do endereço no DBGrid da consulta de Alunos com 
uma velocidade de acesso aos dados razoável.

  Valeu, Hilário.

  CIDADES
  Codigo
  Nome
  UF
  DDD

  BAIRROS
  Codigo
  Nome
  NomeCidade (Lookup de CIDADES)
  UFCidade (Lookup de CIDADES)
  DDDCidade (Lookup de CIDADES)

  RUAS
  Codigo
  Tipo
  Nome
  CodigoBairro
  NomeBairro (Lookup de BAIRROS)
  NomeCidade (Lookup de BAIRROS)
  UFCidade (Lookup de BAIRROS)
  DDDCidade (Lookup de BAIRROS)

  ALUNOS
  Codigo
  Nome
  NomeResponsavel
  RGResponsavel
  CPFResponsavel
  DataNascimento
  DiaNascimento
  Sexo
  CEP
  CodigoRua
  NomeRua (Lookup de RUAS)
  NomeBairro (Lookup de RUAS)
  NomeCidade (Lookup de RUAS)
  UFCidade (Lookup de RUAS)
  DDDCidade (Lookup de RUAS)
  Numero
  Complemento
  TelefoneResidencial
  TelefoneComercial
  TelefoneCelular
  Email
  ProximaAvaliacaoFisica
  DiadoPagamento
  ProximoPagamento
  Observacoes
  Situacao

  ----- Original Message ----- 
  From: Luis Hilário Tobler Garcia 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, July 28, 2008 3:59 PM
  Subject: [delphi-br] [DELPHI-Total] consulta lenta

  Boa tarde pessoal,
  estou tendo um problema de lentidão em BD. Faço tudo com queries e depois que 
o banco passou a ter uns 60 registros em umas 4 tabelas, para abrir uma 
consulta demora uma eternidade, em um Pentium II 400 demora uns 3 minutos para 
abrir esta janela. Alguém saberia como resolver isso?

  ps: Uso Interbase 6.5

  Valeu, Hilário

  [As partes desta mensagem que não continham texto foram removidas]

  [As partes desta mensagem que não continham texto foram removidas]

  No virus found in this incoming message.
  Checked by AVG - http://www.avg.com 
  Version: 8.0.138 / Virus Database: 270.5.12/1590 - Release Date: 4/8/2008 
08:09

  [As partes desta mensagem que não continham texto foram removidas]

  No virus found in this incoming message.
  Checked by AVG - http://www.avg.com 
  Version: 8.0.138 / Virus Database: 270.5.12/1590 - Release Date: 4/8/2008 
08:09

  [As partes desta mensagem que não continham texto foram removidas]

  [As partes desta mensagem que não continham texto foram removidas]



   
No virus found in this incoming message.
Checked by AVG - http://www.avg.com 
Version: 8.0.138 / Virus Database: 270.5.12/1597 - Release Date: 7/8/2008 05:54


[As partes desta mensagem que não continham texto foram removidas]

Responder a