У меня есть код VBS на html-странице, которая получает запросы из базы данных доступа. Я пытаюсь распечатать результат запроса в нужном месте в HTML, используя
document.write(fDateDispo & " et " & tDateDispo)
где fDateDispo и tDateDispo - открытые переменные, объявленные перед всеми подпрограммами в программе. В одной из моих процедур (объявлено Public Sub
) я даю публичные переменные их значения с результатом запроса. Я использовал msgbox (), чтобы подтвердить, что правильные значения приписываются при выполнении процедуры.
Моя проблема в том, что значение, которое я даю публичным переменным во время процедуры, не остается после ее выполнения, они просто пусты и выводится только "et".
[EDIT]
вот код:
public sub SendQuery(DateOne,DateTwo)
On Error Resume Next
dim rs, passerelle, nbrAppels, c, stSQLpass
dim Objet, nbrObjet, stSQLobj, rsObj
dim Panne, nbrPanne, stSQLpan, rsPan
dim SQLfromDate, SQLtoDate, stWhere, FromDate, ToDate
SQLfromDate="SELECT Min(Avis.[Date Appel]) AS [MinDeDate Appel] FROM Avis;"
SQLtoDate="SELECT Max(Avis.[Date Appel]) AS [MaxDeDate Appel] FROM Avis;"
ADOConnection1.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=G:\Planification\Planification\Stagiaires\Sébastien Leblanc\EntretienElectro_Backup2.mdb"
Set FromDate = ADOConnection1.Execute(SQLfromDate)
Set ToDate = ADOConnection1.Execute(SQLtoDate)
fDateDispo=FromDate.Fields(0).Value
tDateDispo=ToDate.Fields(0).Value
With rs
.MoveFirst
Do While Not .EOF
passerelle = passerelle & .Fields(1).Value & Chr(9)
nbrAppels = nbrAppels & .Fields(0).Value & Chr(9)
.MoveNext
Loop
.Close
End With
' Remove the leftover tab character at the end of the strings.
passerelle = Left(passerelle, Len(passerelle) - 1)
nbrAppels = Left(nbrAppels, Len(nbrAppels) - 1)
' Objet cahrtspace1
With ChartSpace1
.Clear
.Charts.Add
Set c = .Constants
.AllowFiltering = True
.Interior.Color = "white"
With .Charts(0)
.Border.Color = "white"
.Interior.Color = "white"
.Axes(0).Hastitle = TRUE
.Axes(0).Title.Caption = "Passerelles" 'titre de l'axes des x
.Axes(1).Hastitle = TRUE
.Axes(1).Title.Caption = "Nombre d'Appels" 'titre de l'axe des y
.SeriesCollection.Add
.PlotArea.Interior.Color = "white" du graph
With .SeriesCollection(0)
.Interior.Color = RGB(61, 166, 228)
.SetData c.chDimCategories, c.chDataLiteral, nbrAppels
.SetData c.chDimValues, c.chDataLiteral, passerelle
End With
.Type = c.chChartTypeColumnClustered
End With
End With
ADOConnection1.Close
End sub
Я пропустил пару вещей, потому что сомневаюсь, что это как-то связано с этим. это просто другие объекты OWC и прочее ...
Я попытался просто приписать значение, выполнив fDateDispo="date"
в подпрограмме, но не повезло.
[РЕДАКТИРОВАТЬ 2]
Это клиентский VBscript. Подпрограмма находится в <head>
, а запись документа - в <body>
html. Подпрограмма вызывается другим поднабором как событие window_load.
[ПРАВИТЬ 3]
вот где я размещаю document.write()
:
<P style="PAGE-BREAK-AFTER: auto"><FONT face=Arial> Les
données entre les dates
<SCRIPT language=vbscript>
Document.write(fDateDispo & " et " & tDateDispo)
</SCRIPT>
sont disponibles.</FONT></P>