Autor Tópico: Imprimir a Partir da Escolha de Um Check Box  (Lida 3087 vezes)

ajritta

  • Full Member
  • ***
  • Mensagens: 202
  • Karma: +0/-0
  • A Paz do Eu
Imprimir a Partir da Escolha de Um Check Box
« Online: Fevereiro 23, 2012, 11:48:37 am »
Bom dia!

Pessoal, como eu faço, para que sejam impressos apenas os registros de uma tabela que forem selecionados em um check box.

Ex.: Tenho uma tabela que o primeiro campo são check boxes e o segundo são nomes. No relatório deverá ser impresso, apenas os nomes que tiverem seus check boxes marcados. Como posso fazer isso?

Desde já,
Agradeço a atenção.

Davi

  • Global Moderator
  • *****
  • Mensagens: 426
  • Karma: +0/-0
Re:Imprimir a Partir da Escolha de Um Check Box
« Responder #1 Online: Fevereiro 24, 2012, 10:32:58 am »
Bom...  Tudo vai depender de como vc montou seu relatório.

Vc esta fazendo o relatório via programação por data source, esta fazendo imprimir a partir de uma query do
windev ou esta imprimindo a partir do componente table?

Para este caso eu recomendo usar via programação por data source.

Eu faria assim

For i = 1 to tablecount(tabela)
  if tabela.colchek = true
 
      //
      //  monta o filtro e envia o dado para o relatorio
      //
  end

end

ajritta

  • Full Member
  • ***
  • Mensagens: 202
  • Karma: +0/-0
  • A Paz do Eu
Re:Imprimir a Partir da Escolha de Um Check Box
« Responder #2 Online: Fevereiro 24, 2012, 12:22:18 pm »
Olá Davi.

Depois de muito tentar, eu encontrei uma forma diferente de fazer. Não sei se é a mais correta, mas funcionou bem.

No evento do botão para imprimir eu coloquei o seguinte código:
i is int
FOR i = 1 TO TableCount(TABLE_Carteirinhas)
   TableSelectPlus(TABLE_Carteirinhas)
END
iPreview(i100, "Impressão de Carterinhas", True)
iPrintReport(RPT_Carteirinhas,1)

E no Filter do relatório eu fiz o seguinte:
IF WIN_Imprimir_Carteirinhas.COL_Selecionar_IdAssociado = gRecebevalor THEN
   RESULT True
ELSE
   RESULT False
END

Dessa forma, eu passei o parâmetro no botão de impressão, ou seja, se o check box estiver marcado imprime, se não, não imprime nada.
Lembrando que a opção do Relatório deve estar para single selection (eu utilizei um relatório que é montado a partir de uma tabela).

Na tabela deve estar habilidado a opção de Multiselection, para que o FOR possa percorrer toda a tabela e enviar para o relatório, onde o filtro irá selecionar os registros que devem ser impressos.

Talvez a solução não tenha ficado muito elegante, mas funcionou bem.

Abraços,