MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]Erro Type mismatch

    avatar
    rmjsantos
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 81
    Registrado : 31/10/2014

    [Resolvido]Erro Type mismatch Empty [Resolvido]Erro Type mismatch

    Mensagem  rmjsantos em 23/1/2020, 23:04

    Olá a todos

    Tenho um formulário onde tenho uma caixa de combinação que se os dados que se pretende não estiver na lista, envia mensagem para fazer duplo clique para inserir dados num outro formulário.
    Até aqui tudo bem, se não estiver na lista manda mensagem, faço duplo clique na caixa de combinação, abre o formulário respectivo, insiro dados e pronto, fica na lista da caixa de texto.
    O problema é que depois de seleccionar os dados, voltando depois ao registo, ao fazer duplo clique na caixa de combinação envia o erro Tipe mismatch.
    Dá para contornar este erro?
    em vez da mensagem do erro, será que podia enviar mensagem para seleccionar dados da lista.


    Este é o código que tenho na caixa de texto

    Se não estiver na lista:

    Private Sub Posto_NotInList(NewData As String, Response As Integer)
       MsgBox "O Posto / Categoria que inseriu não existe. Faça duplo clique sobre este campo para adicionar NOVO Posto / Categoria na lista."
       Response = acDataErrContinue
    End Sub


    Ao fazer duplo clique:

    Private Sub Posto_DblClick(Cancel As Integer)
    On Error GoTo Err_Posto_DblClick
       Dim lngSupplierID As Long

       If IsNull(Me![Posto]) Then
           Me![Posto].Text = ""
       Else
           lngSupplierID = Me![Posto]
           Me![Posto] = Null
       End If
       DoCmd.OpenForm "f_Postos", , , , , acDialog, "GotoNew"
       Me![Posto].Requery
       If lngSupplierID <> 0 Then Me![Posto] = lngSupplierID

    Exit_Posto_DblClick:
       Exit Sub

    Err_Posto_DblClick:
       MsgBox Err.Description
       Resume Exit_Posto_DblClick

    End Sub



    E aqui presumo que esteja o erro.
    Alguém poderá ajudar.
    Obrigado.
    Abraço a todos
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1587
    Registrado : 22/11/2016

    [Resolvido]Erro Type mismatch Empty Re: [Resolvido]Erro Type mismatch

    Mensagem  DamascenoJr. em 24/1/2020, 04:26

    troque
    Código:
    If IsNull(Me![Posto]) Then
          Me![Posto].Text = ""
      Else
          lngSupplierID = Me![Posto]
          Me![Posto] = Null
      End If

    por
    Código:
    if len(cstr(me!posto & "")) > 0 then
          lngSupplierID = Me![Posto]
          Me![Posto] = Null
    End If

    e diga se resolve


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    rmjsantos
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 81
    Registrado : 31/10/2014

    [Resolvido]Erro Type mismatch Empty Re: [Resolvido]Erro Type mismatch

    Mensagem  rmjsantos em 24/1/2020, 19:25

    Damasceno
    Fiz a alteração como sugeriu, mas continua a dar o mesmo erro. (Type mismatch)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1587
    Registrado : 22/11/2016

    [Resolvido]Erro Type mismatch Empty Re: [Resolvido]Erro Type mismatch

    Mensagem  DamascenoJr. em 24/1/2020, 22:00

    Use esse código e descubra exatamente em qual linha ocorre o erro. Mas para resolver de verdade sugiro anexar aqui no tópico os objetos envolvidos.

    Código:
    10    On Error GoTo Err_Posto_DblClick
            Dim lngSupplierID As Long

    20      If IsNull(Me![Posto]) Then
    30          Me![Posto].Text = ""
    40      Else
    50          lngSupplierID = Me![Posto]
    60          Me![Posto] = Null
    70      End If
    80      DoCmd.OpenForm "f_Postos", , , , , acDialog, "GotoNew"
    90      Me![Posto].Requery
    100      If lngSupplierID <> 0 Then Me![Posto] = lngSupplierID

    Exit_Posto_DblClick:
    110      Exit Sub

    Err_Posto_DblClick:
    120      MsgBox "Erro na linha " & Erl
    130      Resume Exit_Posto_DblClick


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    rmjsantos
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 81
    Registrado : 31/10/2014

    [Resolvido]Erro Type mismatch Empty Re: [Resolvido]Erro Type mismatch

    Mensagem  rmjsantos em 24/1/2020, 23:02

    Damasceno

    Usei o código que deu, mas não deu certo.
    Dá erro na linha 0(zero)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1587
    Registrado : 22/11/2016

    [Resolvido]Erro Type mismatch Empty Re: [Resolvido]Erro Type mismatch

    Mensagem  DamascenoJr. em 24/1/2020, 23:05

    Anexo seu banco para que possamos ajudar com eficácia.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    rmjsantos
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 81
    Registrado : 31/10/2014

    [Resolvido]Erro Type mismatch Empty Re: [Resolvido]Erro Type mismatch

    Mensagem  rmjsantos em 24/1/2020, 23:14

    Anexo BD
    Anexos
    [Resolvido]Erro Type mismatch AttachmentSecretaria.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (365 Kb) Baixado 2 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1587
    Registrado : 22/11/2016

    [Resolvido]Erro Type mismatch Empty Re: [Resolvido]Erro Type mismatch

    Mensagem  DamascenoJr. em 25/1/2020, 01:15

    [Resolvido]Erro Type mismatch Erro_f11

    Veja, você declara que vai usar uma variável do tipo "long" (numérica), mas seu campo "Posto" tem um valor do tipo texto. Ao tentar salvar um texto em uma variável numérica o erro acontece.

    O certo então é usar uma variável do tipo "string" (texto).

    Código:
    On Error GoTo Err_Posto_DblClick
           
          Dim strSupplier As String
         
          If Nz(Me!Posto.Value) <> "" Then
              strSupplier = Me![Posto]
              Me![Posto].Value = ""
          End If
         
          DoCmd.OpenForm "f_Postos", , , , , acDialog, "GotoNew"
          Me![Posto].Requery
          If strSupplier <> "" Then Me![Posto] = strSupplier

    Exit_Posto_DblClick:
          Exit Sub

    Err_Posto_DblClick:
            MsgBox Err.Description
            Resume Exit_Posto_DblClick


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    rmjsantos
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 81
    Registrado : 31/10/2014

    [Resolvido]Erro Type mismatch Empty Re: [Resolvido]Erro Type mismatch

    Mensagem  rmjsantos em 25/1/2020, 12:08

    Damasceno

    Deu certo, é mesmo isso.
    Desculpe os meus erros, é que ainda ando a tentar a aprender e perceber o código vba.
    Ainda sou principiante e à medida que vou fazendo a base dados vou pesquisando e tentando adaptar os exemplos ao que pretendo.
    Muitíssimo Obrigado por partilhar  os seus conhecimentos, sem você não conseguiria.
    No entanto, vou acabar a base dados que pretendo fazer e depois vou partilhar aqui no fórum.
    Um bem haja.
    Grande abraço
    avatar
    rmjsantos
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 81
    Registrado : 31/10/2014

    [Resolvido]Erro Type mismatch Empty Re: [Resolvido]Erro Type mismatch

    Mensagem  rmjsantos em 25/1/2020, 12:10

    Dou como resolvido a minha questão.
    Obrigado.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1587
    Registrado : 22/11/2016

    [Resolvido]Erro Type mismatch Empty Re: [Resolvido]Erro Type mismatch

    Mensagem  DamascenoJr. em 25/1/2020, 19:32

    O fórum agradece o retorno. Sucesso.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    Conteúdo patrocinado

    [Resolvido]Erro Type mismatch Empty Re: [Resolvido]Erro Type mismatch

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/4/2020, 12:50