Ser ett syntaxfel i din selectsats, skall vara:
SELECT * FROM Login ORDER BY Efternamn, ForNamn
Dvs inget where om du inte har några villkor. Annars ser det väl ok ut.
------------------
essentitia preter non sans multiplicandum
4 svar · 202 visningar · startad av anhel96
Hur gör jag för att hämta data ifrån databasen och infoga de i det Word-dokument som skapas enligt nedan? Dvs jag vill t.ex. att förnamn och efternamn ska hämtas från databasen och skrivas ut i Worddokumentet efter "Namn:".
<%
Set Connection = Server.CreateObject("ADODB.Connection")
dbFilePath = Server.MapPath("db.mdb")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & dbFilePath & ";"
SQLStmt = "SELECT * FROM Login ORDER BY Efternamn, ForNamn"
Set RS = Connection.Execute(SQLStmt)
%>
<%
Dim MyDoc
Set MyDoc = CreateObject("Word.Document")
MyDoc.Application.Visible = True
MyDoc.content.Font.Bold = False
MyDoc.content.Font.Underline = False
MyDoc.content.Font.Name = "Times New Roman"
MyDoc.content.Font.Size = 10
MyDoc.content.insertAfter "Adressregister"
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "_____________________________"
MyDoc.content.InsertParagraphAfter
MyDoc.content.InsertParagraphAfter
%>
<%
Set RS = Connection.Execute(SQLStmt)
Do Until RS.EOF
%>
<%
MyDoc.content.insertAfter "Namn: "
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "Adress: "
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "Postadress: "
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "Telefon: "
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "Mobil: "
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "E-post: "
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "__"
MyDoc.content.InsertParagraphAfter
%>
<%
RS.MoveNext
Loop
RS.Close
Connection.Close
Set MyDoc = Nothing
%>
[Redigerat av anhel96 den 14 jan 2001]
Ser ett syntaxfel i din selectsats, skall vara:
SELECT * FROM Login ORDER BY Efternamn, ForNamn
Dvs inget where om du inte har några villkor. Annars ser det väl ok ut.
------------------
essentitia preter non sans multiplicandum
OK, har missat det då jag klippte ut koden. I originalet har jag med ett WHERE-villkor. Glömde bara att ta bort WHERE här i diskussionsmeddelandet. Men koden fungerar som sagt annars som den står i det följande. Det jag dock skulle vilja ha svar på är hur jag infogar data från databasen bland de övriga. T.ex. efter MyDoc.content.insertAfter "Namn: "
vill jag att en namnen från databasen ska inflikas. Hur får jag detta att fungera?
T.ex om 25 personer finns loggade i databasen går loopen 25 gånger och skriver ut Namn, Adress, Postadress m.m. för vardera av de 25 personerna.
Ok, jag läste lite snabbt :h
Om dina kolumner heter fornamn,efternamn etc så kan du plocka dom från RS:
MyDoc.content.insertAfter "Namn: " & RS("Fornamn") & " " & RS("EfterNamn")
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "Adress: " & RS("Adress")
MyDoc.content.InsertParagraphAfter
------------------
essentitia preter non sans multiplicandum
Provade ditt förslag. Det fungerade inte riktigt. Fick ändra enligt nedan för att det skulle fungera. Dvs parenteser runt databasvariablerna.
Nu funkar det kanon. Tack!
MyDoc.content.insertAfter "Namn: " & (RS("ForNamn")) & " " & (RS("EfterNamn"))
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "Adress: " & (RS("Adress"))
MyDoc.content.InsertParagraphAfter