Condividi tramite

A2003-Creare un file di testo a lunghezza fissa

Anonimo
2013-10-28T15:31:57+00:00

Salve a tutti,

da access come si fa a creare un file di testo a lunghezza fissa (ragione sociale lunga 40 e mail lunga 70) ?

grazie mille

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2013-10-29T15:41:01+00:00

Funziona , rimane il discorso degli apici , ma penso che non si possa cambiare .

Vedrò da sap di leggere il contenuto del txt saltando gli apici

Grazie mille

NON usare Write, ma Output:

Public Sub m()

    Dim s1 As String * 10

    Dim s2 As String * 10

    Dim s3 As String

    Dim FileNum As Integer

    FileNum = FreeFile

    s1 = "a"

    s2 = "b"

    s3 = s1 & s2

    Open "C:\Prova\tuoFile.txt" For Output As #FileNum

    Print #FileNum, s3

    Close #FileNum

 End Sub

La risposta è stata utile?

0 commenti Nessun commento

10 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-10-28T18:11:32+00:00

    Ciao, innanzitutto grazie. Ho provato con questo banale codice :

                            Open nome_file_txt For Append Shared As #1

                          Write #1, ragione_txt; mail_cli

                           Close #1

    e mi trovo i record in append come mi aspetto di trovare ma non riesco a trovare una sintassi per i campi a lunghezza fissa , con quel codice , mi mette :

    "ragione sociale1" , "email1"

    "ragsoc2","email2"

    e se specifico la lunghezza ad esempio con

    ragione_txt,40 ; mail,40

    il record mi viene scritto così :

    "ragione sociale1",40,"mail1",70

    anche gli apici, secondo te, è possibile riuscire a non farli mettere ?

    Questo txt dovrà poi essere letto da un programma sap e non credo che gli apici siano graditi.

    Grazie mille

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-10-28T17:13:58+00:00

    Dai un'occhiata al seguente codice:

    Option Compare Database

    Option Explicit

    Function CreaOut()

    Dim myDb As Database

    Dim myRst As Recordset

    Set myDb = CurrentDb

    Set myRst = myDb.OpenRecordset("tbl_00_Comuni")

    myRst.MoveFirst

    If Not myRst.EOF Then

       Kill "d:\FILEPROV.txt"

       Open "d:\FILEPROV.txt" For Output Shared As #1

    End If

    Do While Not myRst.EOF

        Write #1, Left(myRst("CXETLO"), 40) & Left(myRst("CXETLO"), 70)

        myRst.MoveNext

    Loop

    Close #1

    Set myRst = Nothing

    Set myDb = Nothing

    End Function

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-10-28T15:55:38+00:00

    Ciao,

    scusa ho dimenticato di dire che dovrei farlo da vba , è una cosa che deve essere "trasparente" per l'utente

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2013-10-28T15:46:54+00:00

    Ciao,

    potresti fare una query con

    RagSoc:Left(campoOrigine;40) e Mail:left(campoOrigine1;70)

    e quindi Dati esterni- Esporta - File di testo

    Fammi sapere

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento