26. oktober 2004 - 13:32Der er
17 kommentarer og 2 løsninger
Slette fil før udtræk
Jeg bruger nedenstående til at danne et udtræk fra min DB til et excelark. Det fungerer kanon første gang. Herefter ligger filen udtrak.xls i mappen. Efterfølgende når jeg så kører denne fil, så kommer der ingen fejlmeddelelse, men den laver heller ikke en ny fil (udtrak.xls). Den må åbenbart ikke overskrive den gamle. Hvor kan jeg enten tvinge den til at overskrive den gamle eller også til at slette den gamle inden den kører udtrækket igen ?
<% session.lcid="1030" Dim objConn 'Holds the Database Connection Object Set objConn = Server.CreateObject("ADODB.Connection")
'Set an active connection to the Connection object using a DSN-less connection objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../../../db/database.mdb")
Function CreateExcel(Title,tblname) Dim Rs,Fso,Act,fname Fname = "Udtrak.xls" Set rs = Server.CreateObject("ADODB.Recordset") Set FSO = Createobject("scripting.filesystemobject") Set act = Fso.CreateTextfile(server.mappath(Fname),true) rs.Open Tblname, objconn, 3, 3 If Not Rs.EOF and not Rs.BOF Then act.WriteLine "<html xmlns:x=""urn:schemas-microsoft-com:office:excel"">" act.WriteLine "<head>" act.WriteLine "<!--[if gte mso 9]><xml>" act.WriteLine "<x:ExcelWorkbook>" act.WriteLine "<x:ExcelWorksheets>" act.WriteLine "<x:ExcelWorksheet>" act.WriteLine "<x:Name>"& title &"</x:Name>" act.WriteLine "<x:WorksheetOptions>" act.WriteLine "<x:Print>" act.WriteLine "<x:ValidPrinterInfo/>" act.WriteLine "</x:Print>" act.WriteLine "</x:WorksheetOptions>" act.WriteLine "</x:ExcelWorksheet>" act.WriteLine "</x:ExcelWorksheets>" act.WriteLine "</x:ExcelWorkbook>" act.WriteLine "</xml>" act.WriteLine "<![endif]--> " act.WriteLine "</head>" act.WriteLine "<body>"
Act.Writeline "<table border=1>" Act.Writeline "<Tr>" For X = 0 to Rs.Fields.count - 1 Act.Writeline "<Td><b>" & Rs.Fields.Item(x).Name & "</b></td>" Next Act.Writeline "</Tr>" While not Rs.Eof Act.Writeline "<Tr>" For X = 0 To Rs.Fields.Count - 1 Act.Writeline "<Td>" & Rs.Fields.Item(X).Value & "</td>" Next Act.Writeline "</Tr>"
End if Act.close Rs.close %> <!-- <font face="Verdana" size="1"> Din excel fil kan hentes hér: <a href="<%=fname%>" target="_blank"> Klik her </a> </font> --> <% End function
call CreateExcel("Titelnavn","medlemmer") 'Reset server objects
øøhh ik forstået ? Jeg ved at det er det der er problemet, for hvis jeg manuelt sletter og herefter kører denne fil så kommer nye data med. Sletter jeg den ikke, så er ændringer ikke med= samme fil jeg henter hver gang!
Jeg forstår ikke om du mener at det allerede burde virke eller hur?
sikkert noget cache. prøve at linke til filen sådan her : Din excel fil kan hentes hér: <a href="<%=fname&"?"&session.sessionid&datetime%>" target="_blank"> Klik her </a>
Hvis jeg nu kører udtræk og venter lidt og kører det igen og så holder musen hen over link til at hente filen, så er sessionid&datetime ens...det bør den da ikke være vel ?
Jeg tænkte på..kan du lave et script der bare sletter filen udtrak.xls ? Så vil jeg prøve at kalde den fil første og så bagefter den anden for at se om det hjælper ?
Helt ok :D Men det virkede ikke... Så tænkte jeg et script der ikke lavede andet en at slette og ikke var en del af det andet....Er lidt lost og ved ik hvordan jeg skal komme videre
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.