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


3 participantes

    [Resolvido]Criar função estipulando cota!

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Criar função estipulando cota!

    Mensagem  Lupércio 28/6/2013, 19:58

    Estou a precisar da ajuda dos senhores experct em códigos.

    Tenho uma tabela, onde tem os campos: Cidade, Exames, CotaExames.

    Ex: Cidade--------Exames--------CotaExames
    Vilhena-------------AEX-----------80
    Dracena-----------Hemograma-----90

    Preciso criar um código pelo seguinte, cada cidade vai ter uma cota de exames,
    Exemplo:
    Vilhena cota 80 exames
    Dracena cota 120 exames
    Araçatuba cota 125 Exames... e por ai vai..

    Preciso criar uma função para evitar muitas consultas,
    Quando eu chamar a consulta parâmetro e digitar Vilhena, o código vai disparar e ler que Vilhena sua cota é 80 Exames.
    Exemplo retornou as linhas com 150 Exames vou ter que imprimir um relatório com 80 exames que é a cota correta para Vilhena,
    E imprimir outro relatório que é da linha 81 até 150 no caso uma impressão de 70 linhas de exames excessivos.

    Por isso precisaria criar um função, estipulando o limite de cotas para cada município.

    Como criar essa função? Quem poderá me dar uma luz.



    Um abraço
    Lupércio
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Leandro 28/6/2013, 20:11

    Grande Lupércio!!!

    A validação do número de exames pode ser feita com Recordset, o que acha?

    Eu não entendi muito bem essa parte:

    "Exemplo retornou as linhas com 150 Exames vou ter que imprimir um relatório com 80 exames que é a cota correta para Vilhena,
    E imprimir outro relatório que é da linha 81 até 150 no caso uma impressão de 70 linhas de exames excessivos."


    Se quiser mandar ver no Recordset, vamos á luta.

    Abraço

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 28/6/2013, 20:22

    Olá Leandro, tudo bem contigo?
    Espero que esteja ótimo você e família.

    Pois é, eu queria criar um código para definir os limites de cota para cada município.
    Ou também poderia criar um parâmetro para que na consulta, digitasse por exemplo.. Vilhena,
    abrisse um parâmetro de entrada para ser digitado a quantidade de cota para essa cidade.

    Toda a ideia é bem vinda. Como poderia ser criado no recordset?
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 28/6/2013, 20:30

    O cliente quer que exemplo cidade de Vilhena cota 80 exames, vamos dizer que ultrapassou a cota, foram feitos 150 exames.
    Ele quer a impressão dos 80 exames que é a cota normal dos exames para Vilhena,
    E a impressão dos exames que foram ultrapassados dos 70 exames excedidos.
    Seria fácil se todas as cidades tivessem o limite de cotas iguais, mas não é cada cidade tem uma cota, entendeu?
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Leandro 28/6/2013, 20:31

    Aqui vai tudo bem graças a Deus, espero que aí também!!!

    Pensei no seguinte:

    Se houver um campo onde se lança o exame e outro em que se define o município, pode se ir contando com o Recordset e a partir dos 80 exames como exemplo, impede-se a atulização do campo ou apaga-se o registro.
    Como é que você trabalha nisso? Com form e subform?

    O que acha?

    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Leandro 28/6/2013, 20:39

    Para definir as cotas de cada cidade Lupércio, pode-se usar uma tabela auxiliar, com nome da cidade e cota de exames ou definir no código mesmo.

    Essa parte dos exames excedentes também pode-se usar o recordset e na string do mesmo aplicar a cláusula TOP.

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 28/6/2013, 20:41

    Não pode apagar o registro, tem que continuar entrando os registros na tabela,
    Mesmo ao ultrapassar a cota para aquela cidade, entendeu?
    Existe os campos: município, Tipo Exame, Cota.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 28/6/2013, 20:43

    Só haverá um problema a consulta são de varias tabelas relacionadas, será que mesmo assim da para usar o recordset?
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Leandro 28/6/2013, 20:53

    Não há problema.

    Então na verdade o trampo mesmo será emitir o relatório com a cota e os excedentes, certo?

    Essa cota é anual? Como é o período da cota?

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 28/6/2013, 20:59

    Entre datas na consulta exemplo do dia 01/06/2013 a 30/06/2013.
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Leandro 28/6/2013, 21:19

    Lupércio, então você pode postar uma parte do banco?

    Em access 2000

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 28/6/2013, 21:30

    Veja
    Anexos
    [Resolvido]Criar função estipulando cota! AttachmentLupercio.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (146 Kb) Baixado 24 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Convidado 29/6/2013, 16:40

    Boas Lupercio... você tem a tblMunicipios e tblExamesItens....

    Na tblMunicipios voce tem o campo cota, por exemplo Cota = 80

    Voce queria uma consulta que retornasse 80 registros da tblExamesItens?


    Cumprimentos.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 1/7/2013, 11:17

    O Problema é que cada municípios tem uma cota, uma quantidade de exames mensais,
    Que terão que ser feitos relatórios dos exames para determinado município dentro da sua cota, e os excedentes,
    Por exemplo municípiod Dracena cota = 100, e durante o mês foi efetuado 140, terá que ter o relatório das
    100 linhas com os respectivos exames que é a cota determinada, e outro relatório com mais 40 linhas
    que é os 40 exames que ultrapassaram a cota.

    Abraço!
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Leandro 1/7/2013, 13:05

    Bom dia Lupércio, desculpe o sumisso.

    Veja pensei em uma opção para as cotas.
    Fiz um teste em um banco de dados meu, se você achar viável prosseguimos no seu banco.

    Pensei em definir a cota do município ao abrir o relatório, mas claro não como está abaixo, mas em variáveis globais que seriam carregadas com valores de combo em formulário.
    Exemplo, em uma combo uma coluna com o nome do município e outra coluna com a cota.
    Agora, os exames excedentes, você precisa que sejam em um relatório á parte? Ou pode ser em um subrelatório?
    Dê uma olhada e vamos trocando idéias.

    Private Sub Report_Open(Cancel As Integer)
       Dim str1       As String
       Dim Crit1      As String 'Global, definida em um módulo
       Dim ITop      As Integer 'Global, definida em um módulo
       
           ITop = InputBox("Informe a cota") 'Definir via Recordset com critério em combo do form por exemplo
           Crit1 = InputBox("Informe o nome ou parte dele") 'Definir em combo do form
           str1 = "SELECT TOP " & ITop & " NomeLog, CodLog FROM TabLogradouros WHERE NomeLog Like '*" & Crit1 & "*'"
           Me.Report.RecordSource = str1
    End Sub

    avatar
    Convidado
    Convidado


    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Convidado 1/7/2013, 13:28

    Boas leandro... gostei da idéia... Eu so fária uma tabela para deixar previamente gravado as cotas do município, ao executar o código.. um Dlookup com critério por município para puxar o valor a ser colocado na variável: ITop


    E para o relatório com o excedente... carregar em uma variável através do Loop, os códigos dos exames contidos no recordset com a clausula Top...


    Suponha que A consulta top retorne os registros 1,2,3 e 4
    Faria um loop concatenando os códigos:
    StrCod = StrCod & ","  & StrCod

    Assim a variável StrCod assumiria o valor (1,2,3,4)
    E no segundo recordset uma clausula Where utilizando o operador In:  Not In (" & StrCod & ")

    Assim seriam exibidos os registros excetuando os contidos na variável StrCod


    É uma idéia.

    Cumprimentos.
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Leandro 1/7/2013, 13:37

    Harisohn, bom dia!

    Perfeito o "Not In()" mata a pau! .
    Já existe a tabela com o nome dos municípios e as cotas, essa parte já tá na mão.

    Mas essa parte do loop fica com você, rsrsrs.
    Ainda tenho muitas coisas para aprimorar e isso é uma delas.

    Lupércio, cola aqui para nós o sql do relatório por gentileza.

    Abraço

    avatar
    Convidado
    Convidado


    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Convidado 1/7/2013, 14:40

    Somando as idéias...

    http://maximoaccess.forumeiros.com/t13961-relatorio-retornando-dados-baseado-em-criterio-de-cotas-exibindo-cotas-e-excedentes#106953


    Cumprimentos.
    chsestrem
    chsestrem
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 463
    Registrado : 01/03/2010

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  chsestrem 1/7/2013, 15:11

    Somando mais idéias....

    Com permissão dos amigos que já postaram, gostaria de dar o meu pitaco..rsss

    Lupércio,

    Acredito que sua necessidade é de apresentar um relatório dos exames requisitados pelo

    município dentro da cota e o excedente no período.

    A TblMunicipios você tem com um id OK.

    A TblExames também OK.

    Acontece que se você tiver um município quem tem uma cota de 80 exames em janeiro/2013, e no mês de

    fevereiro, seu chefe pediu pra mudar a cota para 100 exames no mês de fevereiro. Como seria o relatório???

    A sugestão é você crie uma tabela chamada tblcotas com os seguintes campos

    idcota(pode ser autonum): opcional
    idmunicipio: grava o id do municipio
    cota: grava a cota
    periodo: grava o periodo(este pode se gravado como data no formato mês/Ano, ou simplesmente
    anomes no formato americado"aaaamm")

    Esta tabela pode ser incrementada todo mês com uma rotina sql no seu sistema.

    Então o resultado da consulta seria do período com a cota correspondente.


    .................................................................................
    Charles Sestrem
    http://www.vbabit.com.br
    avatar
    Convidado
    Convidado


    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Convidado 1/7/2013, 15:17

    É isso Amigão... o exemplo que fiz não utiliza critérios de data.. porém sua observação é pertinente caso a cota mude em algum mês posterior..

    Boa observação.

    Cumprimentos.
    chsestrem
    chsestrem
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 463
    Registrado : 01/03/2010

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  chsestrem 1/7/2013, 15:27

    Ops,

    pela pressa esqueci de incluir o campo idexame, que seria necessário neste caso também.

    Assim poderá gravar individualmente a cota de cada tipo de exame para cada municipio.

    Sds,


    .................................................................................
    Charles Sestrem
    http://www.vbabit.com.br
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 1/7/2013, 17:35

    Ola amigos muito bom dia e obrigado por estarem me ajudando.

    O SQL da consulta que da origem ao relatório é:

    SELECT TabPedido.Id_Municipio, TabExamesItens.CodigoEx, TabDetalhesPedido.IdExame, TabExamesItens.ExameItens, Count(TabExamesItens.ExameItens) AS ContarDeExameItens, TabExamesItens.ValorSUS, TabExamesItens.ValorExtra, CCur(Nz([ContarDeExameItens]*[ValorSUS],0)) AS ValorT, TabMunicipio.Municipio
    FROM (TabMunicipio INNER JOIN TabPedido ON TabMunicipio.Id_Municipio = TabPedido.Id_Municipio) INNER JOIN (TabExamesItens INNER JOIN TabDetalhesPedido ON TabExamesItens.IdExame = TabDetalhesPedido.IdExame) ON TabPedido.NumeroGeral = TabDetalhesPedido.NumeroGeral
    WHERE (((TabPedido.DataExam) Between [Forms]![P_Exames]![Inicial] And [Forms]![P_Exames]![Final]))
    GROUP BY TabPedido.Id_Municipio, TabExamesItens.CodigoEx, TabDetalhesPedido.IdExame, TabExamesItens.ExameItens, TabExamesItens.ValorSUS, TabExamesItens.ValorExtra, TabMunicipio.Municipio
    HAVING (((TabMunicipio.Municipio)=[Formulários]![P_Exames]![Primeira]));
    avatar
    Convidado
    Convidado


    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Convidado 1/7/2013, 18:21

    Viu o exemplo que postei Lupercio?


    Cumprimentos.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 1/7/2013, 19:53

    Vou olhar PILOTO..
    E obrigado pela atenção.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 2/7/2013, 01:12

    Leandro gostei dessa tua idéia, mas agradeço a todos o amigos que estão me ajudando!


    Private Sub Report_Open(Cancel As Integer)
    Dim str1 As String
    Dim Crit1 As String 'Global, definida em um módulo
    Dim ITop As Integer 'Global, definida em um módulo

    ITop = InputBox("Informe a cota") 'Definir via Recordset com critério em combo do form por exemplo
    Crit1 = InputBox("Informe o nome ou parte dele") 'Definir em combo do form
    str1 = "SELECT TOP " & ITop & " NomeLog, CodLog FROM TabLogradouros WHERE NomeLog Like '*" & Crit1 & "*'"
    Me.Report.RecordSource = str1
    End Sub

    Você pode me ajudar, adaptando no bd que postei aqui ... abraço á todos...


    Me ajude por favor a definir as String Globais nos módulos..
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Leandro 2/7/2013, 12:14

    Bom dia Lupércio, te ajudo com prazer, só que não poderá ser agora, só no fim da tarde, pode ser? Tenho que executar umas atividades aqui em área externa.

    avatar
    Convidado
    Convidado


    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Convidado 2/7/2013, 13:18

    Bom dia Leandro, o exemplo que postei é baseado na sua dica e o operador Not In para o excedente.


    Cumprimentos.
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Leandro 2/7/2013, 20:36

    Ok Piloto, muito obrigado!

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 3/7/2013, 02:32

    Amigos ´que bom ter vcs como amigos, ninjas,Very Happy 

    Eu preciso da ajuda de ambos.. um abraço.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 3/7/2013, 13:45

    Bom dia a todos!
    Resolvido através do exemplo do PILOTO,
    Através deste link!

    http://maximoaccess.forumeiros.com/t13961-relatorio-retornando-dados-baseado-em-criterio-de-cotas-exibindo-cotas-e-excedentes

    amigão valeu muito obrigado.


    Última edição por Lupércio em 3/7/2013, 14:50, editado 1 vez(es)
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 3/7/2013, 13:58

    Obrigado a todos!
    avatar
    Convidado
    Convidado


    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Convidado 3/7/2013, 15:46

    Só faltou clicar no joinha da mensagem que o auxiliou.

    O Fórum agradece o retorno.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Lupércio 3/7/2013, 19:22

    Sem problema clicado no joinha e obrigado Shocked 
    avatar
    Convidado
    Convidado


    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Convidado 3/7/2013, 21:16

    O Fórum agradece o retorno.

    Conteúdo patrocinado


    [Resolvido]Criar função estipulando cota! Empty Re: [Resolvido]Criar função estipulando cota!

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 12:23