none
Erro em tempo de execução (Erro de auomação) RRS feed

  • Pergunta

  • Boa tarde pessoal.
    Fiz um script para gerar informações de ICMS ST direto do nosso banco de dados e transformá-los posteriormente num arquivo txt para importar no site do GNRE.
    No SQL sai tudo belezinha o select, mas no Excel não...
    O código é este abaixo:

    Sub RetrieveSQLServerData()
    ' Cria a conexão.
        Dim cnPubs As ADODB.Connection
        Set cnPubs = New ADODB.Connection    ' Variável para armazenar a String de Conexão.
        Dim strConn As String
       
       strConn = "Provider=SQLOLEDB.1;Password=xxxxx;Persist Security Info=True;User ID=sa;Initial Catalog=AX501_SRL_PROD2;Data Source=PREPRO;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=SRL-PC-TI;Use Encryption for Data=False;Tag with column collation when possible=False"
        
        'Abre a conexão.
        cnPubs.Open strConn
    
        ' Cria o objeto Recordset.
        Dim rsPubs As ADODB.Recordset
        Set rsPubs = New ADODB.Recordset
    
        With rsPubs
            ' Associa a conexão.
            .ActiveConnection = cnPubs
            ' Extrai os dados.
            
            OV = (Plan1.Cells(1, 2))
                    
                 .Open "SELECT  ''<?xml version='1.0' encoding='UTF-8' standalone='yes'?>''," & _
                 " ''<TLote_GNRE xmlns='http://www.gnre.pe.gov.br'>','<guias>','<TDadosGNRE>''," & _
                 "''<c01_UfFavorecida>''+C.INVSTATE+''</c01_UfFavorecida>''," & _
                 "''<c02_receita>100099</c02_receita>','<c03_idContribuinteEmitente>''," & _
                 "''<CNPJ>''+(V.CNPJCPFNUM)+''</CNPJ>''," & _
                 "''</c03_idContribuinteEmitente>','<c28_tipoDocOrigem>10</c28_tipoDocOrigem>''," & _
                 "''<c04_docOrigem>''+C.INVOICEID+''</c04_docOrigem>''," & _
                 "''<c06_valorPrincipal>''+CAST(CAST(SUM(M.TAXAMOUNT)AS MONEY)AS VARCHAR(10))+''</c06_valorPrincipal>''," & _
                 "'<c14_dataVencimento>'+CAST(CAST(C.INVOICEDATE AS DATE)AS VARCHAR(10))+'</c14_dataVencimento>'," & _
                 "''<c16_razaoSocialEmitente>''+C.INVOICINGNAME+''</c16_razaoSocialEmitente>''," & _
                 "''<c18_enderecoEmitente>''+V.ADDRESS+''</c18_enderecoEmitente>''," & _
                 "''<c19_municipioEmitente>''+RIGHT(A.IBGECODE,5)''</c19_municipioEmitente>''," & _
                 "'<c20_ufEnderecoEmitente>'+V.STATE+'</c20_ufEnderecoEmitente>'," & _
                 "'<c21_cepEmitente>'+(V.ZIPCODE)+'</c21_cepEmitente>'," & _
                 "'<c22_telefoneEmitente>'+REPLACE((V.PHONE),' ','')+'</c22_telefoneEmitente>'," & _
                 "'<c33_dataPagamento>'+CAST(CAST(C.INVOICEDATE AS DATE)AS VARCHAR(10))+'</c33_dataPagamento>'," & _
                 "'<c39_camposExtras>','<campoExtra>','<codigo>56</codigo>','<tipo>T</tipo>'," & _
                 "'<valor>NOTA FISCAL EMITIDA EM TRANSFERENCIA POR SERILON BRASIL LTDA </valor>'," & _
                 "'</campoExtra>','</c39_camposExtras>','</TDadosGNRE>','</guias>','</TLote_GNRE>'" & _
                 "FROM MARKUPTRANS M, CUSTINVOICEJOUR C, PURCHLINE P, INTERCOMPANYPURCHSALESREFE1607 I, SALESTABLE S, PURCHTABLE PT, VENDTABLE V, ADDRESSCITYTABLE_BR A" & _
                 "WHERE M.TRANSRECID = P.RECID AND S.SALESID = I.SALESID AND A.CITY = C.INVOICECITY AND PT.ORDERACCOUNT = V.ACCOUNTNUM AND PT.PURCHID = I.PURCHID AND" & _
                 "PT.PURCHID = P.PURCHID AND PT.DIMENSION3_ = P.DIMENSION3_ AND C.SALESID = I.SALESID AND M.MARKUPCODE = ICMS ST AND M.TAXAMOUNT > 0 AND I.SALESID = OV_00500049 " & _
                 "GROUP BY C.INVSTATE, V.CNPJCPFNUM, C.INVOICEID,C.INVOICEDATE, C.INVOICINGNAME, A.IBGECODE, V.STATE, V.ZIPCODE, V.PHONE, V.ADDRESS"
    
                         Plan1.Range("A2:K100").ClearContents
            
            ' Coloca os dados na planilha.
            Plan1.Range("A2").CopyFromRecordset rsPubs
    
            ' Fecha a transação
            .Close
        End With
    
        ' Fecha conexão
        cnPubs.Close
        Set rsPubs = Nothing
        Set cnPubs = Nothing
    
    End Sub

    O que pode estar errado ?

    Obrigado,

    Abraços,

    Mateus

    quinta-feira, 30 de janeiro de 2014 14:25

Respostas

Todas as Respostas