Ir para conteúdo
Fórum Script Brasil
  • 0

Query


Fireboard

Pergunta

Estou tentando utilizar um query no quick report da seguinte maneira:

inseri um objeto query, mudei a propriedade dataset do quick report para query1

no objeto query1, na propriedade SQL inseri: select * from clientes.db nomcli where nomcli = ednome.text

onde ednome.text contém a palavra a pesquisar, mas o relatório não exibe nenhum dado.

Fiz algumas alterações, mas aparecem mensagens de erro de número 10070, 10038,

No que estou errando?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
No objeto query1, na propriedade SQL inseri: select * from clientes.db nomcli where nomcli = ednome.text

onde ednome.text contém a palavra a pesquisar, mas o relatório não exibe nenhum dado.

Fiz uma alteração no código: select * from "clientes.db" where nomcli = 'jose'

Fiz um teste usando a palavra josé para ver se dava certo, deste jeito deu certo, daí eu inseri o que realmente me interessa:

select * from "clientes.db" where nomcli = 'ednome.text' (ednome.text está em outro formulário) só que o objeto ednome.text não é reconhecido no quick report.

Como eu faço para que ele seja reconhecido no relatório, eu inseri em implementation do quick report: uses U_ConsCli; que é o arquivo .pas do formulário.

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0
No objeto query1, na propriedade SQL inseri: select * from clientes.db nomcli where nomcli = ednome.text

onde ednome.text contém a palavra a pesquisar, mas o relatório não exibe nenhum dado.

Fiz uma alteração no código: select * from "clientes.db" where nomcli = 'jose'

Fiz um teste usando a palavra josé para ver se dava certo, deste jeito deu certo, daí eu inseri o que realmente me interessa:

select * from "clientes.db" where nomcli = 'ednome.text' (ednome.text está em outro formulário) só que o objeto ednome.text não é reconhecido no quick report.

Como eu faço para que ele seja reconhecido no relatório, eu inseri em implementation do quick report: uses U_ConsCli; que é o arquivo .pas do formulário.

Fireboard, em primeiro lugar, sugiro que você parametrize sua consulta SQL: select * from clientes where nomcli = :NomCli

depois, para inicializar este parâmetro, você utiliza o método ParamByName do seu dataset tipo query (você não citou que componente está utilizando, mas é o seu query1);

Para acessar o valor do texto digitado no outro form, você tem duas opções:

1) como você adicionou o form na cláusula uses do relatório, então basta que você indique o caminho completo deste componente, neste caso, indicando o form onde ele está, que pelo nome da sua unit, poderia ser algo como ConsCli.ednome.text (onde ConsCli, seria o nome do form onde o componente EdNome está);

2) criar uma função no seu form onde está o quickreport, e passar como parâmetro para ela o nome. Então, neste função, você inicializaria a sua querie e mostraria o relatório; (é o modo mais elegante, eu diria) - um exemplo.

Em qualquer dos casos, a atribuição do valor ao parâmetro na sua query seria assim:

query1.ParaByName('NomCli').AsString := ConsCli.ednome.text; (se utilizando o caminho do Edit)

query1.ParaByName('NomCli').AsString := NomCli; (se utilizando a função, onde o nome do parâmetro seria NomCli)

Apenas uma observação: caso você queira fazer uma busca por aproximação, ou seja, nomes que começam com o texto digitado ou que o contenham em qualquer posição, você terá que fazer uso de LIKE e não do sinal de igual (=).

Veja exemplo: post e uma exemplificação: post

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...