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]Campo no subformulário for nulo, não deixar continuar

    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]Campo no subformulário for nulo, não deixar continuar Empty [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Assis 17/4/2018, 22:09

    Boa noite

    Neste código quando o "Texto36" for nulo não deixar abrir o formulário "frmProdutoAlterar"

    Texto 36 é numero padrão

    Não dá erro nenhum nenhum dos 2 If

    Código:
    '=============================
    Private Sub btnAlterar_Click()

    'If IsNull(Forms![frmproduto]![frmProduto_Composicao].Form![Texto36]) Then


    If IsNull(Forms![frmproduto]![frmProduto_Composicao]![Texto36]) Then
         Exit Sub
    Else
          DoCmd.openForm "frmProdutoAlterar", , , "[Ref]= '" & Me!ref & "'"
       End If
    End Sub


    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    Maicon
    Maicon
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 267
    Registrado : 08/09/2012

    [Resolvido]Campo no subformulário for nulo, não deixar continuar Empty É erro de referência fiz

    Mensagem  Maicon 18/4/2018, 07:27

    É erro de referência com certeza.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Silvio 18/4/2018, 12:59

    Bom dia, com permissão de todos...

    Se o texto36 for um campo desacoplado, sugiro que inclua o mesmo na tabela principal.

    E na tabela principal, coloque como preenchimento obrigatório.


    .................................................................................
    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."
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Alvaro Teixeira 18/4/2018, 13:30

    Olá a todos

    Assis, tente assim:

    Código:
    If len(Forms![frmproduto]![frmProduto_Composicao]![Texto36] &"") = 0 Then

    Abraço
    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]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Assis 18/4/2018, 13:44

    Teixeira

    Essa parte do campo 36 está resolvida.

    Agora tenho outro problema relacionado com o mesmo Texto36


    Ao clicar num botão para abrir um formulário:

    - Se o texto 36 NÂO FOR nulo abre logo o formulário - DoCmd.openForm "frmProdutoAlterar", , , "[Ref]= '" & Me!ref & "'"


    - Se o texto 36 FOR nulo pergunta:

    Código:
    If MsgBox("Quer Colocar os Componentes Neste Produto ? ", vbYesNo, "Aviso") = vbYes Then

    DoCmd.openForm "frmProdutoAlterar", , , "[Ref]= '" & Me!ref & "'"

    Else

    'Não abre o formulário

    End If
    End If


    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    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]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Assis 19/4/2018, 10:54

    Bom dia

    Up


    .................................................................................
    *** Só sei que nada sei ***
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Silvio 19/4/2018, 12:39

    Bom dia, apenas um pitaco, se me permitem...

    No evento ao clicar ou pressionar.
    Código:

       Dim stDocName As String
       Dim stLinkCriteria As String

       If Not IsNull ( me.texto36) then
       stDocname = "FrmProdutoAlterar"
       stLinkCriteria = "[Ref]=" & Me![Ref]
       Elseif IsNull(Me.texto36) Or Me.texto36= "" Then
       If MsgBox("Quer Colocar os Componentes Neste Produto ? ", vbYesNo, "Aviso") = VbnoThen
       me.undo
       Exit Sub
       Else
       DoCmd.openForm "frmProdutoAlterar", , , "[Ref]= '" & Me!ref & "'"
       
       End If
       End If


    Assis, fiz sem fazer teste algum, espero que funcione.

    SE não der, avise.

    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."
    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]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Assis 19/4/2018, 13:00

    Bom dia Silvio

    Não resultou.

    Não abre o formulário "frmProdutoAlterar" mesmo quando o Texto36 não é nulo.

    Estou queimando os neurónios

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Silvio 19/4/2018, 13:53

    Assis, poste o " baita" aqui para gente dar uma olhada.


    .................................................................................
    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."
    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]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Assis 19/4/2018, 14:23

    Silvio

    Não é não querer postar, pois confio nos Amigos do forum, nem querer não mostrar para ninguém copiar ...... rsrsrsrsrsrsr

    Mas é o desmembrar a BD, pois tem 6 formulário, e não sei quantas consultas englobadas, e tudo funfa .... mas essa informação que estou querendo seria ouro sobre azul.

    O mais próximo que tenho é este:


    Código:

    '=========================================

    Private Sub btnSalvar_Click()

    If Not IsNull(Me.Texto36) Then
       DoCmd.openForm "frmProdutoAlterar", , , "[Ref]= '" & Me!ref & "'"

    End If

    If Me.Texto36 = "" Then
        DoCmd.Close acForm, "frmProdutoAlterar"

    If MsgBox("Quer Colocar os Componentes Neste Produto ? ", vbYesNo, "Aviso") = vbYes Then

        DoCmd.openForm "frmProdutoAlterar", , , "[Ref]= '" & Me!ref & "'"

    Else
        DoCmd.CancelEvent
      DoCmd.Close acForm, "frmProdutoAlterar"

    End If
    End If


    .................................................................................
    *** Só sei que nada sei ***
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Alvaro Teixeira 19/4/2018, 16:09

    Olá a todos,

    Assis, será seguir a lógica da mensagem nº 4

    Veja se é isto:
    Código:
    Private Sub btnSalvar_Click()
        If Len(Me.Texto36 & "") <> 0 Then
          DoCmd.OpenForm "frmProdutoAlterar", , , "[Ref]= '" & Me!ref & "'"
        End If
       
        If Len(Me.Texto36 & "") = 0 Then
            DoCmd.Close acForm, "frmProdutoAlterar"
           
            If MsgBox("Quer Colocar os Componentes Neste Produto ? ", vbYesNo, "Aviso") = vbYes Then
                DoCmd.OpenForm "frmProdutoAlterar", , , "[Ref]= '" & Me!ref & "'"
            Else
                DoCmd.CancelEvent
                DoCmd.Close acForm, "frmProdutoAlterar"
            End If
        End If
    End Sub

    Abraço a todos
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Alvaro Teixeira 19/4/2018, 16:34

    Esqueci de dizer, Assis Parabéns Very Happy pela indentação!
    cheers
    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]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Assis 19/4/2018, 17:59

    Obrigado Teixeira pelos Parabéns  pela indentação . bounce bounce bounce


    Mas principalmente OBRIGADO pelo código

    cheers cheers cheers cheers

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Alvaro Teixeira 20/4/2018, 11:19

    Olá Assis, Obrigado pelo retorno.

    Já sabe continuar com indentação e ficar mais atento, já tinha a solução.

    Eu uso normalmente assim, explicação breve:

    O estado dos campos. quando não é defendido um valor é NULO, mas também pode ser VAZiO.
    Da forma que está o exemplo está a concatenar com string vazia ( .. &"" ) e verifica o tamanho ( Len... ), ora ser for zero já sabemos que não tem valor nenhum.

    Abraço a todos

    Conteúdo patrocinado


    [Resolvido]Campo no subformulário for nulo, não deixar continuar Empty Re: [Resolvido]Campo no subformulário for nulo, não deixar continuar

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 07:55