Avatar billede trippus Nybegynder
28. august 2003 - 11:28 Der er 4 kommentarer

Hente word dokumenter fra Access database

Jeg vil gerne hente word dokumnet ud fra en Access Database, men kan ikke få det læst rigtigt ud. Word skriver at den ikke kender kodning, der anvendes.
Hvis der er nogle, der kan hjælpe ville jeg blive meget glad

hygge
-trip
Avatar billede ursusquietus Nybegynder
28. august 2003 - 13:16 #1
Kan du vise din kode? Du skal huske at saette content-type i din header til at vaere et word dokument, og saa skal du skrive data vha. response.BinaryWrite og ikke response.write. Haaber det er det du mangler.
Avatar billede trippus Nybegynder
28. august 2003 - 14:14 #2
Det har jeg vist med jeg smider lige det jeg har skrvet indtil videre.....
Jeg har aldrig kigget på asp før så der kan godt være ting der er overflødige og ting der kunne gøres smartere....here goes


<%



'Opret database adgang

dim conn

function OpenConn( DBName )

Set Conn = Server.CreateObject("ADODB.Connection")
ODBCpath = left(request.servervariables("PATH_TRANSLATED"), instrrev(request.servervariables("PATH_TRANSLATED"), "\"))
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ODBCpath & DBName

end function

OpenConn("../projektoplysninger.mdb")

' SQL forespørgsel
strSQL = "Select * from tblReferater where id="&request.Querystring("id")
BlockSize=4096


'Response.Write(strSQL)
Response.ContentType = "application/msword"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)
rs.MoveFirst
set Field=rs("Referat")
Response.AddHeader "Content-Disposition", "attachment;filename=" & Field.name
FileLength=Field.ActualSize
NumBlocks=FileLength/BlockSize
LeftOver=FileLength Mod BlockSize
Response.BinaryWrite Field.GetChunk(LeftOver)
For intLoop = 1 to NumBlocks
  Response.BinaryWrite Field.GetChunk(BlockSize)
Next
rs.close




'Response.BinaryWrite rs("Referat")

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing


%>

håber du kan se hvad problemet er :-)
Avatar billede ursusquietus Nybegynder
28. august 2003 - 14:44 #3
Det ser ud til at du skriver din rest ud foer starten af filen:

Response.BinaryWrite Field.GetChunk(LeftOver)

Det skal vist flytter ned til efter dit loop ikke?

Og saa lige en lille detalje: Det er ikke noedvendigt med rs.MoveFirst naar man tilgaar et recordset foerste gang.
Avatar billede the_bma_man Nybegynder
10. oktober 2003 - 07:00 #4
Lukkes??
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester