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


5 participantes

    [Resolvido]Relatório com 2 filtros

    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Relatório com 2 filtros Empty [Resolvido]Relatório com 2 filtros

    Mensagem  vileman 24/11/2016, 03:59

    Olá a todos. ** Uso o Access 2003 (ainda)

    Após buscas no site e não encontrar algo que resolvesse, coloco minha questão abaixo:

    Tenho 1 tabela com os campos "Andar" e "Convenio" além de outros campos. Rotina de um Hospital: onde cada Andar tem pacientes internados que por sua vez cada um tem seu plano de saúde, que para o Hospital é o Convenio (** Existem 19 tipos de Convenios **).

    Preciso após filtrar o Andar que tem 6 opções diferentes e ao clicar em imprimir fosse impresso de uma vez só o Relatório por cada Convenio diferente que por sua vez usa um Relatório-padrão próprio. Consegui fazer parte da rotina, mas a de imprimir de uma vez só e individualmente por Convenio de acordo com o Andar, está imprimindo todos os registros apenas do 1º Convenio encontrado do Andar selecionado, e não como deveria ser, ou seja, de acordo com cada Convenio encontrado na Consulta.
    Exemplo: Seleciono "3º Andar" que tem 10 tipos diferentes de Convenio, num total de 39 registros.
    No caso tem:
    12 registros correspondentes ao Convenio: AMIL (Que engloba AMIL, MEDIAL SAUDE e SAUDE EXCELSIOR)
    04 registros correspondentes ao Convenio: ASSEFAZ
    02 registros correspondentes ao Convenio: BANCO CENTRAL
    03 registros correspondentes ao Convenio: BRADESCO
    02 registros correspondentes ao Convenio: FACHESF
    05 registros correspondentes ao Convenio: GEAP
    02 registros correspondentes ao Convenio: SUL AMERICA
    09 registros correspondentes ao Convenio: UNIMED

    PS: Tem 08 tipos diferentes de Relatório a serem impressos de uma só vez e individualmente (AMIL engloba + 2 tipos: MEDIAL SAUDE e SAUDE EXCELSIOR, que usam o mesmo padrão da AMIL)

    Na rotina no botão de imprimir está assim:

    Private Sub Imprime1_Click() 'OBS: Rotina Pendente ...
           Forms!F01_CensoOcupacional.Visible = False

    Select Case Me.AndarOpcao ' PS: Nome do campo da Combobox onde capturo o Andar.
            Case "3º Andar"
            DoCmd.OpenQuery "C00_Imprime_3ºAndar" '** OBS: ATÉ AQUI A ROTINA FUNCIONA ...
                                       'O objetivo é ler nesta Consulta filtrada pelo Nº do Andar os diversos convenios dos Pacientes e imprimir de acordo com os seus Relatórios
            If Convenio = "AMIL" Then
               DoCmd.OpenReport "R01_Imprime_AMIL", acViewPreview
               DoCmd.Maximize
            End If
               
            If Convenio = "ASSEFAZ" Then
               DoCmd.OpenReport "R02_Imprime_ASSEFAZ", acViewPreview
               DoCmd.Maximize
            End If
               
            If Convenio = "BANCO CENTRAL" Then
               DoCmd.OpenReport "R03_Imprime_BANCOCENTRAL", acViewPreview
               DoCmd.Maximize
            End If
            '... OBS: Continua com todas as demais opções dos Convenios e seus respectivos Relatórios.
            '    Assim como nos demais Andares abaixo.
         
          Case "4º Andar"
               DoCmd.OpenQuery "C00_Imprime_4ºAndar"
               '...
     
    Resumo: Selecionar o Andar (Campo: "Andar") e dentro desse Andar que tem vários tipos de Convenios por paciente (Campo "Convenio"), imprimir todos os registros filtrados pela Consulta de acordo com cada Relatório por Convenio, pois cada Convênio tem seu Relatório-Padrão próprio.

    Segue em anexo o arquivo para melhor compreensão e ajuda.
    link via Dropbox
    https://www.dropbox.com/s/wsenmy2n21xhymq/CENSO2.zip?dl=0
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  Silvio 24/11/2016, 16:02

    Boa Tarde...

    De uma olhada nesse link

    https://drive.google.com/drive/folders/0Bw4H6-pYZskTT1V2aGFRWUpDdFE?usp=sharing

    Retirei alguns relatórios pois o tamanho do arquivo *.mdb estava enorme.

    Fiz algumas alterações. Bons estudos a ti.


    Abraços.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  FabioPaes 24/11/2016, 16:43

    Amigo, da forma como fiz esta 100% Automático.

    Basta selecionar o Andar, o comando ira verificar naquele Andar, quais convênios tem registros...
    Seleciona o Relatório do convenio e manda a impressão na IMPRESSORA PADRAO, sem necessitar a confirmação do usuário.


    Código:
    '-------------------------------------------------------------'
    '                    Criado por Fabio Paes                  '
    '                                                            '
    '                Em 24/11/2016 para o MaximoAccess          '
    ' Faz loop pelos convenios, e imprime os relatorios de todos  '
    '  os convenios relacionados com o ANDAR.                    '
    '-------------------------------------------------------------'
    Dim DB As Database
    Dim rs As dao.Recordset

    Set DB = CurrentDb()
        'Filtra os Convenios de acordo com o Andar selecionado.
    Set rs = DB.OpenRecordset("SELECT Convenio,Andar FROM T02_Censo GROUP BY Convenio,Andar HAVING (((Andar)= '" & Me.AndarOpcao & "'));")

    Do Until rs.EOF
    'Comente essa MensageBox, ela e apenas para fins de aprendizado
    MsgBox "Apenas para Mostrar o Convenio que esta sendo Impresso: " & rs!Convenio, vbInformation
    Select Case rs!Convenio
          Case "AMIL"
                DoCmd.OpenReport "R01_Imprime_AMIL"
                DoCmd.Maximize
          Case "ASSEFAZ"
                DoCmd.OpenReport "R02_Imprime_ASSEFAZ"
                DoCmd.Maximize
          Case "BANCO CENTRAL"
                DoCmd.OpenReport "R03_Imprime_BANCOCENTRAL"
                DoCmd.Maximize
          Case "BRADESCO"
                DoCmd.OpenReport "R04_Imprime_BRADESCO"
                DoCmd.Maximize
          Case "CAMED"
                DoCmd.OpenReport "R05_Imprime_CAMED"
                DoCmd.Maximize
          Case "CAPESESP"
                DoCmd.OpenReport "R06_Imprime_CAPESESP"
                DoCmd.Maximize
          Case "CASSI"
                DoCmd.OpenReport "R07_Imprime_CASSI"
                DoCmd.Maximize
          Case "COMSAÚDE"
                DoCmd.OpenReport "R08_Imprime_COMSAUDE"
                DoCmd.Maximize
          Case "CONAB"
                DoCmd.OpenReport "R09_Imprime_CONAB"
                DoCmd.Maximize
          Case "FACHESF"
                DoCmd.OpenReport "R10_Imprime_FACHESF"
                DoCmd.Maximize
          Case "FISCO SAÚDE"
                DoCmd.OpenReport "R11_Imprime_FISCOSAUDE"
                DoCmd.Maximize
          Case "GEAP"
                DoCmd.OpenReport "R12_Imprime_GEAP"
                DoCmd.Maximize
          Case "GOLDEN CROSS"
                DoCmd.OpenReport "R13_Imprime_GOLDENCROSS"
                DoCmd.Maximize
          Case "IRH-SASSEPE"
                DoCmd.OpenReport "R14_Imprime_IRH-SASSEPE"
                DoCmd.Maximize
          Case "MARINHA"
                DoCmd.OpenReport "R15_Imprime_MARINHA"
                DoCmd.Maximize
          Case "MEDISERVICE"
                DoCmd.OpenReport "R16_Imprime_MEDISERVICE"
                DoCmd.Maximize
          Case "PETROBRÁS DISTRIBUIDORA"
                DoCmd.OpenReport "R17_Imprime_PETRO-DISTRIBUIDORA"
                DoCmd.Maximize
          Case "PETROBRÁS PETRO"
                DoCmd.OpenReport "R18_Imprime_PETROBRAS-PETRO"
                DoCmd.Maximize
          Case "PLAN-ASSISTE"
                DoCmd.OpenReport "R19_Imprime_PLAN-ASSISTE"
                DoCmd.Maximize
          Case "POSTAL SAÚDE"
                DoCmd.OpenReport "R20_Imprime_POSTALSAUDE"
                DoCmd.Maximize
          Case "SAÚDE CAIXA"
                DoCmd.OpenReport "R21_Imprime_SAUDECAIXA"
                DoCmd.Maximize
          Case "SUL AMÉRICA"
                DoCmd.OpenReport "R22_Imprime_SULAMERICA"
                DoCmd.Maximize
          Case "UNIMED RECIFE"
                DoCmd.OpenReport "R23_Imprime_UNIMED-RECIFE"
                DoCmd.Maximize
          Case "ALLIANZ"
                DoCmd.OpenReport "R24_Imprime_ALLIANZ"
                DoCmd.Maximize
            Case "UNIMED " 'Observe que vc nao tem o CASE UNIMED, alem do mais esse
                            'UNIMED tem um Espaço em branco no Final... "UNIMED "
                DoCmd.OpenReport "R23_Imprime_UNIMED-RECIFE"
                DoCmd.Maximize
    End Select
        'Move para o Proximo Convenio para selecionar e imprimir seu relatorio.
    rs.MoveNext
    Loop

    'Encerra as Conexoes.
    rs.Close
    Set rs = Nothing
    DB.Close
    Set DB = Nothing
    MsgBox "Impressão completada com sucesso! Verifique na Impressora Padrão", vbInformation, "Atenção"

    Consideraçoes:
    Observe que vc nao tem o CASE UNIMED, alem do mais esse 'UNIMED' tem um Espaço em branco no Final... "UNIMED "


    Faça o Teste e retorne com as Duvidas.

    Obs: Nesse Exemplo selecione o Andar UTP pois ele so tem 2 convenios, assim so serao impressos dois Relatórios.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  FabioPaes 24/11/2016, 18:03

    Grande Silvio, Trabalhamos ao mesmo tempo no Arquivo do Amigo...

    rererererere

    Eita Fórum eficiente!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  Silvio 24/11/2016, 18:36

    Boa tarde...

    Toda e qualquer participação para ajudar, ensinar e direcionar aqueles que estão iniciando no VBA sempre é e sempre será bem vinda !

    Abraços Fábio.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  Noobezinho 24/11/2016, 19:04

    Eu também estava analisando esse aplicativo,

    Mas quando vi o aviso de email , o 6º sentido me fez verificar o que era

    e vi que os amigos já estavam com o bolo pronto, enquanto eu ia preparar a farinha. Razz

    Não cheguei a ver o resultado do Silvio, mas gostei da solução do Fabio.

    é isso aí !!

    Sucesso para vocês, amigos!


    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Relatório com 2 filtros Empty Relatório com 2 filtros

    Mensagem  vileman 25/11/2016, 00:47

    Verdade, eita Fórum eficiente!

    Amigos vou dar uma olhada e depois posto os resultados, mas de antemão já agradeço aos 3 colegas pelo interesse e presteza.

    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Relatório com 2 filtros Empty Relatório com 2 filtros

    Mensagem  vileman 25/11/2016, 17:10

    Olá. Sim, a ideia é essa mesmo como você fez. Também gostei que mostrasse o Convenio a ser impresso que libera com o OK na mensagem. Bem observado o correto é “UNIMED” sem espaço em branco no final, já corrigi na minha BD.

    Observações após Teste:
    Andar selecionado: UTP. Convenios: Bradesco (2 registros). Unimed (4 registros):
                                   Total a imprimir: 06 registros

    - Ao clicar no botão para imprimir, aconteceu o seguinte:

    Imprime o 1º Convenio “BRADESCO” que nesse Andar tem apenas 02 registros, no entanto, está imprimindo todos os registros do Convenio independentemente do Andar selecionado, ou seja, está imprimindo 16 registros; o mesmo ocorrendo com o Convenio “UNIMED” que imprime 51 registros, embora só existam 04 registros nesse Andar. Total impresso dos 2 Convenios: 67 registros.

    Resultado: Peguei o Relatório impresso e comparei com a BD e constatei que está imprimindo o Case “BRADESCO” na quantidade de registros da tabela, independentemente do Andar selecionado (UTP), assim como o Case “UNIMED”. Então percebi que o Relatório de cada um deles tem como Fonte de Registro uma Consulta (C04_ImprimeBRADESCO e C23_ImprimeUNIMED RECIFE, respectivamente) que por sua vez filtra apenas o Convenio, independente do Andar.

    Conclusão: Precisaria criar outra consulta para outro Relatório que fizesse essas 2 filtragens? Ou outra rotina que fizesse o pretendido como já entendido por você.
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  vileman 25/11/2016, 17:13

    Silvio,

    Olá. Não tinha pensado dessa forma, ficou muito bom, vou usar mais essa opção junto com a de FabioPaes. Quanto mais melhor.

    Observações após Teste:

    Andar selecionado: 5º Andar.
    1º Convenio selecionado: Amil (2 registros).
    2º Convenio selecionado: Assefaz (2 registros):
    Total a imprimir: 04 registros individualmente x Convenio

    - Ao clicar no botão “bt_visualizar” no formulário “FrmBuscaCA”, aconteceu o seguinte:

    Abre o formulário “F01_CensoOcupacional” e mostra os 02 registros de cada um dos Convenio acima selecionado individualmente, mas, ao clicar no botão “bt_imprimir” retorna ao formulário “FrmBuscaCA” sem imprimir ou visualizar nenhum dos registros para ambos os Convênios.

    Conclusão: Precisaria rever a rotina para a impressão do Relatório dos registros visualizados no formulário “F01_CensoOcupacional” de cada um dos Convênios; lembrando que o Relatório de cada um deles tem como Fonte de Registro uma Consulta (C01_ImprimeAMIL e C02_ImprimeASSEFAZ, respectivamente) que por sua vez filtra apenas o Convenio, independente do Andar.

    PS: Na rotina do botão “bt_imprimir” na linha 122 está indicando “BRADESCO”, no entanto, na linha 123 indica o Relatório “R03_ImprimeBANCOCENTRAL”.  Fiz a correção na linha 122 para “BANCO CENTRAL”, conforme Relatório indicado na linha 123. Pode fazer o mesmo.

    PS: a mensagem nº 8 é para FabioPaes
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  Silvio 25/11/2016, 17:19

    Boas...

    Quanto mais receitas de um mesmo bolo tivermos...maiores são as opções de como fazer ele.

    Abraços


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  FabioPaes 25/11/2016, 17:30

    Amigo, eu mexi apenas na chamada dos relatórios...
    Portanto, se ele esta trazendo registros que não deveria deve verificar o Relatório, pois não esta filtrando de forma correta...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  FabioPaes 25/11/2016, 17:43

    Acredito não haver a necessidade de Tantas consultas...

    Veja so:

    Todos os relatórios, independente do Convenio devem ser Filtrado pelo Andar certo?


    Sendo assim, Crie uma Unica Consulta com os campos utilizados nos relatorios...
    No Campo Andar, no critério coloque:

    [Formulários]![F01_CensoOcupacional]![AndarOpcao]


    Dessa Forma ja aplicaremos o Filtro no Andar!

    Use essa Consulta como Base para todos os Relatorios....


    O 2º Filtro (Convenio) iremos aplicar na Chamada do Relatório, que deverá estar na condição...

    Esta assim:  DoCmd.OpenReport "R04_Imprime_BRADESCO"


    Mude para:


    DoCmd.OpenReport "R04_Imprime_BRADESCO", , , "Convenio = '" & rs!Convenio & "'" 
    Veja que filtro, exibindo apenas o convenio que esta no RecordSet.




    Foi acrescentado apenas isso no final da chamada de cada Relatorio: , , , "Convenio = '" & rs!Convenio & "'" 






    Assim, vc elimina todas aquelas consultas, ficando apenas com uma Unica Consulta... Os relatorios como são diferentes nao tem como...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Relatório com 2 filtros Empty Relatório com 2 filtros

    Mensagem  vileman 26/11/2016, 22:57

    Silvio, estou tentando fazer a parte do Relatório funcionar, depois posto o resultado se consegui ou não.

    FabioPaes, vou fazer conforme suas orientações e depois posto o resultado.
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Relatório com 2 filtros Empty Relatório com 2 filtros

    Mensagem  vileman 27/11/2016, 22:38

    Silvio,

    Consegui fazer a parte de impressão que faltava: coloquei sua consulta "QryT02CC" como fonte de registro para todos os Relatórios, e no formulário onde chama os mesmos, acrescentei os Cases e ElseIf que faltavam para os demais Andares e Convenios. Faltou testar apenas com * (asterisco) que imprime todos os Convenios de uma só vez dentro de determinado andar, mas acredito que irá funcionar normalmente.

    De qualquer forma irá servir muito bem para impressão individual por Andar X Convenio. Valeu pela força, agradeço muito.
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Relatório com 2 filtros Empty Relatório com 2 filtros

    Mensagem  vileman 27/11/2016, 23:55

    Prezado FabioPaes,

    Funcionou perfeito conforme suas últimas orientações.

    Para finalizar falta apenas um detalhe:
    Fiz essa rotina para ajudar meu filho que trabalha em um hospital na parte administrativa, e lá eles usam uma impressora de marca Brother e desde a 1ª vez que ele usou essa rotina tive que colocar para visualizar o Relatório para assim ele poder configurar a página, pois na visualização (no hospítal) sempre ficava passando da página, estando os Relatórios configurado para imprimir em tamanho A4 que na minha máquina funciona perfeitamente bem.
    Ele então teve a ideia de configurar para um tamanho maior a página, ou seja, colocou como tamanho Oficio e funcionou bem.
    Porisso que precisaria sempre ao imprimir visualizar o 1º Convenio e os demais, então fiz o seguinte:

    Exemplo = Andar: "UTP". Convenios: "BRADESCO" + "UNIMED"
    Antes era ..............: DoCmd.OpenReport "R04_Imprime_BRADESCO_Andar", , , "Convenio = '" & rs!Convenio & "'"
    Agora ficou assim: DoCmd.OpenReport "R04_Imprime_BRADESCO_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"

    No entanto, como tem o comando: MsgBox "Apenas para Mostrar o Convenio que está sendo Impresso: " & rs!Convenio, vbInformation

    Resultado: Visualiza o Relatório, mas como fica aguardando o usuário apertar no "Ok" para liberar a mensagem, não se consegue usar os comandos Crtl+P desde o 1º Convenio mostrado, a não ser quando apresenta no final do Relatório o comando: MsgBox "Impressão completada com sucesso! Verifique na Impressora Padrão", vbInformation, "Atenção" e dar "Ok" para o último Convenio mostrado se torna possível abrir a configuração da impressão e ajustar o tamanho do papel de A4 para Oficio (conforme motivo explicado), mas apenas para o último Convênio, os anteriores não tem mais como imprimir nesse novo formato, então precisaria configurar o novo formato (Oficio) desde o início da impressão até o final; e além disso, também precisaria que quando fechasse o último Relatório retornasse para o formulário "F01_CensoOcupacional", o que também não consegui fazer.

    PS1: No hospital é usado o Access 2007 (eu uso o Access 2003), não sei se isso tem alguma relevancia nessa questão da visualização do Relatório, como também não tenho acesso a essa impressora.

    Tentei de várias formas fazer (passei o sábado e o domingo tentando resolver), mas não consegui, então se puder ou mesmo outro colega do Fórum, dar mais essa força ou tiver alguma sugestão com relação a essa questão ficaria imensamente grato mais uma vez.

    PS2: A rotina completa ficou assim:

    Private Sub Imprime1_Click()
    '-------------------------------------------------------------'
    '                     Criado por Fabio Paes                   '
    '                 Em 24/11/2016 para o MaximoAccess           '
    ' Faz loop pelos convenios, e imprime os relatorios de todos  '
    '  os convenios relacionados com o ANDAR.                     '
    '-------------------------------------------------------------'
    Dim DB As Database
    Dim rs As DAO.Recordset

    Set DB = CurrentDb()
       'Filtra os Convenios de acordo com o Andar selecionado.
    Set rs = DB.OpenRecordset("SELECT Convenio,Andar FROM T02_Censo GROUP BY Convenio,Andar HAVING (((Andar)= '" & Me.AndarOpcao & "'));")
    Do Until rs.EOF
    'Comente essa MensagemBox, ela é apenas para fins de aprendizado
    MsgBox "Visualizar o Convênio que será/está sendo Impresso: " & rs!Convenio, vbInformation

    Select Case rs!Convenio
          Case "AMIL"
               DoCmd.OpenReport "R01_Imprime_AMIL_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "MEDIAL SAUDE"
               DoCmd.OpenReport "R01_Imprime_AMIL_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "SAUDE EXCELSIOR"
               DoCmd.OpenReport "R01_Imprime_AMIL_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "ASSEFAZ"
               DoCmd.OpenReport "R02_Imprime_ASSEFAZ_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "BANCO CENTRAL"
               DoCmd.OpenReport "R03_Imprime_BANCOCENTRAL_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "BRADESCO"
               DoCmd.OpenReport "R04_Imprime_BRADESCO_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "CAMED"
               DoCmd.OpenReport "R05_Imprime_CAMED_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "CAPESESP"
               DoCmd.OpenReport "R06_Imprime_CAPESESP_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "CASSI"
               DoCmd.OpenReport "R07_Imprime_CASSI_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "COMSAUDE"
               DoCmd.OpenReport "R08_Imprime_COMSAUDE_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "CONAB"
               DoCmd.OpenReport "R09_Imprime_CONAB_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "FACHESF"
               DoCmd.OpenReport "R10_Imprime_FACHESF_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "FISCO SAUDE"
               DoCmd.OpenReport "R11_Imprime_FISCOSAUDE_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "GEAP"
               DoCmd.OpenReport "R12_Imprime_GEAP_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "GOLDEN CROSS"
               DoCmd.OpenReport "R13_Imprime_GOLDENCROSS_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "IRH-SASSEPE"
               DoCmd.OpenReport "R14_Imprime_IRH-SASSEPE_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "MARINHA"
               DoCmd.OpenReport "R15_Imprime_MARINHA_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "MEDISERVICE"
               DoCmd.OpenReport "R16_Imprime_MEDISERVICE_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "PETROBRAS DISTRIBUIDORA"
               DoCmd.OpenReport "R17_Imprime_PETRO-DISTRIBUIDORA_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "PETROBRAS PETRO"
               DoCmd.OpenReport "R18_Imprime_PETROBRAS-PETRO_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "PLAN-ASSISTE"
               DoCmd.OpenReport "R19_Imprime_PLAN-ASSISTE_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "POSTAL SAUDE"
               DoCmd.OpenReport "R20_Imprime_POSTALSAUDE_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "SAUDE CAIXA"
               DoCmd.OpenReport "R21_Imprime_SAUDECAIXA_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "SUL AMERICA"
               DoCmd.OpenReport "R22_Imprime_SULAMERICA_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "UNIMED"
               DoCmd.OpenReport "R23_Imprime_UNIMED_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
          Case "ALLIANZ"
               DoCmd.OpenReport "R24_Imprime_ALLIANZ_Andar", acViewPreview, "Convenio = '" & rs!Convenio & "'"
               DoCmd.Maximize
    End Select
       'Move para o Proximo Convenio para selecionar e imprimir seu relatorio.
    rs.MoveNext
    Loop
    'Encerra as Conexoes.
    rs.Close
    Set rs = Nothing
    DB.Close
    Set DB = Nothing
    MsgBox "Impressão completada com sucesso! Verifique na Impressora Padrão", vbInformation, "Atenção"
    End Sub
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  FabioPaes 28/11/2016, 17:42

    Amigo, o correto mesmo e vc diminuir o Tamanho do relatorio... Ou verificar nessa impressora Brother se realmente ela esta configurada para A4.

    Pois o A4 e tamanho padrão, independente da impressora! Algo esta fora do padrão... Ou seu relatorio ou na Impressora.


    Porem, pode comentar a Msgbox.
    Comente essa MensagemBox, ela é apenas para fins de aprendizado
    MsgBox "Visualizar o Convênio que será/está sendo Impresso: " & rs!Convenio, vbInformation


    So coloquei ela la pra auxiliar no aprendizado seu, ela deve sar de la...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Relatório com 2 filtros Empty Relatório com 2 filtros

    Mensagem  vileman 29/11/2016, 00:02

    Valeu amigo pelas instruções, vou pedir para ele verificar no hospital como está a configuração da impressora, e retirar a mensagem que foi para fins de meu aprendizado.

    Mais uma vez, obrigado por tudo.
    avatar
    carlosbell10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 188
    Registrado : 04/10/2016

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  carlosbell10 27/12/2016, 15:28

    oi, tenho cadastro de alunos , estou precisando de um relatorio com filtro que só imprima os aprovados ou reprovados ou ambos o meu formulario é mais assim como está no anexo, tem as notas e um botão que quando aperta ele diz se o aluno foi aprovado ou nao, , preciso muito de sua ajuda , desde ja obrigado
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  Silvio 27/12/2016, 16:12

    Boa tarde

    Esse tópico já está encerrado, resolvido.

    Favor abrir outro com a duvida pertinente ao teu problema.

    Grato.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    carlosbell10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 188
    Registrado : 04/10/2016

    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  carlosbell10 27/12/2016, 16:24

    desculpe , valeu, vou abrir outro

    Conteúdo patrocinado


    [Resolvido]Relatório com 2 filtros Empty Re: [Resolvido]Relatório com 2 filtros

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 00:25