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

    Erro em Tempo de Execução 3155 - ODBC inserir em uma tabela vinculada

    Compartilhe

    gordo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 10/10/2011

    Erro em Tempo de Execução 3155 - ODBC inserir em uma tabela vinculada

    Mensagem  gordo em Sab 05 Ago 2017, 17:52

    Estou tentando inserir registros numéricos em uma tabela vinculada do MySql por meio do VBA do ACCESS 2016.
    Entretanto, ao chegar no registro 170.000, dá o erro em tempo de execução 3155.

    Existe algum fix para este problema? Alguma alteração a fazer no registro? Caso alguém tenha a solução, desde já agradeço.

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: Erro em Tempo de Execução 3155 - ODBC inserir em uma tabela vinculada

    Mensagem  Phillip_Junior em Sab 05 Ago 2017, 18:43

    Caro amigo!

    O erro 3155 ODBC significa que Inserção em tabela falhou.

    Nos de mais detalhes para ajudar.

    Versao mysql,
    Versão Access
    Sistema se 32 ou 64

    Se possível poste um exemplo.

    Abraços


    .................................................................................
    Phillip_Junior
    Analista de Sistemas

    gordo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 10/10/2011

    Re: Erro em Tempo de Execução 3155 - ODBC inserir em uma tabela vinculada

    Mensagem  gordo em Sab 05 Ago 2017, 19:24

    Eu sei o que significa. Preciso da solução.

    A versão do MySQL é a 5.7.19, ACCESS 2016 e SO Windows 10 Pro de 64 bits

    Segue parte do código:

    Sub teste()

    Dim nr1, nr2, nr3, nr4, nr5, nr6 As Integer
    Dim comb, nreg As Long
    Dim rcstab1 As Recordset
    Dim i, cont, r As Integer

    Set rcstab1 = CurrentDb.OpenRecordset("select * from tab1") 'Abertura dos registros

    comb = (fatorialn(60)) / (fatorialn(54) * fatorialn(6))
    r = 1
    nreg = 0
    cont = 1
    nr2 = 2
    nr3 = 3
    nr4 = 4
    nr5 = 5
    nr6 = 6
    Do While cont <= 55
       For nr2 = nr2 To 56
           For nr3 = nr3 To 57
               For nr4 = nr4 To 58
                   For nr5 = nr5 To 59
                       For nr6 = nr6 To 60
                           With rcstab1
                               .AddNew
                                   !n1 = cont
                                   !n2 = nr2
                                   !n3 = nr3
                                   !n4 = nr4
                                   !n5 = nr5
                                   !n6 = nr6
                               .Update
                           End With

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: Erro em Tempo de Execução 3155 - ODBC inserir em uma tabela vinculada

    Mensagem  Phillip_Junior em Dom 06 Ago 2017, 11:36

    Olá

    O fato de dizer o que significa foi apenas uma forma de traduzir o código e não foi informado na msgs de abertura do tópico que vc sabe oq significa.

    Se sabe o que o erro 3155 significa, deve saber que existe diversos motivos para surgir esse erro, e não somente a escrita do seu código.

    Todos os campo, tipos de campos e tamanho dos valores deles podem estar ligados a esse erro.

    Um exemplo:

    Campos Memo no Access geralmente são traduzidos para nvarchar(MAX) no SQL Server por ferramentas como o SSMA.
    Infelizmente, quando você vincula tabelas com esses campos usando o driver do SQL Server Client , esses campos são interpretados incorretamente como string , mesmo que pareçam ok da exibição de design da tabela e se você tentar inserir algo no campo, seja maior que 255 caracteres ou NULL, que você receba a mensagem de erro.

    O problema na apresentação do erro em questão é complexo, então antes de dizer que sabe o que significa e quer a solução tente apresentar com mais clareza o seu problema para que todos do fórum entendam da melhor e mais clara maneira possível.

    Se possível nos informe todos os campos e tipos de campos e tamanho dos valores contidos neles, (dessa linha que trava ao inserir e apresenta o erro, no caso a 170.000)

    Se quiser fazer um teste, faça uma cópia do seu db, exclua a linha 170.000 e tente refazer o procedimento de inserção.
    O resultado será somente dois:

    Ou irá travar na linha 170.001 ou irá inserir até o próximo travamento.


    Aguardo


    .................................................................................
    Phillip_Junior
    Analista de Sistemas

      Data/hora atual: Sab 18 Nov 2017, 17:24