Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Esportare database in file .csv

    Ciao a tutti, volevo un'informazione relativa all'esportazione di un database access come file .csv

    Qualcuno potrebbe postarmi lo script, oppure dirmi dove reperire informazioni?

    Grazie, ciao

  2. #2
    Ho questo piccolo esempio:
    codice:
    <%
    Response.ContentType = "application/msexcel"
    
    'INTESTAZIONE
    strXls = chr(34) & "Nome" & chr(34) & ","
    strXls = strXls & chr(34) & "Acquisti" & chr(34) & "," & VbCrlf
    
    Set conn = Server.CreateObject("ADODB.Connection")
    sql = "SELECT * FROM Clienti ORDER BY id DESC"
    dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "
    dsnpath = dsnpath & "DBQ=" & Server.MapPath("DBUtenti.mdb")
    conn.open dsnpath
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    Set Rs=Conn.Execute(SQL)
    
    Do Until RS.EOF
        strXls = strXls & chr(34) & rs("Nome") & chr(34) & ","
        strXls = strXls & chr(34) & rs("Cognome") & chr(34) & "," & VbCrlf
        rs.MoveNext
    loop
    
    set rs = Nothing
    conn.Close
    Set conn = Nothing
    
    'INVIO AL BROWSER
    Response.write strXls
    %>

  3. #3
    Originariamente inviato da michele.santoro
    Ho questo piccolo esempio:
    codice:
    <%
    Response.ContentType = "application/msexcel"
    
    'INTESTAZIONE
    strXls = chr(34) & "Nome" & chr(34) & ","
    strXls = strXls & chr(34) & "Acquisti" & chr(34) & "," & VbCrlf
    
    Set conn = Server.CreateObject("ADODB.Connection")
    sql = "SELECT * FROM Clienti ORDER BY id DESC"
    dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "
    dsnpath = dsnpath & "DBQ=" & Server.MapPath("DBUtenti.mdb")
    conn.open dsnpath
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    Set Rs=Conn.Execute(SQL)
    
    Do Until RS.EOF
        strXls = strXls & chr(34) & rs("Nome") & chr(34) & ","
        strXls = strXls & chr(34) & rs("Cognome") & chr(34) & "," & VbCrlf
        rs.MoveNext
    loop
    
    set rs = Nothing
    conn.Close
    Set conn = Nothing
    
    'INVIO AL BROWSER
    Response.write strXls
    %>
    Grazie mille!Ora me lo studio per bene, ciao!!!!

  4. #4
    Ma questo me lo salva in un file .csv? Cioè, ci devo aggiungere l'FSO giusto? Mi salvo sul file i valori del recordset?


  5. #5
    un file csv lo tratti come un normale file di testo usando ";" separatore di colonna e il VbCrLf come separatore di riga.

    lo salvi sul server come file.csv con FSO
    codice:
    'una volta creato il recordset a tuo piacimento....
    testo_csv = ""
    'Crea l'intestazione con i nomi dei campi
    i = 0
    For i = 0 To rs.Fields.Count - 1
               testo_csv = testo_csv & " & rs.Fields(i).name & ";"
    next
    testo_csv = testo_csv & VbCrLf
    
    'ora aggiungiamo il contenuto del recordset
    i = 0
    do while not rs.eof
    
               For i = 0 To rs.Fields.Count - 1
                          testo_csv = testo_csv & " & rs.fields(i).value & ";"
               Next
    
               testo_csv = testo_csv & VbCrLf
               rs.movenext
    loop
    
    'ora creare il file csv
    
    
    path  = server.mappath("/cartella_con_permessi/csv/")
    nome = "FileCSV.csv" 
    completo = path & nome 
    
    Set fso = CreateObject("Scripting.FileSystemObject") 
    
    Set file = fso.CreateTextFile(completo) 
    file.WriteLine(testo_csv)
    
    file.Close 
    
    Set file = Nothing 
    Set fso = Nothing

  6. #6
    Originariamente inviato da saltodifondi
    un file csv lo tratti come un normale file di testo usando ";" separatore di colonna e il VbCrLf come separatore di riga.

    lo salvi sul server come file.csv con FSO
    codice:
    'una volta creato il recordset a tuo piacimento....
    testo_csv = ""
    'Crea l'intestazione con i nomi dei campi
    i = 0
    For i = 0 To rs.Fields.Count - 1
               testo_csv = testo_csv & " & rs.Fields(i).name & ";"
    next
    testo_csv = testo_csv & VbCrLf
    
    'ora aggiungiamo il contenuto del recordset
    i = 0
    do while not rs.eof
    
               For i = 0 To rs.Fields.Count - 1
                          testo_csv = testo_csv & " & rs.fields(i).value & ";"
               Next
    
               testo_csv = testo_csv & VbCrLf
               rs.movenext
    loop
    
    'ora creare il file csv
    
    
    path  = server.mappath("/cartella_con_permessi/csv/")
    nome = "FileCSV.csv" 
    completo = path & nome 
    
    Set fso = CreateObject("Scripting.FileSystemObject") 
    
    Set file = fso.CreateTextFile(completo) 
    file.WriteLine(testo_csv)
    
    file.Close 
    
    Set file = Nothing 
    Set fso = Nothing

    Grazie, hai chiarito i miei dubbi, ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    172

    file csv

    Response.ContentType = "application/msexcel"

    'INTESTAZIONE
    strXls = chr(34) & "account" & chr(34) & ","
    strXls = strXls & chr(34) & "matricolautente" & chr(34) & ","
    strXls = chr(34) & "cognomeutente" & chr(34) & ","
    strXls = strXls & chr(34) & "nomeutente" & chr(34) & ","
    strXls = chr(34) & "siglafunzioneaziendale" & chr(34) & ","
    strXls = strXls & chr(34) & "societàdiappartenenza" & chr(34) & ","
    strXls = chr(34) & "riferimentoTelecomperilpersonaleesterno" & chr(34) & ","
    strXls = strXls & chr(34) & "profilofunzionale" & chr(34) & ","
    strXls = chr(34) & "note1" & chr(34) & ","
    strXls = strXls & chr(34) & "hostnamedbname" & chr(34) & ","
    strXls = chr(34) & "nome_sistema" & chr(34) & ","
    strXls = strXls & chr(34) & "data_caricamento" & chr(34) & "," & VbCrlf




    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\mdb\Gestione_PI_Tickets.mdb"
    set rs = server.createobject("ADODB.recordset")
    sql1 = "select * from DB_UTENZE ORDER BY db_utenze.nome_sistema;"


    Set rs = Server.CreateObject("ADODB.Recordset")
    Set Rs=Conn.Execute(SQL)

    Do Until RS.EOF
    strXls = chr(34) & "account" & chr(34) & ","
    strXls = strXls & chr(34) & "matricolautente" & chr(34) & ","
    strXls = chr(34) & "cognomeutente" & chr(34) & ","
    strXls = strXls & chr(34) & "nomeutente" & chr(34) & ","
    strXls = chr(34) & "siglafunzioneaziendale" & chr(34) & ","
    strXls = strXls & chr(34) & "societàdiappartenenza" & chr(34) & ","
    strXls = chr(34) & "riferimentoTelecomperilpersonaleesterno" & chr(34) & ","
    strXls = strXls & chr(34) & "profilofunzionale" & chr(34) & ","
    strXls = chr(34) & "note1" & chr(34) & ","
    strXls = strXls & chr(34) & "hostnamedbname" & chr(34) & ","
    strXls = chr(34) & "nome_sistema" & chr(34) & ","
    strXls = strXls & chr(34) & "data_caricamento" & chr(34) & "," & VbCrlf

    rs.MoveNext
    loop

    set rs = Nothing
    conn.Close
    Set conn = Nothing

    'INVIO AL BROWSER
    Response.write strXls
    %>




    Ho provato questo questo script ma mi dà come risultato :
    "nome_sistema","data_caricamento",
    quindi a parte non mi da tutte le intestazioni ,a mon mi fà vedere i dati.

    come devo fare

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    172
    <%
    Response.ContentType = "application/msexcel"

    'INTESTAZIONE
    strXls = chr(34) & "account" & chr(34) & ","
    strXls = strXls & chr(34) & "matricolautente" & chr(34) & "," & VbCrLf





    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\mdb\Gestione_PI_Tickets.mdb"
    set rs = server.createobject("ADODB.recordset")
    sql1 = "select * from DB_UTENZE"


    rs.open sql1, objconn, 3, 3


    Do Until RS.EOF
    strXls = strXls & chr(34) & rs("account") & chr(34) & ","
    strXls = strXls & chr(34) & rs("matricolautente") & chr(34) & "," & VbCrlf

    rs.MoveNext
    loop
    path = server.mappath("../mdb/csv/")
    nome = "FileCSV.csv"
    completo = path & nome

    Set fso = CreateObject("Scripting.FileSystemObject")

    Set file = fso.CreateTextFile(completo)
    file.WriteLine(testo_csv)

    file.Close

    Set file = Nothing
    Set fso = Nothing

    rs.close
    set rs=nothing
    'chiudo e distruggo la connessione
    objConn.close
    set objconn=nothing
    'INVIO AL BROWSER
    Response.write strXls

    %>

    adesso funziona...ma un ultima cosa, vorrei mettere coem separatore il punto è virgola, come si fà ed infine non mi salva mi da errore su questo pezzo:
    path = server.mappath("../mdb/csv/")
    nome = "FileCSV.csv"
    completo = path & nome

    Set fso = CreateObject("Scripting.FileSystemObject")

    Set file = fso.CreateTextFile(completo)
    file.WriteLine(testo_csv)

    file.Close

    Set file = Nothing
    Set fso = Nothing

    l'errore è il seguente:
    Tipo di errore:
    Errore di run-time di Microsoft VBScript (0x800A004C)
    Impossibile trovare il percorso
    /esporta_csv.asp, line 33


    il path è c:\mdb\csv

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.