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


2 participantes

    [Resolvido]Não deixar repetir Dados

    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Não deixar repetir Dados Empty Não deixar repetir Dados

    Mensagem  Assis 31/1/2012, 22:39

    Boa noite

    Tenho uma tabela nome "Agenda" com os seguintes campos

    Campo 1 - DataAviso ... Tipo data ...31-01-2012
    Campo 2 - Médico ...... Texto
    Campo 3 - Paciente .... Texto
    Campo 4 - Hora ........ Tipo Hora .. 09:30, 10:00, 13:30 etc

    Isto é uma agenda para marcar consultas.

    Queria impedir de Gravar:

    A marcação no mesmo dia

    2 consultas para o mesmo médico com o mesmo paciente
    2 consultas na mesma hora para o mesmo médico
    2 consultas na mesma hora para o mesmo paciente

    Obrigado



    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Convidad
    Convidado


    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Convidad 31/1/2012, 23:19


    Qual é o Nome do campo ID da tabela Agenda ?

    Poderá, creio, usar a função DCount para contar os registros específicos, e, sendo mais que 1, impedir.
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Assis 31/1/2012, 23:53

    Boa noite
    Norbs

    O Id é -- IDConsulta

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Convidad
    Convidado


    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Convidad 1/2/2012, 01:27


    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Nz(DCount("*", "Agenda", "Médico='" Me.Médico & "'" And Paciente='" & Me.Paciente & "'" And DataAviso=#" & Me.DataAviso & "#"), 0) > 0 Then
    Cancel = True
    MsgBox "Já existe uma consulta marcada nesta data com este médico para esta paciente."
    ElseIf Nz(DCount("*", "Agenda", "Médico='" Me.Médico & "'" And Hora=#" & Me.Hora & "#" And DataAviso=#" & Me.DataAviso & "#"), 0) > 0 Then
    Cancel = True
    MsgBox "Já existe uma consulta marcada neste horário e data para este médico."
    ElseIf Nz(DCount("*", "Agenda", "Paciente='" Me.Paciente & "'" And Hora=#" & Me.Hora & "#" And DataAviso=#" & Me.DataAviso & "#"), 0) > 0 Then
    Cancel = True
    MsgBox "Já existe uma consulta marcada neste horário e data para este paciente."
    End If
    End Sub
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Assis 1/2/2012, 08:58

    Bom dia Norberto

    Obrigado

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Nz(DCount("*", "Agenda", "Médico='" Me.Médico & "'" And Paciente='" & Me.Paciente & "'" And DataAviso=#" & Me.DataAviso & "#"), 0) > 0 Then
    Cancel = True
    MsgBox "Já existe uma consulta marcada nesta data com este médico para esta paciente."
    ElseIf Nz(DCount("*", "Agenda", "Médico='" Me.Médico & "'" And Hora=#" & Me.Hora & "#" And DataAviso=#" & Me.DataAviso & "#"), 0) > 0 Then
    Cancel = True
    MsgBox "Já existe uma consulta marcada neste horário e data para este médico."
    ElseIf Nz(DCount("*", "Agenda", "Paciente='" Me.Paciente & "'" And Hora=#" & Me.Hora & "#" And DataAviso=#" & Me.DataAviso & "#"), 0) > 0 Then
    Cancel = True
    MsgBox "Já existe uma consulta marcada neste horário e data para este paciente."
    End If
    End Sub


    Esta linha ficam a vermelho


    .................................................................................
    *** Só sei que nada sei ***
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  JPaulo 1/2/2012, 09:08

    Try;


    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Nz(DCount("*", "Agenda", "[Médico]='" & Me.Médico & "' And [Paciente]='" & Me.Paciente & "' And [DataAviso]=#" & Me.DataAviso & "#"), 0) > 0 Then
    Cancel = True
    MsgBox "Já existe uma consulta marcada nesta data com este médico para esta paciente."
    ElseIf Nz(DCount("*", "Agenda", "[Médico]='" & Me.Médico & "' And [Hora]=#" & Me.Hora & "# And [DataAviso]=#" & Me.DataAviso & "#"), 0) > 0 Then
    Cancel = True
    MsgBox "Já existe uma consulta marcada neste horário e data para este médico."
    ElseIf Nz(DCount("*", "Agenda", "[Paciente]='" & Me.Paciente & "' And [Hora]=#" & Me.Hora & "# And [DataAviso]=#" & Me.DataAviso & "#"), 0) > 0 Then
    Cancel = True
    MsgBox "Já existe uma consulta marcada neste horário e data para este paciente."
    End If
    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

    [Resolvido]Não deixar repetir Dados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Não deixar repetir Dados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Não deixar repetir Dados Folder_announce_new Instruções SQL como utilizar...
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Assis 1/2/2012, 09:27

    Bom dia

    Continua a deixar repetir


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Convidad
    Convidado


    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Convidad 1/2/2012, 11:41


    Bom dia Assis

    Antes de ver seu bd, tente substituir:
    Me. por Forms!NomeDoSeuForm!
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Assis 1/2/2012, 12:52

    Continua Erro a vermelho


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Convidad
    Convidado


    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Convidad 1/2/2012, 13:55


    Depurei aqui com F8, e não acusa erro no evento em questão.
    No entanto, permite o registro duplicado, o que me leva a crer que há outro problema...
    Só que não descobri, ainda, o que possa ser.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  JPaulo 1/2/2012, 22:01

    Veja o simples;

    http://dl.dropbox.com/u/771097/Agenda%20-%20Assis_OLD.rar



    .................................................................................
    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

    [Resolvido]Não deixar repetir Dados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Não deixar repetir Dados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Não deixar repetir Dados Folder_announce_new Instruções SQL como utilizar...
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Assis 1/2/2012, 22:47

    Boa noite JPaulo

    Obrigado

    No exemplo que colocou para download, tem um registo para:

    01-02-2012 ..... 09:00 .... Anibal Assis .... Dr. Carlos Lopes

    Teste

    02-02-2012 ..... 09:00 .... Anibal Assis .... Dr. Carlos Lopes

    Não deixa gravar.





    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Convidad
    Convidado


    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Convidad 1/2/2012, 23:51

    Olá Assis

    Embora você já esteja adiantado com o teu aplicativo, chegou a dar uma olhadinha
    na agenda que eu disponibilizei neste post?

    Abraços
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Assis 2/2/2012, 01:00

    Boa noite
    Kiel

    Sim eu vi a sua agenda. Está muito boa.
    Parabens

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Convidado
    Convidado


    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Convidado 2/2/2012, 01:19

    Boa noite colega Assis....
    Testei o exemplo de JPaulo e funciona.....click no campo data (não aceita digitação)abre o calendário e registra-se, inclusive se marcar paciente para mesmo horário o sistema impede a inclusão.
    Agora na Consulta Agenda completa carrega todos os registros e
    na consulta Agenda Consulta há um critério na coluna "DataAviso" que é =Data().
    Então só mostra o registros de hoje 01/02/12. se retirar esse critério aparece todos.
    Ou esta se referindo em "apareça" os registros nos form??????????
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  JPaulo 2/2/2012, 09:01

    Aqui funciona perfeito.

    Inseri dois (2) registros com:

    Código:
    Data:02-02-2012  Hora:09:20  Paciente:Anibal Assis  Doutor:Dr. Carlos Lopes
    Data:02-02-2012  Hora:10:00  Paciente:Anibal Assis  Doutor:Dr. Carlos Lopes

    Inseriu perfeito, mas para a mesma data,hora,paciente e doutor, não deixa...

    Veja:
    http://dl.dropbox.com/u/771097/Agenda%20-%20Assis_OLD_II.rar



    .................................................................................
    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

    [Resolvido]Não deixar repetir Dados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Não deixar repetir Dados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Não deixar repetir Dados Folder_announce_new Instruções SQL como utilizar...
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Assis 2/2/2012, 10:30

    Bom dia JPaulo

    Se tiver um só registo na tabela assim:

    01-02-2012 ..... 09:00 .... Anibal Assis .... Dr. Carlos Lopes


    Esta devia gravar, pois o dia é diferente mas não grava .

    02-02-2012 ..... 09:00 .... Anibal Assis .... Dr. Carlos Lopes (1)

    (1) Igual á anterior, só muda o dia



    .................................................................................
    *** Só sei que nada sei ***
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  JPaulo 2/2/2012, 12:26

    Veja;

    http://dl.dropbox.com/u/771097/Agenda%20-%20Assis_OLD_III.rar



    .................................................................................
    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

    [Resolvido]Não deixar repetir Dados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Não deixar repetir Dados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Não deixar repetir Dados Folder_announce_new Instruções SQL como utilizar...
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Assis 2/2/2012, 12:50

    Obrigado
    JPaulo
    Já se pode marcar médico todos os dias á mesma hora...


    .................................................................................
    *** Só sei que nada sei ***
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  JPaulo 2/2/2012, 13:17

    Valew, obrigado pelo retorno o forum agradece.


    .................................................................................
    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

    [Resolvido]Não deixar repetir Dados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Não deixar repetir Dados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Não deixar repetir Dados Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Não deixar repetir Dados Empty Re: [Resolvido]Não deixar repetir Dados

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 03:25