MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    Exportar dados de Acess em formato XML

    avatar
    C´onner
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 17
    Registrado : 06/11/2020

    Exportar dados de Acess em formato XML Empty Exportar dados de Acess em formato XML

    Mensagem  C´onner em 13/11/2020, 11:04

    Estou fazendo uma base de dados e pretendo exportar o ficheiro em formato XML, nao estou conseguindo definir os campos da tabela a fim de conseguir fazer a exportação.
    Exemplo do código que estou utilizando(não está completo) preciso de ajuda para conseguir acabar o código

    Código:
    Public Function Export()
    Dim bd As Database
    Dim tabela As Recordset
    Dim f As Integer
    Set bd = CurrentDb
    Set tabela = bd.OpenRecordset("Dados final") ' utilizado FreeFile para fornecer um número de arquivo livre, que não esteja sendo usado
    f = FreeFile ' abre o arquivo para gravacao
    Open "C:\Users\David Morgado\Desktop\Base de Dados\Base de dados\supplier.xml" For Output As #f ' o inicio de um arquivo XML possui o plural dos registros do arquivo
    Print #f, "<?xml version='1.0' encoding='iso-8859-1'?>"
    Print #f, ""
    Print #f, "";
    tabela.MoveFirst ' faz o loop percorrendo todos os registros do inicio ao fim da tabela
    Do While Not tabela.EOF ' escreve uma tab XML para indicar que estamos no comeco de um novo registro
    Print #f, ""
    Print #f, "" & tabela!campo_da_tabela & ""
    Print #f, "" & tabela!campo_2 & ""
    Print #f, "" & tabela!campo_3 & ""
    Print #f, "" & tabela!campo_4 & ""
    Print #f, "" & tabela!campo_n & "" ' fecha a tag para este registro
    Print #f, "" ' vai para o proximo registro da tabela
    tabela.MoveNext
    Loop ' encerra o arquivo xml
    Print #f, ""
    Print #f, "" ' fecha o arquivo Close #f
    End Function
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7783
    Registrado : 05/11/2009

    Exportar dados de Acess em formato XML Empty Re: Exportar dados de Acess em formato XML

    Mensagem  Alexandre Neves em 13/11/2020, 13:48

    Boa tarde e bem-vindo ao fórum
    Veja se funciona como pretende
    Código:
    Public Function Export()
    Dim bd As Database
    Dim tabela As Recordset, Campo As DAO.Field
    Dim f As Integer
    Set bd = CurrentDb
    Set tabela = bd.OpenRecordset("Dados final") ' utilizado FreeFile para fornecer um número de arquivo livre, que não esteja sendo usado
    f = FreeFile ' abre o arquivo para gravacao
    Open "C:\Users\David Morgado\Desktop\Base de Dados\Base de dados\supplier.xml" For Output As #f ' o inicio de um arquivo XML possui o plural dos registros do arquivo
    Print #f, "<?xml version='1.0' encoding='iso-8859-1'?>"
    Print #f, ""
    Print #f, "";
    tabela.MoveFirst ' faz o loop percorrendo todos os registros do inicio ao fim da tabela
        Print #f, ""
    Do While Not tabela.EOF ' escreve uma tab XML para indicar que estamos no comeco de um novo registro
        For Each Campo In tabela.Fields
            Print #f, "" & tabela(Campo) & ""
        Next
        Print #f, "" ' vai para o proximo registro da tabela
    tabela.MoveNext
    Loop ' encerra o arquivo xml
    Print #f, ""
    Print #f, "" ' fecha o arquivo Close #f
    End Function


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    C´onner gosta desta mensagem

    avatar
    C´onner
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 17
    Registrado : 06/11/2020

    Exportar dados de Acess em formato XML Empty Re: Exportar dados de Acess em formato XML

    Mensagem  C´onner em 13/11/2020, 15:56

    Aqui está o código preenchido, se tiver algum poderia dizer.
    As declarações do nome do campo da tabela estão corretctas.
    No campo ao importar vem com números com virgulas como posso remover os as casas decimais.
    Depois de importando coloco o ficheiro xml noutro programa  e antes disso metio no excell para ver se as colunas estavam direitas mas no excell nao coluna em colunas separadas mete tudo num só coluna e queria saber se é possivel com alteração do código.

    Código:
    Public Function Export()
    Dim bd As Database
    Dim tabela As Recordset, Campo As DAO.Field
    Dim f As Integer
    Set bd = CurrentDb
    Set tabela = bd.OpenRecordset("Dados final") ' utilizado FreeFile para fornecer um número de arquivo livre, que não esteja sendo usado
    f = FreeFile ' abre o arquivo para gravacao
    Open "C:\Users\David Morgado\Desktop\Base de Dados\Base de dados\supplier.xml" For Output As #f ' o inicio de um arquivo XML possui o plural dos registros do arquivo
    Print #f, "<?xml version='1.0' encoding='iso-8859-1'?>"

    Print #f, "";
    tabela.MoveFirst ' faz o loop percorrendo todos os registros do inicio ao fim da tabela

    Do While Not tabela.EOF ' escreve uma tab XML para indicar que estamos no comeco de um novo registro
        For Each Campo In tabela.Fields
    Print #f, ""; tabela!ID; tabela!S; tabela!Q; tabela!Média_de_V; tabela!V2; tabela!Long; tabela!Lat; tabela!Nome; tabela!Avg; tabela!Dairy; tabela!Ves; ""
    Next
    Print #f, "" ' vai para o proximo registro da tabela
    tabela.MoveNext

    Loop ' encerra o arquivo xml

    Print #f, ""

    MsgBox "Exportação concluida"
    End Function
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7783
    Registrado : 05/11/2009

    Exportar dados de Acess em formato XML Empty Re: Exportar dados de Acess em formato XML

    Mensagem  Alexandre Neves em 13/11/2020, 17:19

    Pretende que os números sejam inteiros?
    utilize a função CInt nos campos que pretender
    Print #f, ""; tabela!ID; CInt(tabela!S); CInt(tabela!Q); CInt(tabela!Média_de_V); CInt(tabela!V2); tabela!Long; tabela!Lat; tabela!Nome; CInt(tabela!Avg); tabela!Dairy; tabela!Ves; ""
    Sobre a situação de passar para o Excel, não entendi bem. Detalhe e pode anexar pequeno exemplo ilustrativo


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    C´onner gosta desta mensagem

    avatar
    C´onner
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 17
    Registrado : 06/11/2020

    Exportar dados de Acess em formato XML Empty Re: Exportar dados de Acess em formato XML

    Mensagem  C´onner em 13/11/2020, 17:28

    Ao exportar os dados para XML os dados aparecem assim:

    1001 2 0 15983,0909090909 500 -25623300 37813800 Miguel Rodrigues 1 1 1

    E os dados ao exportar para o xml têm que estar definidos com o nome da coluna, Assim:



    Os dados têm que estar como aparece no exemplo de baixo para que depois eu importe para Excell e fique os dados em várias colunas diferentes.
    Como está no exemplo em cima os dados no Excell aparecem todos num só coluna.

    Se puder ajudar agradecia imenso.

    DamascenoJr. e C´onner gostam desta mensagem

    avatar
    C´onner
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 17
    Registrado : 06/11/2020

    Exportar dados de Acess em formato XML Empty Re: Exportar dados de Acess em formato XML

    Mensagem  C´onner em 16/11/2020, 10:14

    o exemplo de baixo que estava a referir é assim:

    data ID="55" S="2" Q="0" V="37840" V2="500" Long="-25721108" Lat="37770558" Name="Veríssimo Agropecuária" Avg="1" Dairy="1" SMS="" Info1="" Info2="" Ves="1" City="" Street="" Province="" />

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7783
    Registrado : 05/11/2009

    Exportar dados de Acess em formato XML Empty Re: Exportar dados de Acess em formato XML

    Mensagem  Alexandre Neves em 17/11/2020, 21:43

    Boa noite,
    Não vejo relação entre o que que diz que aparece e o que diz que devia aparecer. Explique a relação entre os dois conjuntos


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    C´onner
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 17
    Registrado : 06/11/2020

    Exportar dados de Acess em formato XML Empty Re: Exportar dados de Acess em formato XML

    Mensagem  C´onner em 18/11/2020, 09:51

    Bom dia, já consegui fazer o código, peço desculpa pela forma como expliquei, mas o código era para ficar assim:

    Código:
    Public Function Export()
    Dim bd As Database
    Dim tabela As Recordset
    Dim f As Integer
    Set bd = CurrentDb
    Set tabela = bd.OpenRecordset("Dados final") ' utilizado FreeFile para fornecer um número de arquivo livre, que não esteja sendo usado
    f = FreeFile ' abre o arquivo para gravacao
    Open "C:\Users\David Morgado\Desktop\Base de Dados\Base de dados\supplier.xml" For Output As #f ' o inicio de um arquivo XML possui o plural dos registros do arquivo
    Print #f, "<?xml version= ""1.0"" encoding=""iso-8859-1""?>"

    Print #f, "";
    Print #f, " "
    tabela.MoveFirst ' faz o loop percorrendo todos os registros do inicio ao fim da tabela

    Do While Not tabela.EOF ' escreve uma tab XML para indicar que estamos no comeco de um novo registro
     

       Print #f, "  "
       


    tabela.MoveNext

    Loop ' encerra o arquivo xml

    Print #f, ""

    MsgBox "Exportação concluida"
    End Function

      Data/hora atual: 4/12/2020, 04:16