Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    25

    [ACCESS] Creazione file .txt attraverso macro access

    Ciao a tutti,
    ecco il mio problema:
    devo creare per ogni record di un db access un file .txt contenente una stringa di testo presente in campo dello stesso db. Il nome di ogni file corrisponde all'ID del record.

    Quello che facevo era di esportare il db in excel e poi da lì applicavo questa macro:

    Sheets("Foglio1").Select
    For i = 1 To N
    Cells(i, 1).Select
    FullName = ThisWorkbook.Path & Application.PathSeparator & Cells(i, 1).Value & ".txt"
    Open FullName For Append As #1
    Write #1, Cells(i, 2)
    Close #1
    Next i
    End Sub


    Quindi per sintetizzare ho un database con due campi A e B, mi serve una macro che crei per ogni record un file .txt contenente B. Il nome del file è A
    Il problema è che excel tronca le stringhe molto lunghe e quindi in questo passaggio perdo delle informazioni.

    Ho pensato che una soluzione potrebbe essere quella di creare i .txt direttamente da Access, ma non ho proprio idea di come si faccia.
    Qualcuno può aiutarmi?
    Grazie mille!

    Chiaramente qualsiasi soluzione alternativa è più che ben accetta.
    Ultima modifica di Vincos; 20-03-2015 a 08:56

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    25
    ho trovato questo:

    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("table1")
    Dim fs, TextFile
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set TextFile = fs.CreateTextFile("c:\testfile.txt", True)
    Do Until rst.EOF = True
    TextFile.WriteLine ("C:\softjuke\files\" & rst!num & "mp3")
    rst.MoveNext
    Loop
    TextFile.Close
    Però crea un unico file. Come potrei adattarlo alle mie esigenze?

  3. #3
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,704
    prova:
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("table1")
    Dim fs, TextFile
    Set fs = CreateObject("Scripting.FileSystemObject")
    Do Until rst.EOF = True
    Set TextFile = fs.CreateTextFile("C:\" & rst!A & ".txt", True)
    TextFile.WriteLine (rst!B)
    rst.MoveNext
    Loop
    TextFile.Close
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.