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 em tempo de execução 13

    Compartilhe

    Buscador
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 254
    Registrado : 26/02/2011

    [Resolvido]Erro em tempo de execução 13

    Mensagem  Buscador em 24/11/2018, 12:40

    Olá, pessoal
    Bom dia

    Baseado em um exemplo que peguei aqui, de prestações compostas, alterei para um projeto de cartões de crédito.
    Em formato .mdb ele funciona bem mas quando faço a conversão para o accdb, ao preencher o formulário frmPrestcoes e clicar
    nos botões Gerar Parcela ou Gerar Única da a mensagem de "Erro em tempo de execução 13 tipos incompatíveis. Na depuração fica marcado
    a linha:
     Set rs = db.OpenRecordset("tbl_Parcelas") 'Abre tbl_Parcelas
    O código completo é:

    Private Sub gerar_Click()

       If Me.curValor <= 0 Then 'Se valor do contrato for <= 0
           Exit Sub
       End If
       
       'Salva o contrato
       DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
       
       Dim db As Database, rs As Recordset
       Dim ValParc As Currency, i As Byte
       Dim m As Currency
       
       Set db = CurrentDb()

       Set rs = db.OpenRecordset("tbl_Parcelas") 'Abre tbl_Parcelas <---- Aqui fica marcado de amarelo

       ValParc = Me.Texto20 * [coeficiente] * Me.bytMeses / Me.bytMeses  'Valor de cada Parcela
           
       For i = 1 To Me.bytMeses  'Insere as Parcela na Tabela
           rs.AddNew
           rs("lngNumContrato") = Me.lngNumContrato
           rs("bytParcela") = i
           rs("curValor") = ValParc
         
           
           'Calcula as datas de Vencto através da função DateAdd()
           rs("dtVencimento") = DateAdd("m", i - 1, Me.dtContrato) + 30
          rs.Update
                 
       Next
                   
       rs.Close
       db.Close

     
       Me.frmcontratos.Requery  'Atualiza o SubForm Parcelas
       
       
        Set db = CurrentDb()
       Set rs = db.OpenRecordset("MercadoriaEscolhida") 'Abre tbl_Parcelas
       
           rs.AddNew
           rs("lngNumContrato") = Me.lngNumContrato
         
           rs("NomeMercadoria") = Texto36
           rs("Quantidade") = Texto38
           rs("ValorComTarifa") = Texto20
           rs("ValorSemTarifa") = curValor
           
          rs.Update
                 
     
                   
       rs.Close
       db.Close
       
       Me.FrmMercEscolhida.Requery

    End Sub

    Poderiam me dar uma luz do que posso fazer? Já tentei fazer alterações com exemplos da internet mas não consegui.
    Obrigado
    avatar
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Erro em tempo de execução 13

    Mensagem  vieirasoft em 24/11/2018, 12:54

    O erro 13 é associado ao Type mismatch, isto é ao tipo de dados incompatíveis. Como ainda não tenho a minha máquina pronta com o win 10, para poder testara, teste eliminando o "Currency" e substitua por integer, por favor.
    avatar
    caiosouza
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 366
    Registrado : 05/12/2016

    Re: [Resolvido]Erro em tempo de execução 13

    Mensagem  caiosouza em 24/11/2018, 18:51

    Boa tarde,

    Tenta alterar conforme abaixo:

    De:
    Código:
    Dim db As Database, rs As Recordset

    Para:
    Código:
    Dim db As DAO.Database, rs As DAO.Recordset


    .................................................................................
    A persistência leva ao sucesso!

    Buscador
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 254
    Registrado : 26/02/2011

    Re: [Resolvido]Erro em tempo de execução 13

    Mensagem  Buscador em 24/11/2018, 19:04

    Olá, boa tarde.

    Testei as duas indicações e a que deu certo foi a de "caiosouza".
    Obrigado aos dois pela ajuda.

    Para entender. Caio, pode me explicar o porque?
    Grato

      Data/hora atual: 17/1/2019, 23:57