VBScript-ADO-Programmierung
Gilt für: Access 2013, Office 2013
Erstellen eines ADO-Projekts
Da von Microsoft Visual Basic Scripting Edition keine Typbibliotheken unterstützt werden, müssen Sie im Projekt nicht auf ADO verweisen. Daher werden keine zugehörigen Features wie die Vervollständigung der Befehlszeile unterstützt. Außerdem sind ADO-Aufzählungskonstanten standardmäßig in VBScript nicht definiert.
In ADO werden jedoch zwei Includedateien bereitgestellt, die die folgenden Definitionen enthalten, die mit VBScript verwendet werden können:
For server-side scripting use Adovbs.inc, which is installed in the c:\Program Files\Common Files\System\ado\ folder by default.
For client-side scripting use Adcvbs.inc, which is installed in the c:\Program Files\Common Files\System\msdac\ folder by default.
Sie können entweder Konstantendefinitionen aus diesen Dateien kopieren und in Ihre ASP-Seiten einfügen. Wenn Sie serverseitige Skripts ausführen, kopieren Sie die Datei Adovbs.inc in einen Ordner auf Ihrer Website, und verweisen Sie von Ihrer ASP-Seite wie folgt darauf:
<!--#include File="adovbs.inc"-->
Erstellen von ADO-Objekten in VBScript
Sie können die Dim -Anweisung nicht zum Zuweisen von Objekten zu einem bestimmten Typ in VBScript verwenden. Außerdem wird in VBScript die Syntax New, die mit der Dim -Anweisung in Visual Basic für Applikationen verwendet wird, nicht unterstützt. Sie müssen stattdessen den CreateObject-Funktionsaufruf verwenden:
Dim Rs1
Set Rs1 = Server.CreateObject( "ADODB.Recordset" )
VBScript (Beispiele)
Der folgende Code ist ein allgemeines Beispiel für die serverseitige VBScript-Programmierung in einer ASP-Datei (Active Server Pages):
<% @LANGUAGE="VBSCRIPT" %>
<% Option Explicit %>
<!--#include File="adovbs.inc"-->
<HTML>
<BODY BGCOLOR="White" topmargin="10" leftmargin="10">
<!-- Your ASP Code goes here -->
<%
Dim Source
Dim Connect
Dim Rs1
Source = "SELECT * FROM Authors"
Connect = "Provider=sqloledb;Data Source=srv;" & _
"Initial Catalog=Pubs;Integrated Security=SSPI;"
Set Rs1 = Server.CreateObject( "ADODB.Recordset" )
Rs1.Open Source, Connect, adOpenForwardOnly
Response.Write("Success!")
%>
</BODY>
</HTML>
Konkretere VBScript-Beispiele sind in der ADO-Dokumentation enthalten. Weitere Informationen finden Sie unter ADO-Codebeispiele in Microsoft Visual Basic Scripting Edition.
Unterschiede zwischen VBScript und Visual Basic
Das Verwenden von ADO mit VBScript ist in vielerlei Hinsicht, z. B. hinsichtlich der Verwendung der Syntax, mit der Verwendung von ADO mit Visual Basic vergleichbar. Es sind jedoch einige erhebliche Unterschiede vorhanden:
VBScript supports only the Variant data type, which can hold different types of data. You can store the data you need in a Variant data type, and the data will function appropriately due to casting performed by VBScript. It recognizes the type required by ADO, and converts the value in the Variant accordingly.
Sie können nicht in VBScript verwenden
on error goto <label>
.In VBScript werden einige der integrierten Visual Basic-Funktionen, wie z. B. Msgbox, Date und IsNumeric, unterstützt. Da es sich bei VBScript jedoch um eine Teilmenge von Visual Basic handelt, werden nicht alle integrierten Funktionen unterstützt. Beispielsweise werden in VBScript die Format-Funktion und die Datei-E/A-Funktionen nicht unterstützt.