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]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Silvio
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano Empty [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Mensagem  Silvio em 28/2/2019, 21:20

    Prezados, boa noite.

    Estou literalmente " empacado" em 3 rotinas.

    Há em desenvolvimento ( quase finalizado....)  um formulário chamado " FrmParada"

    Nele há uma ComboBox ( CboVagaN ), onde tenho que buscar uma vaga livre.

    Quando a mesma vaga está com um veículo  **** era **** , para disparar uma mensagem de box ocupado ( mostrando o numero do box e a placa do veículo ), alertando  dessa forma o usuário para escolher outro box;   Isso não está mais acontecendo.

    Nessa mesma ComboBox, quando o box está livre, era para " chamar "  uma rotina em um campo Booleno ( ocupado, que era para ficar " clicado" ), que por sua vez, era para mostrar em uma LstBox (LstBoxOcupado) que esse box está ocupado;   Por mistérios esotéricos e assimétricos....parou de funcionar.

    Quando se clica no botão "saída" ( nele tem uma chamada de rotina ) era para o campo "livre"( Booleano) ficar "Clicado" e rodar a rotina de liberação de vaga e mostrar o box livre em uma ListBox (LstBoxLivre), também parou de funfar.   Nem Carl Seagan saberia explicar.

    Estou solicitando a ajuda, pois já queimei meus neurônios...e os poucos que ficaram....estão na UTI.

    Em anexo, segue apenas com as entidades envolvidas.

    Agradeço a ajuda e a boa vontade dos colegas.

    Abraços.
    Anexos
    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano AttachmentAjuda.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (62 Kb) Baixado 13 vez(es)


    .................................................................................
    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."
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2900
    Registrado : 21/04/2011

    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano Empty Re: [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Mensagem  Marcelo David em 28/2/2019, 23:18

    Boa noite Silvio.
    Não consigo testar agora...

    Nessas casos assim, eu costumo copiar tudo para um novo banco.
    Já fez isso?

    Pode ser que tenha desativado algo no seu banco ou esse banco pode estar
    corrompendo. Tente copiar tudo para um novo banco.

    Crie um banco em branco, e no banco antigo, selecione todos os objetos
    e copie e cole no banco novo vazio. Teste para ver.


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    Silvio
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano Empty Re: [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Mensagem  Silvio em 1/3/2019, 11:16

    Marcelo, bom dia. Grato por teu interesse em me ajudar.

    O problemas está na construção das rotinas, na lógica. Fiquei meio que perdido e confuso ao mesmo tempo.

    A base de dados não está corrompendo.


    .................................................................................
    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."
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 957
    Registrado : 01/03/2014

    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano Empty Re: [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Mensagem  Celso Roberto em 1/3/2019, 15:43

    Ola silvio..

    Primeira parte.

    Altere esta parte e veja se esta correto

    Código:
    Busca = Me.VagaOculta.Value
    StLinkCriteria = "VagaOculta= " & Me.VagaOculta
    x = DLookup("vagaOculta", "QryBoxOcupado", StLinkCriteria)
    If DCount("Ocupado ", "QryBoxOcupado", StLinkCriteria) = Verdadeiro Then
       MsgBox "O Box : " & Busca & vbCrLf & _
              "Já está sendo utilizado." & vbCrLf & _
              "Pelo veículo de placa:  " & x & vbCrLf & _
              "Utilize outro box.", vbCritical, Me.Caption
              Cancel = True
              Me.Undo



    Agurado


    Última edição por Celso Roberto em 1/3/2019, 17:35, editado 1 vez(es)


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 957
    Registrado : 01/03/2014

    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano Empty Re: [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Mensagem  Celso Roberto em 1/3/2019, 16:23

    Olá..

    para mostrar a placa do veiculo altere o "X" para linha abaixo

    x = DLookup("[Placa]", "QryBoxOcupado", "[VagaOculta] = " & Me!VagaOculta & "")

    Aguardo


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Silvio
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano Empty Re: [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Mensagem  Silvio em 1/3/2019, 17:46

    Celso, boa tarde...

    Show de bola......


    .................................................................................
    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."
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 957
    Registrado : 01/03/2014

    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano Empty Re: [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Mensagem  Celso Roberto em 1/3/2019, 21:35

    Olá..

    Para corrigir a primeira e segunda parte das duvidas, altere para este e veja se esta correto.

    Código:
    Me.VagaOculta = Me.CboVagaN.Column(1)

    Dim Busca As String
    Dim StLinkCriteria As String
    Dim rsc As DAO.Recordset
    Dim x As Variant

    Busca = Me.VagaOculta.Value
    StLinkCriteria = "VagaOculta= " & Me.VagaOculta
    'x = DLookup("[Placa]", "QryBoxOcupado", StLinkCriteria)
    x = DLookup("[Placa]", "QryBoxOcupado", "[VagaOculta] = " & Me!VagaOculta & "")

    'If DCount("VagaOculta ", "QryBoxOcupado", StLinkCriteria) = -1 Then
    'If DCount("Ocupado ", "QryBoxOcupado", StLinkCriteria) = Verdadeiro Then
    If DCount("*", "QryBoxOcupado", "[VagaOculta] = " & Me!VagaOculta & " And [Ocupado] = True") > 0 Then


      MsgBox "O Box : " & Busca & vbCrLf & _
              "Já está sendo utilizado." & vbCrLf & _
              "Pelo veículo de placa:  " & x & vbCrLf & _
              "Utilize outro box.", vbCritical, Me.Caption
              'Cancel = True
              Exit Sub
              Me.Undo

    Else
      Set rsc = Me.RecordsetClone
      rsc.FindFirst StLinkCriteria
      Me.Ocupado = True
     
      Set rsc = Nothing
    End If

    Call Ocupado_Click
    Me.DataEntrada = Date
    Me.HoraEntrada = Time()

    'Dim x As String
    'x = DFirst("tblparada", "VagaOculta ='" & Me!VagaOculta & """")
    'If DLookup("tblparada", "VagaOculta='" & Me!VagaOculta & "'") = -1 Then
    'MsgBox "BOX JÁ ESTÁ OCUPADO, UTILIZE OUTRO !" & vbCrLf & _
    '      "PLACA : " & x & vbCrLf & _
    '      "O evento será cancelado.", vbCritical, Me.Caption
    'Cancel = True
    'Me.Undo
    '
    'Exit Sub
    'Else
    'End If

    A terceira parte eu não entendi corretamente

    Aguardo



    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Silvio
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano Empty Re: [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Mensagem  Silvio em 4/3/2019, 16:22

    Boa tarde..
    Grande Celso, estamos fazendo progresso finalmente.

    A terceira parte é o inverso da segunda parte......

    Quando se está ocupado o box....fica clicado o "ocupado" e aparece na lstboxocupado...quando "livre" é o inverso do " ocupado" e aparece na lstboxlivre.


    .................................................................................
    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."
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 957
    Registrado : 01/03/2014

    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano Empty Re: [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Mensagem  Celso Roberto em 4/3/2019, 17:46

    Olá Silvio..

    Altere todos conforme abaixo

    Código:
    Private Sub CboVagaN_AfterUpdate()
    '********************************************************************************************
    ' preciso que quando a vaga estiver ocupada, seja feita uma busca na consulta ou na tabela
    ' e me retorne o número do box e a placa do carro.  E isso tem que aparecer na lstbox
    ' estou empacado aqui.
    ' caso esteja livre, tem que chamar a rotina "Call Ocupado_Click"

    Me.VagaOculta = Me.CboVagaN.Column(1)

    Dim Busca As String
    Dim StLinkCriteria As String
    Dim rsc As DAO.Recordset
    Dim x As Variant

    Busca = Me.VagaOculta.Value
    StLinkCriteria = "VagaOculta= " & Me.VagaOculta
    x = DLookup("[Placa]", "QryBoxOcupado", StLinkCriteria)

    If DCount("VagaOculta ", "QryBoxOcupado", StLinkCriteria) > 0 Then

        MsgBox "O Box : " & Busca & vbCrLf & _
              "Já está sendo utilizado." & vbCrLf & _
              "Pelo veículo de placa:  " & x & vbCrLf & _
              "Utilize outro box.", vbCritical, Me.Caption
              Exit Sub
              Me.Undo

    Else
        Set rsc = Me.RecordsetClone
        rsc.FindFirst StLinkCriteria
         
        Call Ocupado_Click
        Me.DataEntrada = Date
        Me.HoraEntrada = Time()
     
      Set rsc = Nothing
    End If

    'Call Ocupado_Click
    'Me.DataEntrada = Date
    'Me.HoraEntrada = Time()

    End Sub




    Código:
    Private Sub Livre_Click()

        ' liberando  a vaga
        Dim DB As Database, rs As Recordset
        Set DB = CurrentDb()
        Set rs = DB.OpenRecordset("TblBox", dbOpenDynaset)
        rs.FindFirst "BoxNumero = '" & Me.VagaOculta & "'"
        rs.Edit
        rs("livre") = -1
        rs("Ocupado") = 0
        rs.Update
        rs.Close
        Set rs = Nothing
        Set DB = Nothing
        ' fim da atualização e liberação
     
        Me.Livre = True
        DoCmd.Save

        If Me.Livre = True Then
            Me.LstBoxLivre.Requery
            Me.LstBoxOcupado.Requery
            Me.Ocupado = False
            Me.Requery
        Else
            Me.Livre = False
            Me.Ocupado = False
            Me.DataSaida = ""
            Me.HoraSaida = ""
        End If
       
        Me.LstBoxLivre.Requery
        Me.LstBoxOcupado.Requery
        Me.Requery
        DoCmd.Save

    End Sub


    Código:
    Private Sub Ocupado_Click()

        'Travando  a vaga
        Dim DB As Database, rs As Recordset
        Set DB = CurrentDb()
        Set rs = DB.OpenRecordset("TblBox", dbOpenDynaset)
        rs.FindFirst "BoxNumero = '" & Me.VagaOculta & "'"
        rs.Edit
        rs("Ocupado") = -1
        rs("Livre") = 0
        rs.Update
        rs.Close
        Set rs = Nothing
        Set DB = Nothing
        ' fim da atualização e liberação
       
        Me.Ocupado = True
        DoCmd.Save
       
        If Me.Ocupado = True Then
            Me.LstBoxLivre.Requery
            Me.LstBoxOcupado.Requery
            Me.Livre = False
        Else
            Me.Ocupado = False
            Me.Livre = False
        End If
     
        Me.LstBoxLivre.Requery
        Me.LstBoxOcupado.Requery
        DoCmd.Save
        Me.Placa.SetFocus

    End Sub



    Aguardo

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Silvio
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano Empty Re: [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Mensagem  Silvio em 7/3/2019, 19:01

    Dando o tópico por encerrado.

    Grato Celso por tua força e tempo dispensado a minha duvida.

    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."
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 957
    Registrado : 01/03/2014

    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano Empty Re: [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Mensagem  Celso Roberto em 7/3/2019, 19:42

    Olá Silvio...

    Estaremos sempre ajudando e recebendo ajuda!!

    Abraços e sucesso...


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    Conteúdo patrocinado

    [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano Empty Re: [Resolvido]Rotina de busca / localização em ComboBox e atualização de campo Booleano

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 9/12/2019, 15:35