MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


4 participantes

    [Resolvido]Comparação para abrir relatórios

    avatar
    Henri
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    [Resolvido]Comparação para abrir relatórios Empty [Resolvido]Comparação para abrir relatórios

    Mensagem  Henri 26/3/2019, 18:30

    Olá pessoal!

    Estou com uma dificuldade para realizar a comparação no evento apos o click de um botão, esse botão está num formulário com alguns campos para a seleção, a depender dos resultados das seleções abro os respectivos relatórios.
    Nesse formulário de chamada dos relatórios tenho os campos para a seleção e alguns deles vai ficar sem registro, então terei que fazer as comparações nos campos que contem registro e sem registro (vazio).

    Já estou com todos os relatórios prontos através das consultas que atende a minha necessidade.

    Desde já agradeço pela ajuda!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Alexandre Neves 27/3/2019, 18:16

    Boa tarde e bem-vindo ao fórum
    Leia e respeite as regras para termos o fórum organizado e mantermos os membros respeitados

    Colocou uma dúvida, um membro deu uma resposta e o colega não deu seguimento
    Dê continuidade aos temas por si abertos

    Sobre a presente dúvida, dê todos os pormenores e pode disponibilizar dados significativos para se avaliar melhor e trabalhar em concreto a sua dúvida


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Henri
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Henri 27/3/2019, 20:57

    Olá Alexandre, boa tarde!
    Respondi sim a resposta do colega, como conseguir resolver a dúvida tentei excluir o tópico mas não conseguir e acabei excluindo somente a resposta que fiz ao colega.
    Desculpe aí pela falha.

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Alexandre Neves 27/3/2019, 21:08

    Quando consegue resolver, divulgue como conseguiu para ajudar outros que tenham a mesma dúvida. É este o objectivo do fórum
    Assim, vá ao tema e complete-o e dê-o por Resolvido no botão apropriado


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Henri
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Henri 27/3/2019, 21:12

    Sobre a duvida vou tentar explicar, sou iniciante no Access.

    Tenho um projeto para registro de ocorrências em linhas de produção, já tenho finalizado todos os cadastros dos equipamentos, setores, áreas, linhas, e funcionários.
    Já finalizei também todas as consultas, formulários e login, estou agora iniciando os relatórios, como o meu projeto se baseia exclusivamente em seleção por filtros tenho várias consultas para obter os dados necessários para as fonte dos registros dos formulários e relatórios.
    O meu problema agora é em conseguir num formulário de seleção fazer a programação para chamar os relatórios de acordo as seleções que for realizada nesse formulário.
    Tenho várias Combobox com filtros e preciso fazer a programação de comparação nesses campos para chamar os relatórios.
    Na verdade preciso mesmo é de um norte, para assim conseguir finalizar o projeto.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  JPaulo 28/3/2019, 13:16

    Crie uma consulta e no criterios dos campos dessa consulta coloque a referencia a essas combos do formulario, exemplo Forms!SeuForm!SuaCombo.

    Alimente os seus relatorios com essa ou essas consultas.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Comparação para abrir relatórios Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Comparação para abrir relatórios Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Comparação para abrir relatórios Folder_announce_new Instruções SQL como utilizar...
    avatar
    Henri
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Henri 28/3/2019, 17:20

    Olá JPaulo!

    Os resultados das consultas de acordo com as seleções no formulário seleção já conseguir finalizar e associar aos relatórios respectivos, a minha dificuldade é para criar a programação no evento Click de um botão para chamar esses relatórios de acordo aos campos selecionados.
    Já tentei alguns procedimentos que encontrei no fórum mas ainda não conseguir finalizar.

    Exemplo:

    Tenho 6 ComboBox sendo que a chamada dos relatórios vai ocorrer de acordo as seleções nessas combo.

    combo1 + combo2 = Relatório 1
    combo1 + combo3 - = Relatório 2
    combo1 + combo2 + combo3 = Relatório 3
    combo1 + combo3 + combo4 = Relatório 4
    combo1 + combo2 + combo4 = Relatório 5
    combo1 + combo3 + combo5 = Relatório 6
    combo1 + combo4 + combo5 = Relatório 7
    combo1 + combo5 + combo6 = Relatório 8
    combo1 + combo4 + combo6 = Relatório 9

    mais ou menos essa ideia de logica.
    FranklinJSP
    FranklinJSP
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 479
    Registrado : 25/02/2016

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  FranklinJSP 30/3/2019, 02:36

    Olá Henri

    Talvez algo assim

    Código:
    if not isnull(combo1) and not isnull(combo2) then
      Chamar o relatório 1
    elseif not isnull(combo1) and not isnull(combo3) then
      Chamar o relatório 2
    elseif not isnull(combo1) and not isnull(combo2) and not isnull(combo3) then
      Chamar o relatório 3
    ....
    endif
     

    Saludos


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    avatar
    Henri
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Henri 30/3/2019, 02:51

    Olá Franklin!

    Obrigado pela ajuda, irei testar logo pela manhã.
    avatar
    Henri
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Henri 30/3/2019, 10:21

    Olá pessoal!

    Não estou conseguindo fazer essa lógica de comparações funcionar corretamente.
    Alguém pode me ajudar?

    Código:
     Private Sub btnRelatorio_Click()

    If Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) Then
      DoCmd.OpenReport "RData", acViewReport

    ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxTecMatricula) Then
      DoCmd.OpenReport "RTecnico", acViewReport
     
    ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxTecMatricula) And Not IsNull(Me.cbxIdMaquina) Then
      DoCmd.OpenReport "RTecLinha", acViewReport

    ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxTecFuncao) Then
      DoCmd.OpenReport "RFuncao", acViewReport

    ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxturno) Then
      DoCmd.OpenReport "RTurno", acViewReport
     
    ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxTecFuncao) And Not IsNull(Me.cbxIdMaquina) Then
      DoCmd.OpenReport "RFunLinha", acViewReport

    ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxIdMaquina) Then
      DoCmd.OpenReport "RLinha", acViewReport
     
    ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxIdMaquina) And Not IsNull(Me.cbxArea) Then
      DoCmd.OpenReport "RArea", acViewReport
     
    ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxIdMaquina) And Not IsNull(Me.cbxArea) And Not IsNull(Me.cbxSetor) Then
      DoCmd.OpenReport "RSetor", acViewReport
     
    ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxIdMaquina) And Not IsNull(Me.cbxArea) And Not IsNull(Me.cbxSetor) And Not IsNull(Me.cbxTipo) Then
      DoCmd.OpenReport "RTipo", acViewReport

    End If

    End Sub
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Alexandre Neves 30/3/2019, 13:13

    Bom dia
    Código:
    Private Sub btnRelatorio_Click()
      If Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxTecMatricula) And Not IsNull(Me.cbxIdMaquina) Then
          DoCmd.OpenReport "RTecLinha", acViewReport
      ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxTecMatricula) Then
          DoCmd.OpenReport "RTecnico", acViewReport
      ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxTecFuncao) And Not IsNull(Me.cbxIdMaquina) Then
          DoCmd.OpenReport "RFunLinha", acViewReport
      ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxTecFuncao) Then
          DoCmd.OpenReport "RFuncao", acViewReport
      ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxturno) Then
          DoCmd.OpenReport "RTurno", acViewReport
      ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxIdMaquina) And Not IsNull(Me.cbxArea) And Not IsNull(Me.cbxSetor) Then
          DoCmd.OpenReport "RSetor", acViewReport
      ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxIdMaquina) And Not IsNull(Me.cbxArea) And Not IsNull(Me.cbxSetor) And Not IsNull(Me.cbxTipo) Then
          DoCmd.OpenReport "RTipo", acViewReport
      ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxIdMaquina) And Not IsNull(Me.cbxArea) Then
          DoCmd.OpenReport "RArea", acViewReport
      ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) And Not IsNull(Me.cbxIdMaquina) Then
          DoCmd.OpenReport "RLinha", acViewReport
      ElseIf Not IsNull(Me.txtdatainicial) And Not IsNull(Me.txtDataFinal) Then
          DoCmd.OpenReport "RData", acViewReport
      End If
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Henri
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Henri 30/3/2019, 13:24

    Olá Alexandre!

    Fiz á alteração no código mas só faz a chamada do relatório "RTecnico" justamente no If.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Alexandre Neves 30/3/2019, 13:30

    Dê continuidade a este tema. Eliminei o outro

    Com seu código não poderá abrir mais que 1 relatório. Caso aconteça, explique em que situações e quais relatórios ele abre

    Reveja a sua lógica. O seu erro está na lógica
    Repare:
    Para funcionar bem deve colocar em 1º lugar a comparação que envolvem mais controlos e só em seguida as comparações que tivessem menos controlos

    Caso tenha preenchido TxtDataInicial, TxtDataFinal, CbxTecMatricula e CbxIdMaquina
    com o seu código ele abria o relatório RData porque tinha em 1º a verificação do TxtDataInicial e TxtDataFinal


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Alexandre Neves 30/3/2019, 13:34

    Veja assim
    Código:
    Private Sub btnRelatorio_Click()
      If Len("" & txtdatainicial) > 0 And Len("" & txtDataFinal) > 0 And Len("" & cbxTecMatricula) > 0 And Len("" & cbxIdMaquina) > 0 Then
          DoCmd.OpenReport "RTecLinha", acViewReport
      ElseIf Len("" & txtdatainicial) > 0 And Len("" & txtDataFinal) > 0 And Len("" & cbxTecMatricula) > 0 Then
          DoCmd.OpenReport "RTecnico", acViewReport
      ElseIf Len("" & txtdatainicial) > 0 And Len("" & txtDataFinal) > 0 And Len("" & cbxTecFuncao) > 0 And Len("" & cbxIdMaquina) > 0 Then
          DoCmd.OpenReport "RFunLinha", acViewReport
      ElseIf Len("" & txtdatainicial) > 0 And Len("" & txtDataFinal) > 0 And Len("" & cbxTecFuncao) > 0 Then
          DoCmd.OpenReport "RFuncao", acViewReport
      ElseIf Len("" & txtdatainicial) > 0 And Len("" & txtDataFinal) > 0 And Len("" & cbxturno) > 0 Then
          DoCmd.OpenReport "RTurno", acViewReport
      ElseIf Len("" & txtdatainicial) > 0 And Len("" & txtDataFinal) > 0 And Len("" & cbxIdMaquina) > 0 And Len("" & cbxArea) > 0 And Len("" & cbxSetor) > 0 Then
          DoCmd.OpenReport "RSetor", acViewReport
      ElseIf Len("" & txtdatainicial) > 0 And Len("" & txtDataFinal) > 0 And Len("" & cbxIdMaquina) > 0 And Len("" & cbxArea) > 0 And Len("" & cbxSetor) > 0 And Len("" & cbxTipo) > 0 Then
          DoCmd.OpenReport "RTipo", acViewReport
      ElseIf Len("" & txtdatainicial) > 0 And Len("" & txtDataFinal) > 0 And Len("" & cbxIdMaquina) > 0 And Len("" & cbxArea) > 0 Then
          DoCmd.OpenReport "RArea", acViewReport
      ElseIf Len("" & txtdatainicial) > 0 And Len("" & txtDataFinal) > 0 And Len("" & cbxIdMaquina) > 0 Then
          DoCmd.OpenReport "RLinha", acViewReport
      ElseIf Len("" & txtdatainicial) > 0 And Len("" & txtDataFinal) > 0 Then
          DoCmd.OpenReport "RData", acViewReport
      End If
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Henri
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Henri 30/3/2019, 13:56

    Agradeço pela ajuda Alexandre,

    Tentei com esse novo código, mas continua abrindo somente o relatório "RTecLinha" mesmo alterando todas as seleções só chama o "RTecLinha"

    Estou agora modificando minhas consultas para deixar todas as seleções do formulário carregar as informações em somente uma consulta, sendo assim gerando somente um relatório.

    Vou tentar dessa forma pra ver se consigo finalizar esse projeto.

    Caso tenha mais alguma ideia ficarei muito grato pela ajuda.
    avatar
    Henri
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Henri 30/3/2019, 14:43

    Gostaria de agradecer a todos pela ajuda, conseguir finalizar deixando todas as seleções do formulário gerando uma unica consulta, sendo assim um único relatório.

    O código ficou assim:

    Código:
    Private Sub btnRelatorio_Click()
      If IsNull(Me.txtdatainicial) And IsNull(Me.txtdatafinal) Then
          MsgBox "Campos Data Inicial e Data Final são obrigatório...", vbInformation
      Else
          DoCmd.OpenReport "RGeral", acViewReport
      End If
    End Sub


    Muito obrigado!

    Conteúdo patrocinado


    [Resolvido]Comparação para abrir relatórios Empty Re: [Resolvido]Comparação para abrir relatórios

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 05:39