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

    Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .

    avatar
    AnabelaMarques
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 14
    Registrado : 03/11/2017

    Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .   Empty Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .

    Mensagem  AnabelaMarques Qui 21 Dez 2017, 00:02

    Boa noite Tenho um formulario com várias comboBoxes, algumas pretendo que seja permitido inserir itens, caso não estejam na lista. Contudo sempre que chega ao fim da Sub dá sempre a mensagem de informação


    "o texto introduzido não é um item da lista" .
    "Selecione um item da lista ou introduza texto que coincida com um dos itens listado"

    Contudo insere o item na tabela. Alguém me pode ajudar a evitar que esta mensagem seja despoletada? Obrigada desde já . A Sub é esta


    Código:
    Private Sub CxCombNIFA_NotInList(NewData As String, Response As Integer)
      Dim intAnswer As Integer
      Dim Compr As Integer
      Dim strSQL, strSQLaux  As String, nif  As Long

       DoCmd.SetWarnings False
     
      On Error GoTo ErrorHandler

      intAnswer = MsgBox("Adicionar " & NewData & " à lista de Sujeitos Passivos?", _
         vbQuestion + vbYesNo)
     
      If intAnswer = vbYes Then
        Compr = Len(NewData)
               
           strSQLaux = strSQLaux & "(" & Left(NewData, 9)
           strSQLaux = strSQLaux & ",'" & Right(NewData, (Compr - 10)) & "'"
           strSQLaux = strSQLaux & ",'" & "am0601" & "'" 'Me.txtuserSessao
           strSQLaux = strSQLaux & ",'" & Format(Now(), "dd-mm-yyyy") & "')"
       
         nif = Left(NewData, 9)
     
             strSQL = "Insert Into [Sujeito Passivo]   " & _
                    "values " & strSQLaux & ";"
     
            CurrentDb.Execute strSQL, dbFailOnError
         
         Response = acDataErrAdded         ' Requery the combo box list.
       
      Else

         Response = acDataErrDisplay       ' Require the user to select
                                           ' an existing shipper.
      End If
     
      Exit Sub

    DoCmd.SetWarnings True
    ErrorHandler:
     
      MsgBox "Error " & Err.number & ": " & Err.Description & " in " & VBE.ActiveCodePane.CodeModule, vbOKOnly, "Error"

    End Sub
    luissiscone
    luissiscone
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 184
    Registrado : 16/02/2011

    Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .   Empty Re: Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .

    Mensagem  luissiscone Qui 21 Dez 2017, 12:03

    Oi Anabela, tenta configurar a propriedade Limitar a uma lista da combo como (Não).
    avatar
    AnabelaMarques
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 14
    Registrado : 03/11/2017

    Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .   Empty Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .

    Mensagem  AnabelaMarques Qui 21 Dez 2017, 14:07

    Boa tarde Luissiscone

    Agardeço desde a resposta, mas se mudar a propriedade para não, nem sequer me permite guardar o registo na tabela.
    Dá logo erro "O valor introduzido não é válido para este campo"
    No site da Microsoft (/msdn.microsoft.com)
    diz que
    The LimitToList property must be set to Yes for the NotInList event to occur.

    Eu consigo inserir na tabela corre tudo bem até sair do método
    luissiscone
    luissiscone
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 184
    Registrado : 16/02/2011

    Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .   Empty Re: Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .

    Mensagem  luissiscone Qui 21 Dez 2017, 14:17

    É realmente tem esta trava, uma ideia !

    Vê se consegue postar parte do BD, para que os membros do fórum possam analisar melhor e talvez surja um horizonte...

    Abraço.
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .   Empty Metodo NOTInList - mensagem "o texto introduzido não é um item da lista" .

    Mensagem  good guy Qui 21 Dez 2017, 19:39

    Olá luis,

    Verifique:

    Na propriedade do combobox:

    Limitar a uma lista: Sim
    Permitir Edições da Lista de Valores: Sim
    Herdar Lista de Valores: Sim

    O código-base que uso é este fazendo as devidas alterações:

    Código:
    Private Sub Comarcas_NotInList(NewData As String, Response As Integer)
    On Error Resume Next
     Dim strSQL As String
        Dim i As Integer
        Dim Msg As String
        Dim NovoCódigo As String

        'Exit this sub if the combo box is cleared
        If NewData = "" Then Exit Sub
       
        ' Criamos uma nova variável NovoCódigo (tblComarcas) a partir do item digitado
        ' Ao subtrair os 10 primeiros caracteres da 'string'
        ' Convertendo para Maiúscula e salvando na tabela
        NovoCódigo = UCase(Trim(left(NewData, 10)))

        Msg = "'" & NewData & "' NÃO ESTÁ NA LISTA DE COMARCAS." & vbCr & vbCr
        Msg = Msg & "VOCÊ DESEJA ADICIONÁ-LO?"

        i = MsgBox(Msg, vbQuestion + vbYesNo, "COMARCAS...")
        If i = vbYes Then
            strSQL = "Insert Into tblComarcas([Codigo],[Comarcas]) values ('" & NovoCódigo & "','" & NewData & "')"
            CurrentDb.Execute strSQL, dbFailOnError
            Response = acDataErrAdded
           
        Else
            Response = acDataErrContinue
        End If
    End Sub
    luissiscone
    luissiscone
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 184
    Registrado : 16/02/2011

    Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .   Empty Re: Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .

    Mensagem  luissiscone Sex 22 Dez 2017, 12:22

    Bom dia good guy, grande mestre, tenho aprendido muito com suas postagens...

    Não havia me atentado a dúvida real da Anabela, o evento (NotInList)

    Consultei alguns projetos aqui e as rotinas que utilizo, não foge muito desta sua...

    Acho que nossa amiga Anabela, que postou esta dúvida acima, pode aproveitar sua rotina para complementar a dela...

    Uso pouco este evento, mas quando preciso faço mais ou menos assim :

    Private Sub Comarcas_NotInList(NewData As String, Response As Integer)
    If MsgBox("Itém não consta na lista, deseja inclui-lo ?", vbYesNo + vbInformation, "Item não consta na lista") = vbYes Then
    DoCmd.RunSQL "INSERT INTO Tabela1 ( Comarcas )SELECT [Formulários]![Formulário1]![Comarcas] AS Comarcas;"
    End If
    Response = acDataErrContinue
    End Sub

    Abraços
    avatar
    AnabelaMarques
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 14
    Registrado : 03/11/2017

    Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .   Empty Re: Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .

    Mensagem  AnabelaMarques Sex 22 Dez 2017, 12:59

    Bom dia

    Olhando para o Código do good guy e para o meu a diferença está no tratamento do Else da resposta

    Else
    Response = acDataErrDisplay

    End If

    O Good Guy não o trata e manda

    Response = acDataErrContinue

    assim como o good guy faz já não dá a mensagem de informação que me dava.

    Considero este tópico como respondido


    agradeço desde já a vossa ajuda

    Bem hajam e Feliz Natal
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .   Empty Metodo NOTInList - mensagem "o texto introduzido não é um item da lista" .

    Mensagem  good guy Sex 22 Dez 2017, 13:20

    Valew Anabela e Luis que também mandou bem com uma solução igual. Não esqueça de dar o tópico como RESOLVIDO.

    Um Feliz Natal !!! O fórum todo agradece pelo feliz retorno.

    Conteúdo patrocinado


    Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .   Empty Re: Metodo NOtInList - mensagem "o texto introduzido não é um item da lista" .

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Dom 19 maio 2024, 18:39