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

    Evitar duplicidade utilizando Dlookup

    avatar
    BITSILVA
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 30/08/2010

    Evitar duplicidade utilizando Dlookup Empty Evitar duplicidade utilizando Dlookup

    Mensagem  BITSILVA 15/6/2018, 11:31

    Meus amigos e mestres do fórum:

    Estou desenvolvendo um Sistema de Reserva de Salas/Laboratórios.

    Eu consegui evitar a duplicidade de horários para mesma data, só que não estou conseguindo racionar para que a mesma validação seja feita também para Sala/Lab que estou selecionando.

    Na reserva em que faço gostaria de evitar duplicidade de horários e sala para a mesma data.

    Segue em anexo o sistema e o código abaixo:

    Dim Data As String
       Dim Entrada As Date
       Dim SalaR As String
       Dim HoraE As Date
       Dim SalaReserva As String

       Data = Me.DataReserva
       Entrada = Me.HoraEntrada
       SalaReserva = Me.Sala

       HoraE = Nz(DLookup("DataReserva", "tbMapaSala", "HoraEntrada = # " & Format(HoraEntrada, "hh:mm") & "#"), 0)
       SalaR = Nz(DLookup("Sala", "tbMapaSala", "HoraEntrada = # " & Format(HoraEntrada, "hh:mm") & "#"), 0)

       If CDate(HoraE) Then
           MsgBox "Hora de Entrada RESERVADA para a DATA: " & Data, vbCritical + vbOKOnly, "Reserva de Sala"
           Cancel = True
           DoCmd.CancelEvent
       ElseIf (SalaR) Then
           MsgBox "A Sala " & SalaReserva & " já foi Reservada!" & vbCrLf_
           " Data: " & Data & , & vbCrLf_
           " Hora: " & Entrada, vbCritical + vbOKOnly, "Reserva de Sala"
           Cancel = True
           DoCmd.CancelEvent
       End If
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    Evitar duplicidade utilizando Dlookup Empty Re: Evitar duplicidade utilizando Dlookup

    Mensagem  JPaulo 15/6/2018, 11:58

    Ola;

    Eu uso de forma diferente, veja;

    Download


    Código:
    Public Sub DeletaDuplicadosSemChavePrimaria()
    'By JPaulo ®️ Maximo Access
    Dim I As Long
    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM tbMapaSala", dbOpenDynaset)
        Do While Not rs.EOF
        For I = 0 To rs.Fields.Count - 1
       
        If rs(3).Value = Me.DataReserva.Value And rs(4).Value = Me.cbSala.Value And _
          (Me.HoraEntrada.Value >= rs(5).Value And Me.HoraEntrada.Value <= rs(6)) Then

          MsgBox "Já Tem Registado.", vbQuestion, "Aviso"
          Me.Undo
          Exit Sub
          Else
        End If
        Next
        rs.MoveNext
        Loop
    rs.Close
    Set rs = Nothing
    End Sub

    Private Sub Form_BeforeUpdate(Cancel As Integer)
     Call DeletaDuplicadosSemChavePrimaria
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Evitar duplicidade utilizando Dlookup Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Evitar duplicidade utilizando Dlookup Folder_announce_new 102 Códigos VBA Gratuitos...
    Evitar duplicidade utilizando Dlookup Folder_announce_new Instruções SQL como utilizar...
    avatar
    bacano
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 136
    Registrado : 08/12/2010

    Evitar duplicidade utilizando Dlookup Empty Re: Evitar duplicidade utilizando Dlookup

    Mensagem  bacano 16/6/2018, 12:59

    ola JPaulo boa tarde

    eu acho que ainda falta qualquer coisa no codigo pois se for noutro dia data diferente a sala ou curso ja poderao estar livres embora seja a mesma hora
    Anexos
    Evitar duplicidade utilizando Dlookup Attachmentduplicidade.pdf
    Você não tem permissão para fazer download dos arquivos anexados.
    (243 Kb) Baixado 13 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    Evitar duplicidade utilizando Dlookup Empty Re: Evitar duplicidade utilizando Dlookup

    Mensagem  JPaulo 18/6/2018, 05:46

    Ola;

    O meu código não está a checkar o "Curso", porque supostamente não irá ter cursos diferentes na mesma Sala.

    Todos os testes que fiz aqui funcionaram;

    Exemplo:
    Laboratório-03,16-06-2018,09:00,16:00

    No mesmo dia, para a mesma sala, não deixará no periodo das 09:00 ás 16:00

    Para outro dia ou outro laboratorio já deixa;
    Laboratório-03,17-06-2018,09:00,16:00
    Laboratório-04,16-06-2018,09:10,16:00



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Evitar duplicidade utilizando Dlookup Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Evitar duplicidade utilizando Dlookup Folder_announce_new 102 Códigos VBA Gratuitos...
    Evitar duplicidade utilizando Dlookup Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    Evitar duplicidade utilizando Dlookup Empty Re: Evitar duplicidade utilizando Dlookup

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 16:10