Hmm der er lige noget som skal rettes den magler at tage højde for return i teksten:
<%
'CVS filen som der skal gemme data i
csvfile = server.Mappath ("filnavnet.csv")
'Definer linie skift (ny post) tegnet til cvs filen normalt bruges LineFeed (vbLf) eller
'Carriage Return og Line Feed (vbCrLf), andre tegn kan også bruges
cvsLinieSkift = vbCrLf
skilleTegn = "," 'typisk skille tegn er komma
'Benytter FSO til at skrive til filen
set FSO = Server.CreateObject("Scripting.FilesystemObject")
set fil = FSO.OpenTextFile(csvfile, 2, true)
'Opretter connection til databasen den skal rettes til så den passer med din datase
Set rs = Server.CreateObject("ADODB.RecordSet")
Set conn = Server.CreateObject("ADODB.Connection")
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db1.mdb")
Conn.Open strDSN
'Henter alt fra tabllen
SQL = "SELECT * FROM tabelnavn"
Set rs = Conn.Execute(SQL)
'Skriver føste række i filen og det er kolonnenavne
skrivKolonneNavne = true ' hvis du ikke ønsker kolonnenanve sæt til false
if skrivKolonneNavne then
if not rs.EOF then
tmp = ""'
for each f in rs.Fields
tmp = tmp & "," & f.name
next
tmp = mid(tmp,2) & cvsLinieSkift
fil.Write (tmp)
end if
end if
'Skriver data til filen
do while not rs.EOF
tmp = ""
for each f in rs.Fields
s=f
ao = false
'I nogle tilfælde skal der " omkring data. Samt " i teksten skal udskiftes med ""
if inStr(1, s, """") > 0 then
s = replace(s, """", """""")
ao = true
end if
if inStr(1, s, skilleTegn, 1) > 0 then
ao = true
end if
if inStr(1, s, vbCrLf) > 0 then
ao = true
end if
if left(s, 1) = " " or right(s, 1) = " " then
ao = true
end if
if ao then
s = """" & s & """"
end if
tmp = tmp & "," & s
next
tmp = mid(tmp,2) & cvsLinieSkift
fil.Write (tmp)
rs.MoveNext
loop
rs.Close
fil.Close
Conn.Close
%>
koden skulle gerne følge denne guide:
http://www.creativyst.com/Doc/Articles/CSV/CSV01.htm