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


3 participantes

    [Resolvido]Especificação para exportar por largura fixa

    avatar
    Leonardonc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 04/07/2012

    [Resolvido]Especificação para exportar por largura fixa Empty Especificação para exportar por largura fixa

    Mensagem  Leonardonc 4/7/2012, 13:28

    Estou tentando exportar para arquivos.txt pela largura fixa. Único problema no momento é a ESPECIFICAÇÃO. Já consultei em vários lugares, inclusive alguns textos em inglês, mas não consegui. O que dá pra fazer é usar a especificação criada no Access, mas como sabemos, é bem limitada, por isso quero criar um próprio arquivo de especificação (dizem que é Schema.ini), mas não consigo de jeito nenhum. Vou postar aqui o que já tentei e mostrar o erro. Sim, o arquivo Schema.ini está na mesma pasta que o banco de dados e o arquivo para o qual será exportado.

    DoCmd.TransferText acExportFixed, schema, "tabela", "C:\Users\Leonardo\Documents\tab.txt"
    "Erro em tempo de execução '2511': O método ou a ação requer o argumento Nome da Especificação."

    DoCmd.TransferText acExportFixed, schema.ini, "tabela", "C:\Users\Leonardo\Documents\tab.txt"
    "Erro em tempo de execução '424': O objeto é obrigatório."

    DoCmd.TransferText acExportFixed, "schema", "tabela", "C:\Users\Leonardo\Documents\tab.txt"
    DoCmd.TransferText acExportFixed, "schema.ini", "tabela", "C:\Users\Leonardo\Documents\tab.txt"

    Tanto o "schema" quanto o "schema.ini" dão erro. Erro em tempo de execução '3625': A especificação do arquivo de texto 'schema' (ou 'schema.ini') não existe. Não é possível importar, exportar ou vincular usando esta especificação."

    DoCmd.TransferText acExportFixed, "C:\Users\Leonardo\Documents\tab.txt", "tabela", "C:\Users\Leonardo\Documents\tab.txt"
    Não reconhece os contrabarras dizendo "Erro em tempo de execução '3625': A especificação do arquivo de texto 'C:UsersLeonardoDocumentstab.txt' não existe. Não é possível importar, exportar ou vincular usando esta especificação."

    DoCmd.TransferText acExportFixed, C:\Users\Leonardo\Documents\tab.txt, "tabela", "C:\Users\Leonardo\Documents\tab.txt"
    Nem consigo executar, por causa dos contrabarras.

    Estou fazendo alguma coisa errada? Ou não existe alguma solução?

    No aguardo.
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Especificação para exportar por largura fixa Empty Re: [Resolvido]Especificação para exportar por largura fixa

    Mensagem  Leandro 4/7/2012, 15:24

    Veja isso, talvez possa te servir.

    http://www.blueclaw-db.com/download/transfertext_outputto_examples.htm

    DoCmd.OutputTo acOutputTable, "M_Inventory", acFormatTXT, "Inventory.txt"


    "M_Inventory" > Nome da Tabela


    acFormatTXT > Formato txt


    Inventory.txt > Nome que você quer salvar, os aquivos são salvos diretamente em Meus Documentos, mas você pode definir qualquer local do HD.

    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Especificação para exportar por largura fixa Empty Re: [Resolvido]Especificação para exportar por largura fixa

    Mensagem  Leandro 4/7/2012, 15:29

    Ah!! Quase esqueci...


    Seja bem vindo ao fórum!


    Não esqueça de ler as regras

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Especificação para exportar por largura fixa Empty Re: [Resolvido]Especificação para exportar por largura fixa

    Mensagem  JPaulo 4/7/2012, 16:01

    Só por curiosidade, teste assim;

    Quero ver se dá erro.... Laughing


    DoCmd.TransferText acExportFixed, ";", "Tabela", "C:\tab.txt"




    Se preferir utilizar este meu código, esteja à vontade;

    Private Sub SeuBotão_Click()
    'By JPaulo ®️ Maximo Access
    Dim strData As String, strCaminho As String, strFicheiro As String
    'Formata a data do dia, para adicionar ao ficheiro
    strData = Format(Date, "ddmmyyyy")
    'Caminho e nome para o Ficheiro
    strCaminho = "C:\teste"
    'Ficheiro final
    strFicheiro = strCaminho & "_" & strData & ".txt"
    DoCmd.OutputTo acOutputTable, "SuaTabela", acFormatTXT, strFicheiro
    End Sub





    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Especificação para exportar por largura fixa Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Especificação para exportar por largura fixa Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Especificação para exportar por largura fixa Folder_announce_new Instruções SQL como utilizar...
    avatar
    Leonardonc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 04/07/2012

    [Resolvido]Especificação para exportar por largura fixa Empty Re: [Resolvido]Especificação para exportar por largura fixa

    Mensagem  Leonardonc 4/7/2012, 16:38

    Leandro, obrigado pela msg de boas-vindas. Vou olhar com mais calma no link que você me passou, mas aquele comando não deu certo. Vou sair agora e à noite especifico os erros.

    JPaulo, não acredito que estou lendo sua msg. É só isso mesmo? Simplesmente isso? Olhei em vários fóruns do país todo e no mundo todo (rsrs), tentei quebrar cabeça com isso, e você chega dizendo que é só colocar ";"?

    Aff, como uma simples coisa pode resolver. Deu certo!! Very Happy Valeu!

    Enquanto isso, descobri um outro jeito também. À noite posto para vocês. Valeu!!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Especificação para exportar por largura fixa Empty Re: [Resolvido]Especificação para exportar por largura fixa

    Mensagem  JPaulo 4/7/2012, 16:53

    Valew.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Especificação para exportar por largura fixa Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Especificação para exportar por largura fixa Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Especificação para exportar por largura fixa Folder_announce_new Instruções SQL como utilizar...
    avatar
    Leonardonc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 04/07/2012

    [Resolvido]Especificação para exportar por largura fixa Empty Re: [Resolvido]Especificação para exportar por largura fixa

    Mensagem  Leonardonc 5/7/2012, 04:05

    Então, galera, a solução que descobri noutro fórum e que desejo compartilhá-la é essa:

    ________Dim N As Integer
    ________Dim rs00, rs01, rs99 As Recordset
    ________Dim Caminho As String
    ________
    ________N = FreeFile
    ________Caminho = "C:\Users\Leonardo\Documents\arquivo.txt"
    ________Set rs00 = CurrentDb.OpenRecordset("SELECT * FROM tab_header;")
    ________Set rs01 = CurrentDb.OpenRecordset("SELECT * FROM tab_corpo;")
    ________Set rs99 = CurrentDb.OpenRecordset("SELECT * FROM tab_trailler;")
    ________Open Caminho For Output As #N
    ________
    ________Print #N, rs00!(nome_das_colunas)
    ' para header
    ________
    ________Do While Not rs.EOF
    ________Print #N, rs01!nome & Space(10-Len(rs01!nome)) & Format(rs01!identificacao,"0000") & Replace(Format(rs01!indice,"00000000.0000"), "," , "") & Format(rs01!data,"yyyymmdd")

    ________________' rs01!nome & Space(10-Len(rs01!nome)) ==> nome com restante em espaço (10 no total)
    ________________' Format(rs01!identificacao,"0000") ==> identificação em formato de 04 dígitos
    ________________' Replace(Format(rs01!indice,"00000000.0000"), "," , "") ==> valor de índice com 08 dígitos + 04 casas decimais, sem colocar vírgula
    ________________' Format(rs01!data,"yyyymmdd") ==> data em AAAAMMDD

    ________rs01.MoveNext
    ________Loop
    ________
    ________Print #N, rs99!(nome_das_colunas)
    ' para trailler
    ________
    ________Set rs = Nothing
    ________Close #N


    Leandro, aquele link que você me passou tem um arquivo para mostrar o exemplo. Muito bom, fácil de entender. Mas, é possível eu especificar o formato por largura fixa e outros detalhes como o método acima?

    JPaulo, esse ";" conseguiu reconhecer "Schema.ini", mas o arquivo saiu errado, desconfigurado. Provavelmente eu não fiz direito, rsrs. Montei uma especificação baseada num exemplo de um site:
    ________[arquivo.txt]
    ________ColNameHeader=false
    ________Format=FixedLength
    ________MaxScanRows=0
    ________CharacterSet=OEM
    ________Col1="nome" Char Width 10
    ________Col2="identificacao" Integer Width 4
    ________Col3="indice" Double Width 12
    ________Col4="data" Date Width 8

    Onde errei?

    Sei que já achamos a solução usando o Print no arquivo, mas também seria bom aprender outros caminhos como "DoCmd.OutputTo acOutputTable" e "DoCmd.TransferText acExportFixed".

    No aguardo.

    Conteúdo patrocinado


    [Resolvido]Especificação para exportar por largura fixa Empty Re: [Resolvido]Especificação para exportar por largura fixa

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 23:58