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

    [Resolvido]Impedir abertura de Formulario

    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Impedir abertura de Formulario Empty Impedir abertura de Formulario

    Mensagem  Assis 6/4/2011, 23:27

    Boa noite
    Estou a tentar impedir a abertura de um Form e não estou a consegir.

    Abre e não dá erro

    Ao Abrir
    If (DLookup("[data]", "questionário", "[data] ='" & Me.DataC & "'")) And ((DLookup("[códigodopaciente]", "questionário", "[códigodopaciente] ='" & Me.Paciente & "'"))) Then
    MsgBox "Questionário já existe com esta Data .", vbQuestion, "Aviso"
    DoCmd.CancelEvent

    End If

    Será por o Form a abrir ser de campos independentes?


    .................................................................................
    *** Só sei que nada sei ***
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  criquio 6/4/2011, 23:52

    Nesse código não tem nada que impeça a abertura do form. Tente assim:

    If (DLookup("[data]", "questionário", "[data] ='" & Me.DataC & "'")) And ((DLookup("[códigodopaciente]", "questionário", "[códigodopaciente] ='" & Me.Paciente & "'"))) Then
    MsgBox "Questionário já existe com esta Data .", vbQuestion, "Aviso"
    DoCmd.Close acForm, Me.Name
    End If


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  Assis 7/4/2011, 00:12

    Boas Criquio

    Se lhe tirar o campo data a função deteta o repetido.


    .................................................................................
    *** Só sei que nada sei ***
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  criquio 7/4/2011, 00:32

    Acredito que você clica em um botão de outro form para abrir esse. Se for, mude para o evento desse botão que abre esse form. Acredito que irá funfar melhor.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  Assis 7/4/2011, 11:18

    Bom dia Criquio


    Este comando está num botão para abrir o "Form"

    Assim funciona mas preciso de lhe adicionar a condição "Data".

    If (DLookup("[códigodopaciente]", "questionário", "[códigodopaciente] =" & Me.Paciente & "")) Then
    MsgBox "Questionário já existe com esta Data .", vbQuestion, "Aviso"
    DoCmd.Close acForm, "Questionario"
    Exit Sub
    End If


    Assim deixa abrir o "Form" e não devia deixar pois vai repetir o questionário na mesma data

    If (DLookup("[códigodopaciente]", "questionário", "[códigodopaciente] =" & Me.Paciente & "") And (DLookup("[Data]", "questionário", "[Data] =" & Me.DataT & ""))) Then
    MsgBox "Questionário já existe com esta Data .", vbQuestion, "Aviso"
    DoCmd.Close acForm, "questionario"
    Exit Sub
    End If


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


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  JPaulo 7/4/2011, 11:41

    teste;

    If (DLookup("[códigodopaciente]", "questionario", "[códigodopaciente] =" & Me.Paciente & " And [Data] =#" & Me.DataT & "#")) Then
    MsgBox "Questionário já existe com esta Data .", vbQuestion, "Aviso"
    DoCmd.Close acForm, "Questionario"
    Exit Sub
    End If



    .................................................................................
    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]Impedir abertura de Formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Impedir abertura de Formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Impedir abertura de Formulario 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 : 4754
    Registrado : 06/11/2009

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  Assis 7/4/2011, 11:50

    Bom dia JPaulo

    Contiua a deixar abrir o "Form"
    Obrigado


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


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  JPaulo 7/4/2011, 12:43

    Mostre-nos a instrução toda por favor.


    .................................................................................
    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]Impedir abertura de Formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Impedir abertura de Formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Impedir abertura de Formulario 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 : 4754
    Registrado : 06/11/2009

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  Assis 7/4/2011, 13:11

    Private Sub Comando17_Click()

    If (DLookup("[códigodopaciente]", "Questionário", "[códigodopaciente] =" & Me.Paciente & " And [Data] =#" & Me.DataT & "#")) Then
    MsgBox "O Paciente " & [Paciente] & "" & Chr(13) & " Já tem Um Questionário Nesta Data " & [DataT] & "? ", vbExclamation, "Aviso"
    DoCmd.Close acForm, "Questionario"
    Exit Sub
    End If
    End Sub


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


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  JPaulo 7/4/2011, 14:10

    Assis voltei do almoço e já consigo pensar melhor, mas ainda não consigo perceber o que quer.

    Vejamos;

    Nesse seu código no evento VBA ao pressionar de um botão, onde está a instrução de abrir o 2º form ?

    Ainda nesse contexto, você tem o 2º form desvinculado certo ? Como é que carrega os dados ?

    Quer postar um pequeno exemplo aqui ?


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  criquio 7/4/2011, 14:16

    Até aonde entendi, esse código, da forma que está, deveria ser colocado no evento "Ao carregar" do formulário a ser aberto. Para o botão, seria algo assim:

    If (DLookup("[códigodopaciente]", "Questionário", "[códigodopaciente] =" & Me.Paciente & " And [Data] =#" & Me.DataT & "#")) Then
    MsgBox "O Paciente " & [Paciente] & "" & Chr(13) & " Já tem Um Questionário Nesta Data " & [DataT] & "? ", vbExclamation, "Aviso"
    Exit Sub
    Else
    DoCmd.OpenForm "Questionario"
    End If


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  Assis 7/4/2011, 14:55

    Boas

    É dificil colocar aqui um exemplo pois é um bocado complexo em consultas e Formulários.

    Tenho um Form Continuo "TratamentosMarcados", com dois campos. "DataT" e "CódigodoPaciente", e um Botão em cada

    linha de registo que abre um "Form" simples "Questionário", que tem um campo "Data", outro "CódigodoPaciente" e

    outros....

    Quero com o botão abrir o form "questionário" que ao abrir carrega a DataT e o CódigodoPaciente do "Form"

    "TratamentosMarcados", e se essa data e esse paciente já estiverem na tabela Questionário, não abre o Form

    "Questionário"

    Um paciente não pode ter dois registos no mesmo dia.

    Se eu colocar na formula só o Códigodopaciente funciona, com os dois abre sempre




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


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  JPaulo 7/4/2011, 15:58

    Vamos lá:

    Então no botão apenas você vai colocar lá o DoCmd.OpenForm bla bla bla bla

    No evento VBA ao Carregar do segundo form, você tem sempre de efectuar um DLookup à tabela ou consulta, e sempre referenciando o 1º form;

    Private Sub Form_Load()
    'instrução sempre no evento ao carregar, nunca no evento ao abrir
    If (DLookup("[códigodopaciente]", "SuaTabela", "[códigodopaciente] =" & Forms![TratamentosMarcados]![CódigodoPaciente] & " And [Data] =#" & Forms![TratamentosMarcados]![DataT] & "#"))>0 Then
    MsgBox "Questionário já existe com esta Data .", vbQuestion, "Aviso"
    DoCmd.Close 'instrução suficiente para fechar o form
    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]Impedir abertura de Formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Impedir abertura de Formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Impedir abertura de Formulario Folder_announce_new Instruções SQL como utilizar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  JPaulo 7/4/2011, 16:03

    Se preferir fazer logo no botão terá de fazer assim;

    Private Sub SeuBotão_Click()
    Dim strForm As String
    strForm = "Questionário"
    If (DLookup("[códigodopaciente]", "SuaTabela", "[códigodopaciente] =" & Forms![TratamentosMarcados]![CódigodoPaciente] & " And [Data] =#" & Forms![TratamentosMarcados]![DataT] & "#")) > 0 Then
    MsgBox "Questionário já existe com esta Data .", vbQuestion, "Aviso"
    DoCmd.CancelEvent
    Else
    DoCmd.OpenForm strForm, acNormal
    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]Impedir abertura de Formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Impedir abertura de Formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Impedir abertura de Formulario 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 : 4754
    Registrado : 06/11/2009

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  Assis 7/4/2011, 16:30

    Boas JPaulo

    Foi duro mas funciona com o comando do botão ...Obrigado


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


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Impedir abertura de Formulario Empty Re: [Resolvido]Impedir abertura de Formulario

    Mensagem  JPaulo 7/4/2011, 16:34

    Obrigado pelo retorno.

    Ás vezes temos de parar e pensar um pouco, que tudo se resolve menos a morte.



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

      Data/hora atual: 27/1/2023, 04:08