Team LiB
Previous Section Next Section

VBScript

VBScript (or Visual Basic Scripting Edition) is a “lightweight” scripting language from which some of the features of VBA (like file access or access to the Win32 API) have been removed. (Many of these features are still available, though, through additional components, such as Microsoft Scripting Runtime, that are included with VBScript.) VBScript has four major applications:

If your system has access to Internet Information Server, you can create web pages that display data from your Access databases by using VBScript and ADO. The following code, for instance, when saved as an .asp file in a virtual folder, displays the contents of the Customer table, as Figure 21-14 shows.

<% Option Explicit %>
<HTML>
<HEAD>
<TITLE>The Corner Bookstore Customer Table</TITLE>
<%
<!-- #INCLUDE VIRTUAL="C:\Program Files\Common Files\System\ado\adovbs.inc" -->
%>
<SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER">


Function GetRecordset()
   On Error Resume Next
   Dim con, rs
  
   Set con = CreateObject("ADODB.Connection")
   Set rs = CreateObject("ADODB.Recordset")

   con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
       "Data Source=C:\BegVBA\thecornerbookstore.mdb;"

   rs.CursorType = adOpenForwardOnly
   rs.CursorLocation = adUserClient
   rs.Open "SELECT * FROM tblCustomer", con
   Set GetRecordset = rs
End Function

</SCRIPT>
</HEAD>
<BODY>
<H1><CENTER>The Corner Bookstore</CENTER></H1>
<H2>Customer List</H2>
<TABLE>
<%
   Dim rs, fld
 
   Set rs = GetRecordset()

   ' Iterate fields for field names
   Dim strField 
   Dim iPos


   Response.Write "<TR>"
   For Each fld in rs.Fields
      strField = fld.Name

      ' Remove "txt" from field name
      iPos = Instr(strField, "txt")
      If iPos = 1 Then strField = Mid(strField, 4)
      ' Spell out "customer" in field name
      iPos = Instr(strField, "Cust")
      If iPos = 1 Then strField = "Customer " & Mid(strField, 5)
      Response.Write "<TH>" & strField & "</TH>"
   Next
   Response.Write "</TR>"
   
   ' Position pointer to beginning of file
   rs.MoveFirst
   
   ' Display records
   Do While Not rs.EOF
      Response.Write "<TR>"
      For Each fld in rs.Fields
         Response.Write "<TD>" & fld.Value & "</TD>"
      Next
      Response.Write "</TR>"
      rs.MoveNext
   Loop
 %>
</TABLE>
</BODY>
</HTML>
Click To expand
Figure 21-14: Output from an Active Server Page built with VBScript

A good deal of the code consists of HTML statements, either directly or through code inserted into the output stream by the ASP Response.Write statement. The remainder of the page consists of VBScript and ADO code. Much of it is more or less identical to the code used to display the Customer table in Excel earlier in this chapter. The remaining code simply iterates the recordset’s fields to display their names and then iterates the recordset itself to display the values of each field in each record. Once again, this is a more or less straightforward extension of VBA code with which you’re already familiar.

Although you may be unfamiliar with many of the details needed to create ASP pages—you may not know how to configure IIS, what the ASP object model is like, or what syntax is required in ASP pages—nevertheless, given your knowledge of VBA and ADO, you have a firm basis to begin developing web applications with ASP if you choose to do so.


Team LiB
Previous Section Next Section