Hjælp til ændring af kode.......
Jeg har følgende kode, som skal generere et worddokument client side......Koden består af to dokumenter.....
DEFAULT.ASP
<%@ Language=VBScript %>
<HTML>
<BODY>
<SCRIPT LANGUAGE=VBScript>
Sub CreateDataDoc(oApp)
' Declare variables.
Dim sServer,oDoc,oRS,sTemp,sHead,oRange,oField
' Place your server's name here.
sServer = "localhost"
' Create a new document.
Set oDoc = oApp.Documents.Add
' Create a new recordset.
Set oRS = CreateObject("ADODB.Recordset")
' Open the XML recordset from the server and pass the SQL statement
' to the Getdata.asp page.
sSQL = "SELECT * FROM ordrer"
oRS.Open "http://www.4love.dk/admin/labels/getdata.asp?SQL=" & sSql
' Convert the recordset to a string.
sTemp = oRS.GetString(2, -1, vbTab) ' 2 = adClipString
' Append the field names to the front of the string.
For Each oField In oRS.Fields
sHead = sHead & oField.Name & vbTab
Next
' Strip off the last tab.
sTemp = Mid(sHead, 1, Len(sHead) - 1) & vbCrLf & sTemp
' Get a range object and insert the text into the document.
Set oRange = oDoc.Range
oRange.Text = sTemp
' Convert the text to a table.
oRange.ConvertToTable vbTab
' Save the document to a temp file.
oDoc.SaveAs "C:\data.doc"
' Close the document (no save).
oDoc.Close False
End Sub
Sub ButtonClick()
Dim oApp
Dim oDoc
Dim oMergedDoc
' Create an instance of Word.
Set oApp = CreateObject("Word.Application")
' Create our data file.
CreateDataDoc oApp
' Add a new document.
Set oDoc = oApp.Documents.Add
With oDoc.MailMerge
' Add our fields.
.Fields.Add oApp.Selection.Range, "fornavn"
oApp.Selection.TypeText " "
.Fields.Add oApp.Selection.Range, "efternavn"
oApp.Selection.TypeParagraph
.Fields.Add oApp.Selection.Range, "adresse"
oApp.Selection.TypeText ", "
.Fields.Add oApp.Selection.Range, "postnr"
oApp.Selection.TypeParagraph
.Fields.Add oApp.Selection.Range, "bynavn"
oApp.Selection.TypeParagraph
' Create an autotext entry.
Dim oAutoText
Set oAutoText = oApp.NormalTemplate.AutoTextEntries.Add _
("MyLabelLayout", oDoc.Content)
oDoc.Content.Delete
.MainDocumentType = 1 ' 1 = wdMailingLabels
' Open the saved data source.
.OpenDataSource "C:\data.doc"
' Create a new document.
oApp.MailingLabel.CreateNewDocument "pakkelabel", "", _
"MyLabelLayout", , 4 ' 4 = wdPrinterManualFeed
.Destination = 0 ' 0 = wdSendToNewDocument
' Execute the mail merge.
.Execute
oAutoText.Delete
End With
' Close the mail merge edit document.
oDoc.Close False
' Get the current document.
Set oMergedDoc = oApp.ActiveDocument
' Show Word to the user.
oApp.Visible = True
' Uncomment these lines to save the merged document locally.
'oMergedDoc.SaveAs "C:\test.doc"
'oMergedDoc.Close False
'oApp.Quit False
End Sub
</SCRIPT>
<INPUT type=button value="Create Word Document" onclick="VBScript:ButtonClick">
</BODY>
</HTML>
Og GETDATA.ASP:
<%@ Language=VBScript %>
<%
Dim oConn,oRS,strConn,sSQLServer
' Build the connection string.
sSQLServer = "<servername>"
strConn = "driver={MySQL};server=mysql.4love.dk;database=dk4love;UID=dk4love;PWD=qqt69xax"
' strConn = "driver={MySQL};server=localhost;database=insite"
' Set our return content type.
Response.ContentType = "text/xml"
' Create a connection.
set oConn = Server.CreateObject("ADODB.Connection")
' Open the connection.
oConn.Open strConn
' Execute the SQL statement.
set oRS = oConn.Execute(Request.QueryString("SQL"))
' Save the recordset in the Response object.
oRS.Save Response,1
%>
Jeg har brug for at lave SQL forespørgslen dynamisk f.eks. ved hjælp af en Session variabel....
Har prøvet at gøre sådan her:
sSQL = Session("SQLlabel")
Men den giver en fejl: Typer stemmer ikke overens 'Session'
Plz hjælp
