Fireboard Postado Dezembro 23, 2007 Denunciar Share Postado Dezembro 23, 2007 Estou tentando utilizar um query no quick report da seguinte maneira:inseri um objeto query, mudei a propriedade dataset do quick report para query1no objeto query1, na propriedade SQL inseri: select * from clientes.db nomcli where nomcli = ednome.textonde 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fireboard Postado Dezembro 23, 2007 Autor Denunciar Share Postado Dezembro 23, 2007 No objeto query1, na propriedade SQL inseri: select * from clientes.db nomcli where nomcli = ednome.textonde 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Dezembro 25, 2007 Denunciar Share Postado Dezembro 25, 2007 No objeto query1, na propriedade SQL inseri: select * from clientes.db nomcli where nomcli = ednome.textonde 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 = :NomClidepois, 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: postAbraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fireboard Postado Dezembro 26, 2007 Autor Denunciar Share Postado Dezembro 26, 2007 Valeu Micheus, muito obrigado pelas dicas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Fireboard
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
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.