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

Problemas Com O Quickreports


Carlos Rocha

Pergunta

Ola pessoal,

Tem um relartório de cheques passados e um form pasras cadastrar casda cheque,

No form, de casdastro, eu uso DBLookUpCombobox pra gravar apenas numeros, como por exemplo, pra que foi passado o cheque, ('para o cliente 05 da tabera ded clientes').

Porem, quando vou emitir o relatório, la estao o 'Cliente 05 em vez do nome dele'.

Preciso arranjar uma forma de fazer uma query verificando, no quickreport, qual o nome do cliente na tabela de clientes, que possui o id 5, qual o banco na tabela de bancos, que possui o id 8,.

alguém pode me ajudar nessa.?

Obrigado.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Este questionamento já foi sanado via MSN, mas como pode ser útil a alguém, vou colocar aqui só para constar.

Existem duas possibilidades:

1) trazer todos os campos numa querie só (usando join's) - a mais simples e versátil;

2) trazendo os campos principais numa query e os outros (lookup's) em queries auxiliáres.

Vou mostrar a 2ª opção (apenas um exemplo simples).

Para isso, teremos o relatório ligado ao dataset QryBancos.

As queries auxiliáres buscarão, para cada linha em cheques, apenas o dado associado. Para isto definiremos na cláusula where, destas queries, um parâmetro que viabilize este filtro. Normalmente o nome dos campos pode ser o mesmo entre as tabelas relacionadas, mas neste caso, o colega tem nomes diferentes (ID nas lookups e nome, cidade e banco na principal). Assim, sendo, querendo obter o valor dos parâmetros a partir do dataset principal, teremos que definir o nome do parâmetro com aquele existente naquele dataset. Para concluir a configuração, devemos ligar a propriedade DataSource das queries auxiliáres ao datasource que aponta para (está ligado) o dataset principal.

na query principal (QryCheques) buscamos os campos necessários:

select nome, cidade, banco, numero, valor from Cheques

as queries auxiliáres usamos para buscar os campos de lookup:

QryNomes = select nome, cpf_cnpj from Nomes where id = :nome

QryCidades= select cidade from Cidades where id = :cidade

QryBancos = select banco from bancos where id = :banco

No relatório, basta ligar os componentes TQRDBText ao dataset de onde provém os dados (do principal ou lookup).

Antes de chamar o preview do relatório, as queries devem ser abertas apenas - nenhum parâmetro será passado aqui, eles serão obtidos automaticamente.

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...