MaximoAccess

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

Obrigado

Administração do MaximoAccess

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


    [Resolvido]Função DMax, mais de uma tabela

    avatar
    WALDINEYNOLETO
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 29/09/2013

    [Resolvido]Função DMax, mais de uma tabela Empty [Resolvido]Função DMax, mais de uma tabela

    Mensagem  WALDINEYNOLETO em 24/6/2019, 04:24

    Olá Meus Amigos!

    tenho a seguinte função abaixo:

    Código:
    Public Function LAUDOEXTERNOS()
    Dim iLin1 As Long
    Dim ano As String
                  'traz o mair valor do registro
                  'se for 0 será inserido um novo registro
    iLin1 = Nz(DMax("CONTADOR", "TB_EXTERNAS"))
    ano = Year(Date)
                 'verifica se a variavel iLin é 0)
    If iLin1 = 0 Then
    LAUDOEXTERNOS = 1 & "/" & ano
                 'se não
    Else
                 'será o valar total de registro + 1
    LAUDOEXTERNOS = iLin1 + 1 & "/" & ano
    End If
    End Function
    No entanto ele serve para trazer o maior valor do campo: CONTADOR, da tabela: TB_EXTERNAS.

    o que eu preciso é de uma função que me trouxesse o maior valor entres os campos: CONTADOR das Tabelas:

    Tb_acidentes, campo: contador = 2
    Tb_mortes, campo: contador = 1
    Tb_patrimônios, campo: contador = 3
    Tb_setran, campo: contador = 5

    O valor trazido seria = 5

    Se eu não fui claro por favor me corrijam.
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 367
    Registrado : 23/01/2017

    [Resolvido]Função DMax, mais de uma tabela Empty Re: [Resolvido]Função DMax, mais de uma tabela

    Mensagem  thiagomcosta em 24/6/2019, 13:42

    Sugiro fazer várias verificações, mantendo sempre o valor máximo na variável através e função IIF

    Código:
    iLinFinal = Nz(DMax("CONTADOR", "TB_EXTERNAS"))

    iLin1 = Nz(DMax("CONTADOR", "Tb_acidente"))
    iLinFinal = iif(iLin1 > iLinFinal, iLin1, iLinFinal)

    iLin1 = Nz(DMax("CONTADOR", "Tb_mortes"))
    iLinFinal = iif(iLin1 > iLinFinal, iLin1, iLinFinal)

    iLin1 = Nz(DMax("CONTADOR", "Tb_patrimônios"))
    iLinFinal = iif(iLin1 > iLinFinal, iLin1, iLinFinal)

    iLin1 = Nz(DMax("CONTADOR", "Tb_setran"))
    iLinFinal = iif(iLin1 > iLinFinal, iLin1, iLinFinal)

    LAUDOEXTERNOS = (iLinFinal + 1) & "/" & ano

    Tente adaptar à sua necessidade.
    Não existe uma função que faça isso diretamente.

    Outra solução seria escrever uma consulta SQL que fizesse um SELECT em cada tabela e retornasse somente o valor máximo.
    avatar
    WALDINEYNOLETO
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 29/09/2013

    [Resolvido]Função DMax, mais de uma tabela Empty Função DMax, mais de uma tabela?

    Mensagem  WALDINEYNOLETO em 25/6/2019, 22:42

    conseguir adaptar com if e o select case

    mais fui testar como ficaria em rede...

    tentei adicionar um registro ao mesmo tempo na tabela

    ele só adiciona o primeiro, e como todos abrem com os mesmo números

    a função não se atualiza ai dar duplicidade...


    assim voltei a estaca zero


    Última edição por WALDINEYNOLETO em 26/6/2019, 18:11, editado 1 vez(es)
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6308
    Registrado : 15/03/2013

    [Resolvido]Função DMax, mais de uma tabela Empty Re: [Resolvido]Função DMax, mais de uma tabela

    Mensagem  ahteixeira em 25/6/2019, 23:20

    REGRAS DO FÓRUM

    1. Tenha paciência com quem coloca aqui as suas duvidas.
    2. Clareza nos títulos dos tópicos e duvidas, evite a linguagem MSN.
    3. Não colocar diversas vezes a mesma dúvida.
    4. Explicar detalhadamente o problema e informar a versão do seu Office + Sistema Operativo.
    5. Retorne sempre se deu certo, esse retorno é muito importante.
    6. Respeite toda a equipe Staff e demais membros deste fórum.
    7. Use sempre o botão Busca, sempre que tiver uma dúvida e antes de abrir tópicos.
    8. Não usar palavras como "Urgente". O fórum é livre e ninguém é obrigado a responder com urgência.
    9. A publicidade é proíbida e só pode ser feita pelo Administrador ou depois de aprovada pelo Administrador.
    10. Se o seu tópico não for respondido, tem o direito de fazer um Up ao final de 24horas!
    11. A colocação de Códigos ou Exemplos, devem constar sempre os créditos de quem o elaborou.
    12. Fale, não GRITE!   Só letras Maiúsculas, na Internet é o mesmo que gritar!
    13. É proibido tirar duvidas nas Salas de Repositório, devem abrir um novo tópico nas salas de duvidas, relacionando o Exemplo em causa.
    14. É proibido adicionar links externos nos tópicos, que redirecionem para outros sites ("backlinks").
    15. É permitido adicionar links externos, nos códigos VBA dentro das Base de Dados.


    Olá Waldiney,
    Ontem enviei a seguinte mensagem privada:
    [Resolvido]Função DMax, mais de uma tabela 068

    Aguardamos que regularize a situação, editando a sua mensagem nº 3.
    Espero o bom senso dos colegas em não dar continuidade ao tópico enquanto a situação não for regularizada.

    Abraço a todos
    avatar
    WALDINEYNOLETO
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 29/09/2013

    [Resolvido]Função DMax, mais de uma tabela Empty [Resolvido]Função DMax, mais de uma tabela

    Mensagem  WALDINEYNOLETO em 27/6/2019, 03:36

    Resolvi da seguinte forma:

    Criei uma nova tabela: TB_LAUDO_PCE
    ai nela criei um campo ID auto numeração e um campo LAUDO tipo texto,

    exemplo abaixo.

    Public Function LAUDOS()
    Dim iLIn1 As Long
    Dim ANO As String
    iLIn1 = Nz(DMax("LAUDO", "TB_LAUDO_PCE"), 0)
    'ANO = Year(Date)
    If iLIn1 = o Then
    LAUDOS = 1 '& "/" & ANO
    Else
    LAUDOS = iLIn1 + 1 '& "/" & ANO
    End If
    End Function

    assim posso utilizar vários formulários de uma mesma tabela, e busco o numero do laudo na tabela tb_laudo_pce
    através de um formulário, e jogo o número de laudo gerado para o outro formulário via botão kkk foi isso.
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6308
    Registrado : 15/03/2013

    [Resolvido]Função DMax, mais de uma tabela Empty Re: [Resolvido]Função DMax, mais de uma tabela

    Mensagem  ahteixeira em 27/6/2019, 08:25

    Olá, obrigado pelo retorno.
    Situação regularizada.

    Abraço e bons estudos

    Conteúdo patrocinado

    [Resolvido]Função DMax, mais de uma tabela Empty Re: [Resolvido]Função DMax, mais de uma tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/9/2019, 16:50