locked
Transação Access RRS feed

  • Pergunta

  • Ao rodar a função abaixo, aparece a mensagem: "Nehum valor foi fornecido para um ous mais parâmetro necessários."
    O que pode estar ocorrendo?

    Conforme a janela imediata, a instrução SQL está correta, copiei e testei utilizando a consulta do Access, e funcionou perfeitamente.

    Public Function pTransacao(strT As String) As Boolean
    On Error GoTo Err_Handler

    Dim conn As New ADODB.Connection
    Dim strSQL() As String
    Dim i As Integer

        strSQL = Split(strT, ";")
        Set conn = CurrentProject.Connection
       
        With conn
            .BeginTrans
            For i = 0 To UBound(strSQL)
                .Execute strSQL(i)
            Next i
            .CommitTrans
        End With
        pTransacao = True
       
       
    Limpar:
        On Error Resume Next
        Exit Function
       
    Err_Handler:
        conn.RollbackTrans
        MsgBox Err.Description, vbCritical, "Erro: " & Err.Number
        pTransacao = False
        Resume Limpar
       
    End Function


    Sergio Ivanenko
    domingo, 7 de março de 2010 18:26

Respostas

  • Achei o erro.

    Na instrução sql, para os valores de campo "True/False", quando valor era "falso", estava sendo passado a string "Falso" e não o valor 0 (zero).

    De qualquer jeito, obrigado Claudio.
    Sergio Ivanenko
    • Marcado como Resposta Ivanenko quarta-feira, 10 de março de 2010 13:15
    quarta-feira, 10 de março de 2010 13:15

Todas as Respostas

  • Em qual linha deu erro? Qual o valot de strT no momento do erro?
     
    Luiz Cláudio Cosenza Vieira da Rocha - http://msmvps.com/blogs/officedev - IT Lab www.itlab.com.br
    quarta-feira, 10 de março de 2010 02:47
    Moderador
  • Claudio

    O erro ao executar a primeira instrução da matrix,

    Janela imediata
    ?strSQL(i)
    INSERT INTO T_NS (NumeroNS, OrgaoID_Emitente, DTEmissao, CodSituacao, num_ID_ConjuntoANEEL, OrgaoID_Executor, CodLogradouro, CodCidade, CodAlimentador, Nr, Bairro, Informacoes, Religador, EncabTelemar, EncabInfovias, EncabTV, TanTelemar, TanInfovias,TanTV, CodTRede) VALUES (990099, 3, "10/03/2010", 3,1, 1, 142470, 88000, 110, 1515, "barroca", "testando transação", 111111, -1, Falso, Falso, Falso, -1, Falso, 2)
    ?strT
    INSERT INTO T_NS (NumeroNS, OrgaoID_Emitente, DTEmissao, CodSituacao, num_ID_ConjuntoANEEL, OrgaoID_Executor, CodLogradouro, CodCidade, CodAlimentador, Nr, Bairro, Informacoes, Religador, EncabTelemar, EncabInfovias, EncabTV, TanTelemar, TanInfovias,TanTV, CodTRede) VALUES (990099, 3, "10/03/2010", 3,1, 1, 142470, 88000, 110, 1515, "barroca", "testando transação", 111111, -1, Falso, Falso, Falso, -1, Falso, 2);INSERT INTO T_Protocolo (NumeroNS, Responsavel, Modificacao) VALUES (990099,"c035562","Cadastro")
    Sergio Ivanenko
    quarta-feira, 10 de março de 2010 12:59
  • Achei o erro.

    Na instrução sql, para os valores de campo "True/False", quando valor era "falso", estava sendo passado a string "Falso" e não o valor 0 (zero).

    De qualquer jeito, obrigado Claudio.
    Sergio Ivanenko
    • Marcado como Resposta Ivanenko quarta-feira, 10 de março de 2010 13:15
    quarta-feira, 10 de março de 2010 13:15