Ok segue:
Esta função exporta as tabelas em formato XML. ele pega o endereço da rede de um campo (outbox)na tabela "TBL_TRANSFER", acrescenta o dia e hora atual e grava na rede.
Function exportar()
On Error GoTo exportar_Err
Dim file1, file2, dias As String
Dim BD As Database, rst As Recordset
Set DB = CurrentDb
Set rst = DB.OpenRecordset("TBL_TRANSFER")
ENDE = rst!OUTBOX
dias = Format(Now(), "yyyymmddhhmmss")
file1 = "Click_kit_components_" & dias
file2 = "Click_distributions_" & dias
Application.ExportXML acExportTable, "ClickKitComponents", ENDE & file1 & ".xml"
Application.ExportXML acExportTable, "ClickMoveToLineInstructions", ENDE & file2 & ".xml"
exportar_Exit:
Exit Function
exportar_Err:
MsgBox Error$
Resume exportar_Exit
End Function
O arquivo gerado cria uma tag automaticamente. no começo aparece a seguinte tag "'<'dataroot xmlns:od="urn:schemas-microsoft-com:officedata" generated="2011-08-29T18:46:56'>'"" e no final a tag fecha "'<'/dataroot'>'", mas o programa que irá receber este arquivo XML não aceita se essas tags estiverem lá, no lugar teria que ser "'<'kit'>'" e "'<'/kit'>'"
Se eu conseguisse mandar o arquivo XML já com as tags trocadas, já teria me salvado, mesmo assim vem a "gambiarra".
Depois que o Access gravou o arquivo e tenho condições de Ler esse arquivo XML e gravar numa variavel. segue o codigo:
Option Explicit
Public Function LeArquivoTexto()
Dim Arquivo As Integer
Dim CaminhoArquivo As String
Dim textoArquivo As String
Dim TextoProximaLinha As String
Dim ContadorLinha As Long
Dim STRSQL As String
'Configura a leitura do arquivo
Arquivo = FreeFile
CaminhoArquivo = "K:\MASTER LIST\LINE FEEDING\FILES CLICKLIGHT\ClickKitComponents.xml"
'Abre o arquivo para leitura
Open CaminhoArquivo For Input As Arquivo
ContadorLinha = 1
'Lê o conteúdo do arquivo linha a linha
Do While Not EOF(Arquivo)
Line Input #Arquivo, TextoProximaLinha
If Mid(TextoProximaLinha, 1, 9) = " TextoProximaLinha = Replace(TextoProximaLinha, TextoProximaLinha, "'<'kit'>'")
ElseIf Mid(TextoProximaLinha, 1, 9) = " TextoProximaLinha = Replace(TextoProximaLinha, TextoProximaLinha, "'<'/kit'>'")
End If
TextoProximaLinha = TextoProximaLinha & vbCrLf
textoArquivo = textoArquivo & TextoProximaLinha
Loop
STRSQL = "UPDATE exporta1 SET exporta1.teste = " & textoArquivo & ";"
DoCmd.SetWarnings False
DoCmd.RunSQL STRSQL
'Fecha o arquivo
Close Arquivo
End Function
Depois eu poderia exportar a tabela "Exporta1" como texto, mudando a extenção para XML, mas quando tento rodar a consulta, dá um erro "Erro de sintaxe (operador faltando) na expressão de consulta '
Se puderem me ajudar...
Grato