Usuário com melhor resposta
Erro em tempo de execução (Erro de auomação)

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
Respostas
-
Felipe, o problema era na hora de colocar as aspas duplas...consegui colocando & Chr(34) &
Abs,
Mateus
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 1 de fevereiro de 2014 00:54
Todas as Respostas
-
-
Felipe, o problema era na hora de colocar as aspas duplas...consegui colocando & Chr(34) &
Abs,
Mateus
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 1 de fevereiro de 2014 00:54
-