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


2 participantes

    Problemas com Append via vba access

    avatar
    JessicaB
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 3
    Registrado : 30/09/2011

    Problemas com Append via vba access Empty Problemas com Append via vba access

    Mensagem  JessicaB 4/10/2011, 20:44

    Galera,
    Estou com um problema e creio que acontece quando chamo minha função para fazer um append em uma tabela especifica.

    Cenario do problema:

    Abro uma pasta, nessa pasta faço a varredura abrindo arquivos ".xls" e em uma determinada sheet retiro as informações, jogando-as em uma tabela no access.

    Set aSheet = xlApp.Worksheets(2)
    For i = 12 To 23 'Linha Inicial e Final
    If aSheet.Range("C" & i).Value > 0 Then

    strSQL = "Insert Into TabelaDados (Campo1) "
    strSQL = strSQL & " Values ('" & aSheet.Range("C" & i).Value & "')"

    DoCmd.SetWarnings False
    DoCmd.RunSQL strSQL
    DoCmd.SetWarnings True

    Else

    Call Insert_Nulo(strTabelaNew)
    End If
    Next


    Até ai tudo ocorre normalmente, depois essas informações eu transponho para linhas em uma nova tabela. Dessa nova tabela eu dou o append em uma tabela que será a minha unificação dos meu dados.

    Segue minha função:

    Function Append_Unific(strTabelaNew)
    Dim Cn As ADODB.Connection '* Connection String
    Dim oCm As ADODB.Command '* Command Object
    Dim sID As String
    Dim iRecAffected As Integer

    On Error GoTo ADO_ERROR

    Set Cn = New ADODB.Connection

    Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Teste.mdb;Persist Security Info=False"

    Cn.ConnectionTimeout = 40

    Cn.Open

    Set oCm = New ADODB.Command

    oCm.ActiveConnection = Cn

    oCm.CommandText = "INSERT INTO Unificada ( Fonte, Razao_Social, Nome_Fantasia, Endereco_Completo, [CNPJ/CPF], [InscricaoEstadual/Rg], Cidade, Estado, Pais, cep, Contato_Dep_Compras, Email_Compras, Telefone_Compras, PINF ) SELECT NovaTemp.[1], NovaTemp.[2], NovaTemp.[3], NovaTemp.[4], NovaTemp.[5], NovaTemp.[6], NovaTemp.[7], NovaTemp.[8], NovaTemp.[9], NovaTemp.[10], NovaTemp.[11], NovaTemp.[12], NovaTemp.[13], NovaTemp.[14]FROM NovaTemp"
    oCm.Execute iRecAffected

    If iRecAffected = 0 Then
    MsgBox "No records inserted"
    End If

    If Cn.State <> adStateClosed Then
    Cn.Close

    End If

    If Not oCm Is Nothing Then Set oCm = Nothing

    If Not Cn Is Nothing Then Set Cn = Nothing

    ADO_ERROR:

    If Err <> 0 Then

    Debug.Assert Err = 0

    MsgBox Err.Description

    Err.Clear
    Resume Next
    End If
    End Function


    Eu creio que seja nessa hora que acontece algum erro, pois se eu debugar meu codigo linha por linha e em cada função não há duplicações, mas se eu debugo ele completo no resultado final tenhu linhas duplicadas.

    Eu teria que fazer alguma limpeza na minha função antes de sair dela e continuar a varredura?? Como posso resolver este caso?

    Agradeço desde já!
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Problemas com Append via vba access Empty Re: Problemas com Append via vba access

    Mensagem  vieirasoft 13/10/2011, 21:39

    Estou a puxar o tópico para cima. se já tiver resolvido, agradeço o seu retorno.

      Data/hora atual: 22/11/2024, 02:10