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


4 participantes

    [Resolvido]Caixa de Mensagem

    avatar
    lionduda
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 22/09/2010

    [Resolvido]Caixa de Mensagem Empty Caixa de Mensagem

    Mensagem  lionduda 18/10/2010, 18:12

    Boa tarde,

    Sou novo por aqui e estou necessitando de uma ajuda de vocês, o problema é o seguinte: eu tenho um Form Principal e dentro tenho um subformulário, eu quero que quando o usuário atualizar a data de início no sub me apareça uma caixa de mensagem alertando o usuário. A condição para esta mensagem é que se a data que ele estiver preenchendo for menor ou igual a última data de registro do campo DataTermino ele avise.
    Na tabela eu tenho os seguintes campos: DataInicio, DataTermino

    Eu tentei o seguinte código:


    Private Sub DataInicio_AfterUpdate()
    Dim Inicio As String
    Dim Termino As String

    Inicio = Foms![BIM]![FinalidadeLicença subformulário].Form![DataInicio]
    Termino = DMax([DataTermino], "PM_Bim")

    If Incio <= Termino Then
    Msgbox("Já existe Bim neste Período", vbOKCancel) As VbMsgBoxResult
    End If

    Obrigado.
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  vieirasoft 18/10/2010, 18:26

    Olá e seja bem-vindo

    Veja a síntese

    If DataInicio > DataTermino Then
    MsgBox "Data Inicial não pode ser maior que Data actual!", vbExclamation, "Erro"

    End If
    avatar
    lionduda
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 22/09/2010

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  lionduda 18/10/2010, 18:32

    vieirasoft,

    Oi amigo valeu pela resposta, mas só que eu preciso pesquisar na tabela o último resgistro do campo DataTermino e aí sim fazer a comparação, por isso usei o DMax, mas não sei onde estou errando.

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  JPaulo 18/10/2010, 18:49

    Atenção que está a trabalhar com datas, logo não é String e faça uso da função Nz se existir Nulos;

    Private Sub DataInicio_AfterUpdate()
    Dim Inicio As Date
    Dim Termino As Date

    Inicio = Me.DataInicio
    Termino = Nz(DMax("[DataTermino]", "PM_Bim"), 0)

    If Incio <= Termino Then
    Msgbox "Já existe Bim neste Período", vbCritical
    DoCmd.CancelEvent
    Else
    Exit Sub
    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]Caixa de Mensagem Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Caixa de Mensagem Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Caixa de Mensagem Folder_announce_new Instruções SQL como utilizar...
    Jungli
    Jungli
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  Jungli 18/10/2010, 18:53

    Dim vX As Variant
    vX = DLookup("[DataTermino]", "Tabela", "[ID] = " & Me.ID)
    '....
    If vX < DataTermino Then
    MsgBox "Data Inicial não pode ser maior que Data atual!", vbExclamation, "Erro"
    Else
    DoCmd.CancelEvent
    End If

    VEJA SE DA CERTO.... clown EU NÃO TESTEI ...
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  vieirasoft 18/10/2010, 18:57

    Pelos vistos o Mestre já deu a resposta. Ia postar com uma instrução select max para obter o último registo na tabela. Obrigado Mestre pela sua intervenção.

    avatar
    lionduda
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 22/09/2010

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  lionduda 18/10/2010, 19:13

    Olá testei as funções, mas só que quando eu atualizo a data, não acontece nada, entrei no vba e marquei as linhas pra ver se o código estava sendo executado mais não está. Nã estou entendendo o que está havendo.
    Coloquei a função no evento após atualizar do Controle e nada.

    Obrigado,
    Jungli
    Jungli
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  Jungli 18/10/2010, 19:21

    posta o bd pra gente dar uma olhada!
    avatar
    lionduda
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 22/09/2010

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  lionduda 18/10/2010, 19:22

    Pessoal, me desculpem minha falta de atenção!!! o problema é que eu estava usando um fom calendário pra atualizar a data inicial, e deste jeito não estava funcionando.
    Agora preciso de uma outra coisa, tem como colocar uma condição na função Dmax que vá no Form Principal buscar a chave primária da tabela e comparar.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  JPaulo 18/10/2010, 20:32



    Termino = Nz(DMax("[DataTermino]", "PM_Bim","[CampoChave]=" & Forms!SeuFormulario!CampoChave), 0)



    .................................................................................
    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]Caixa de Mensagem Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Caixa de Mensagem Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Caixa de Mensagem Folder_announce_new Instruções SQL como utilizar...
    avatar
    lionduda
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 22/09/2010

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  lionduda 18/10/2010, 20:56

    Vlw. JPaulo,
    o meu código está assim depois da sua dica:

    Private Sub DataInicio_AfterUpdate()
    Dim Inicio As Date
    Dim Termino As Date

    Termino = Nz(DMax("[DataTermino]", "PM_Bim", "[CPF]=" & Forms!BIM!CPF), 0)
    Inicio = Me.DataInicio
    If Inicio <= Termino Then
    Msgbox "Já existe Bim neste Período", vbCritical
    DoCmd.CancelEvent
    Else
    Exit Sub
    End If
    End Sub

    Mas agora está dando tipos de dados incompatíveis!!!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  JPaulo 18/10/2010, 21:12

    Provavelmente esse campo CPF é texto, então terá de levar aspas simples;

    Private Sub DataInicio_AfterUpdate()
    Dim Inicio As Date
    Dim Termino As Date

    Termino = Nz(DMax("[DataTermino]", "PM_Bim", "[CPF]='" & Forms!BIM!CPF & "'"), 0)
    Inicio = Me.DataInicio
    If Inicio <= Termino Then
    MsgBox "Já existe Bim neste Período", vbCritical
    DoCmd.CancelEvent
    Else
    Exit Sub
    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]Caixa de Mensagem Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Caixa de Mensagem Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Caixa de Mensagem Folder_announce_new Instruções SQL como utilizar...
    avatar
    lionduda
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 22/09/2010

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  lionduda 18/10/2010, 21:37

    Cara,

    Que árvore que você me quebrou agora, deu certinho!!
    Muito obrigado mesmo...

    Eduardo Laughing
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  JPaulo 18/10/2010, 21:56

    Valew pelo retorno o forum agradece.

    Só faltou o [Resolvido].


    .................................................................................
    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]Caixa de Mensagem Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Caixa de Mensagem Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Caixa de Mensagem Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Caixa de Mensagem Empty Re: [Resolvido]Caixa de Mensagem

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 13:27