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

    avatar
    Buscador
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Buscador 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
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  vieirasoft 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.
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  caiosouza 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


    .................................................................................
    Caio Souza

    Engenheiro de Software
    avatar
    Buscador
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Buscador 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

    Conteúdo patrocinado


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

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 15:48