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]Comparar campos de uma tabela

    Compartilhe

    leo.gool
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 41
    Registrado : 27/02/2018

    [Resolvido]Comparar campos de uma tabela

    Mensagem  leo.gool em 20/4/2018, 15:56

    Olá, eu tenho um formulário que lança dados em uma tabela, o formulário é para inserir dados da saída de um veículo, onde eu devo selecionar o motorista para o atendimento, eu preciso de uma função que alerte por mensagem, caso eu já tenha um atendimento agendado para aquele motorista e ele não tenha finalizado o atendimento, para isso eu criei uma caixa de combinação onde deve ser informada a situação do atendimento, o que eu desejo é que se caso o motorista selecionado tenha um registro anterior do qual não tenha dado baixa no serviço alerte o usuário para selecionar outro motorista.

    Eu tentei implementar isso através de um código VBA, mas não obtive resultado, acredito que a lógica esteja certa, mas não tenho conhecimento sobre recordset nem manipulação de tabelas em VBA

    Private Sub Combinação250_AfterUpdate()
       Dim qtd, i As Integer
       Dim nome As String
       Dim rs As DAO.Recordset
       nome = Combinação250.Value
       qtd = DCount("[ID_eventos]", "Eventos")
       For i = 0 To qtd
           If rs.Fields("Motorista") = nome And rs.Fields("Situação Saída") <> "FINALIZADA" Then
               MsgBox "Já existe saída cadastrada para o motorista solicitado"
           End If
       Next i
    End Sub


    Última edição por leo.gool em 20/4/2018, 22:38, editado 1 vez(es)
    avatar
    Jungli
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 656
    Registrado : 07/05/2010

    Re: [Resolvido]Comparar campos de uma tabela

    Mensagem  Jungli em 20/4/2018, 22:03

    Boas,
    Tente assim.

    Código:

       Dim qtd As Integer
       Dim strNome As String 'Evite nomear campos assim: nome
       strNome = Combinação250.Column(0)
       qtd = DCount("[ID_eventos]", "Eventos", "[Situação Saída]<>'FINALIZADA'")
       If qtd = 0 Then
          MsgBox "Motorista solicitado está livre"
       Else
          MsgBox "Já existe saída cadastrada para o motorista solicitado"
       End If

    Obs. Não testei...


    .................................................................................
    "Somos o que repetidamente fazemos.
    A excelência, portanto, não é um feito,
    mas um hábito."

    Aristóteles

    leo.gool
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 41
    Registrado : 27/02/2018

    Re: [Resolvido]Comparar campos de uma tabela

    Mensagem  leo.gool em 20/4/2018, 22:29

    Faltou na verdade um detalhe... ele funciona apenas para um caso, ele não compara se o motorista está disponível, ele apenas vê se há registro de saída com valor diferente de "FINALIZADA", mas eu posso ter vários outros motoristas com serviços em execução.
    avatar
    Jungli
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 656
    Registrado : 07/05/2010

    Re: [Resolvido]Comparar campos de uma tabela

    Mensagem  Jungli em 20/4/2018, 23:03

    Mais um teste...

    Código:

      Dim qtd As Integer
      Dim strNome As String 'Evite nomear campos assim: nome
      strNome = Combinação250.Column(0)
      qtd = DCount("[ID_eventos]", "Eventos", "[Situação Saída]<>'FINALIZADA' And [Motorista]) = '" & strNome & "'")
      If qtd = 0 Then
          MsgBox "Motorista solicitado está livre"
      Else
          MsgBox "Já existe saída cadastrada para o motorista solicitado"
      End If

    abs...


    .................................................................................
    "Somos o que repetidamente fazemos.
    A excelência, portanto, não é um feito,
    mas um hábito."

    Aristóteles

    leo.gool
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 41
    Registrado : 27/02/2018

    Re: [Resolvido]Comparar campos de uma tabela

    Mensagem  leo.gool em 20/4/2018, 23:15

    Obrigado pelo retorno, a lógica acredito que seja essa mesmo, mas a expressão está me retornando um erro no tempo de execução...

    Segue link com os erros...

    [Você precisa estar registrado e conectado para ver este link.]

    [Você precisa estar registrado e conectado para ver este link.]

    leo.gool
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 41
    Registrado : 27/02/2018

    Re: [Resolvido]Comparar campos de uma tabela

    Mensagem  leo.gool em 21/4/2018, 01:00

    Olá amigo, eu que não me atentei, o alerta era apenas da existência de um parênteses em excesso, removi e ficou perfeito, obrigado pela ajuda!
    avatar
    Jungli
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 656
    Registrado : 07/05/2010

    Re: [Resolvido]Comparar campos de uma tabela

    Mensagem  Jungli em 21/4/2018, 02:33

    Por nada,
    Estamos a disposição.


    .................................................................................
    "Somos o que repetidamente fazemos.
    A excelência, portanto, não é um feito,
    mas um hábito."

    Aristóteles

      Data/hora atual: 16/10/2018, 11:34