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


4 participantes

    [Resolvido]Editar um arquivo XML

    avatar
    nunziato
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 10/08/2011

    [Resolvido]Editar um arquivo XML Empty Editar um arquivo XML

    Mensagem  nunziato 31/8/2011, 13:16

    Srs, um help urgente...

    Tenho um banco que exporta um arquivo XML para uma pasta que defini como padrão.
    O problema é que o Access cria uma tag , mas o programa que vai receber o XML não aceita essa tag e dá erro.
    Puxei alguns códigos na internet e encontrei um que consigo ler o arquivo XML e gravar numa variavel, e com um reply até alterar as tags, mas não tenho ideia de como salvar essas alterações no arquivo XML.
    Alguem saberia me dizer como faço para exportar um arquivo no formato XML já com essas tags alteradas, ou conseguir mudar o arquivo depois de exportado?

    Abraço,
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Editar um arquivo XML Empty Re: [Resolvido]Editar um arquivo XML

    Mensagem  criquio 31/8/2011, 13:25

    Se puder postar todos os códigos e passos que está utilizando, ficaria mais fácil para visualizarmos o que precisa. Ou disponibilizar uma cópia do arquivo como exemplo.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    nunziato
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 10/08/2011

    [Resolvido]Editar um arquivo XML Empty Re: [Resolvido]Editar um arquivo XML

    Mensagem  nunziato 1/9/2011, 17:35

    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


    avatar
    nunziato
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 10/08/2011

    [Resolvido]Editar um arquivo XML Empty Editar um arquivo XML

    Mensagem  nunziato 6/9/2011, 19:54

    Olha só eu consegui gravar o arquivo numa tabela e exportá-la como txt. o layout dentro do arquivo está ok, mas a extenção teria que ser XML
    a diferença é que eu gravei a linha numa variavel temporaria gravei numa tabela linha a linha. o proximo passo seria enviar o arquivo sem nenhuma formatação, porém com a extenção XML.
    O unico formato que seria exportado sem mudança de layout no arquivo é texto, porem o Access só grava o arquivo com a extenção TXT.

    Será que alguem sabe mudar a extenção do arquivo, como se fosse dar um rename no arquivo já salvo?



    veja o código corrigido.

    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 teste de mudança.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) = "'<'dataroot" Then
    TextoProximaLinha = Replace(TextoProximaLinha, TextoProximaLinha, "'<'distributions'>'")
    ElseIf Mid(TextoProximaLinha, 1, 9) = "'<'/dataroo" Then
    TextoProximaLinha = Replace(TextoProximaLinha, TextoProximaLinha, "'<'/distributions'>'")
    End If
    TextoProximaLinha = TextoProximaLinha & vbCrLf
    textoArquivo = textoArquivo & TextoProximaLinha

    TempVars.Add "tstvar", TextoProximaLinha
    STRSQL = "INSERT INTO exporta1 ( teste )SELECT [TempVars]![tstvar] AS linhaxml;"

    DoCmd.SetWarnings False
    DoCmd.RunSQL STRSQL


    Loop

    Close Arquivo

    End Function
    chsestrem
    chsestrem
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 463
    Registrado : 01/03/2010

    [Resolvido]Editar um arquivo XML Empty Re: [Resolvido]Editar um arquivo XML

    Mensagem  chsestrem 6/9/2011, 20:29

    Qual a versão do Access você usa?

    Se usar o 2007

    você pode a partir desta tabela que você criou, exportar manualmente em XML e após

    exportar, você vai ter a opção de salvar a especificação de exportação.

    então é só coloacar no evento de um botão

    DoCmd.RunSavedImportExport ("Nome_da_Especif_q_vc_Salvou")



    .................................................................................
    Charles Sestrem
    http://www.vbabit.com.br
    chsestrem
    chsestrem
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 463
    Registrado : 01/03/2010

    [Resolvido]Editar um arquivo XML Empty Re: [Resolvido]Editar um arquivo XML

    Mensagem  chsestrem 6/9/2011, 22:43

    Agora eu entendi,

    Amigão, se o arquivo txt que você cria for renomeado

    para xml e funciona corretamente, dá pra fazer um arquivo .BAT

    e chamar no shell depois do arquivo criado.


    Exporte a SuaTabela para C:\SeuArquivo.txt

    Abra o Bloco de Notas, escreva a linhas abaixo:

    @echo off
    ren C:\SeuArquivo.txt SeuArquivo.xml
    exit


    Salve como MinhaBat.bat em C:\

    Após exportar o Tabela para C:\SeuArquivo.txt

    coloque o código:

    Call Shell("C:\MinhaBat.bat")

    Um pouquinho de MsDOS as vezes resolve....rsss




    .................................................................................
    Charles Sestrem
    http://www.vbabit.com.br
    avatar
    nunziato
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 10/08/2011

    [Resolvido]Editar um arquivo XML Empty [resolvido] Editar um arquivo XML no Access

    Mensagem  nunziato 8/9/2011, 17:22

    Caramba!!!

    Cara fiquei umas boas semanas quebrando a cabeça com isso.

    Realmente funcionou, não sei se este é o melhor caminho (visto que se o arquivo XML for grande pode demorar um pouco para reprocessar), mas funcionou perfeitamente.

    Valeu!
    chsestrem
    chsestrem
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 463
    Registrado : 01/03/2010

    [Resolvido]Editar um arquivo XML Empty Re: [Resolvido]Editar um arquivo XML

    Mensagem  chsestrem 9/9/2011, 21:21

    Valeu Amigão,

    Bem vindo a Selva!

    Sds,


    .................................................................................
    Charles Sestrem
    http://www.vbabit.com.br
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Editar um arquivo XML Empty Re: [Resolvido]Editar um arquivo XML

    Mensagem  vieirasoft 15/9/2011, 11:09

    Faltou o Resolvido. Desta vez eu coloco

    Conteúdo patrocinado


    [Resolvido]Editar um arquivo XML Empty Re: [Resolvido]Editar um arquivo XML

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 09:14