locked
Formulário com pré seleção pra jogar no relatório. RRS feed

  • Pergunta

  • Eu quero fazer um formulário, que tenha algumas opções como:
    :) Data Expurgo
    :) Data Notificação
     :) Data Controle

    Sendo que cada carinha dessa, seja uma caixa pro usuário marcar ou não... dai dependendo do que ele marcar, é o que vai pro relatório... ou seja, se ele não marcar algum quadradinho, essa informação não vai pro relatório... é possível fazer isso? alguém pode me ajudar me mostrando como posso fazer isso?

    Desde já muito obrigado.
    terça-feira, 9 de março de 2010 17:09

Todas as Respostas

  • É possível. Você precisará usar VBA para montar o SQL de origem de dados do relatório e definir a origem dos controles do relatório.
    Luiz Cláudio Cosenza Vieira da Rocha - http://msmvps.com/blogs/officedev - IT Lab www.itlab.com.br
    quarta-feira, 10 de março de 2010 02:56
    Moderador
  • Bom dia Rmaragno, a implementação disso no access é bem simples, você precisa de:

    - 1 ou mais tabelas;
    - Dependendo do filtro terá algumas consultas;
    - 1 relatório;
    - 1 Macro;
    - 1 Formulário.

    Veja esse exemplo bem simples pra ver se te atende: http://www.yamaguti.net/msdn/AjudaRelatorio.rar

    Detalhamento desse exemplo passo a passo:

    Macro M1
    Possui comando de abrir, fechar e cancelar o formulário 1_Fonte e o comando de definir valor.

    Relátório 1_Agenda_de_Audiencia
    Possui eventos:
    Ao abrir: Chama a macro M1.abrir
    Ao fechar: Chama a macro M1.fechar

    Formulário 1_Fonte
    Possui dois botões, OK e Cancelar, eventos:

    Botão Cancelar ao clicar chama a macro M1.cancelar

    Botão OK chama o código abaixo:

    Private Sub Comando4_Click()
    'Condição de verificação
    If [Form_1_Fonte].Advogado.Value = "todos" And [Form_1_Fonte].clientes.Value = "todos" And [Form_1_Fonte].UF.Value = "todos" Then
        [Report_1_Agenda_de_Audiencia].RecordSource = "1_Agenda_de_Audiencia8"
       
    End If
    If [Form_1_Fonte].Advogado.Value = "todos" And [Form_1_Fonte].clientes.Value = "todos" And [Form_1_Fonte].UF.Value <> "todos" Then
        [Report_1_Agenda_de_Audiencia].RecordSource = "1_Agenda_de_Audiencia7"
    End If
    If [Form_1_Fonte].Advogado.Value = "todos" And [Form_1_Fonte].clientes.Value <> "todos" And [Form_1_Fonte].UF.Value <> "todos" Then
        [Report_1_Agenda_de_Audiencia].RecordSource = "1_Agenda_de_Audiencia6"
    End If
    If [Form_1_Fonte].Advogado.Value = "todos" And [Form_1_Fonte].clientes.Value <> "todos" And [Form_1_Fonte].UF.Value = "todos" Then
        [Report_1_Agenda_de_Audiencia].RecordSource = "1_Agenda_de_Audiencia5"
    End If
    If [Form_1_Fonte].Advogado.Value <> "todos" And [Form_1_Fonte].clientes.Value = "todos" And [Form_1_Fonte].UF.Value = "todos" Then
        [Report_1_Agenda_de_Audiencia].RecordSource = "1_Agenda_de_Audiencia4"
    End If
    If [Form_1_Fonte].Advogado.Value <> "todos" And [Form_1_Fonte].clientes.Value = "todos" And [Form_1_Fonte].UF.Value <> "todos" Then
        [Report_1_Agenda_de_Audiencia].RecordSource = "1_Agenda_de_Audiencia3"
    End If
    If [Form_1_Fonte].Advogado.Value <> "todos" And [Form_1_Fonte].clientes.Value <> "todos" And [Form_1_Fonte].UF.Value <> "todos" Then
        [Report_1_Agenda_de_Audiencia].RecordSource = "1_Agenda_de_Audiencia2"
    End If
    If [Form_1_Fonte].Advogado.Value <> "todos" And [Form_1_Fonte].clientes.Value <> "todos" And [Form_1_Fonte].UF.Value = "todos" Then
        [Report_1_Agenda_de_Audiencia].RecordSource = "1_Agenda_de_Audiencia1"
    End If

     DoCmd.RepaintObject acReport, "1_Agenda_de_Audiencia"
        
          
          
          
          
          
          
    'Acionamento da Macro
    On Error GoTo Err_Comando4_Click


        Dim stDocName As String

        stDocName = "M1.OK"
        DoCmd.RunMacro stDocName

    Exit_Comando4_Click:
        Exit Sub

    Err_Comando4_Click:
        MsgBox Err.Description
        Resume Exit_Comando4_Click
              
          
          
          
          
          
       
    End Sub

    O botão ok é que faz a escolha de qual será a origem do relatório. Espero ter ajudado.

     


    Melhor que dar o peixe é ensinar a pescar

    Daniel Yamaguti
    Gerente de TI
    terça-feira, 6 de abril de 2010 14:23