Private Sub cmdBinary_Click() Dim conDatabase As ADODB.Connection Dim SQL As String On Error GoTo Error_Handler Set conDatabase = Application.CurrentProject.Connection '注意: Fields 1 through 4 can be created through both 'SQL View and the Jet OLEDB Provider. 'Fields 5 and 6 can only be created through the 'Jet OLE DB provider.
SQL = "CREATE TABLE tblCodeBinaryDataTypes (" & _ "Field1_BINARY BINARY, " & _ "Field2_BINARY250 BINARY(250), " & _ "Field3_VARBINARY VARBINARY, " & _ "Field4_VARBINARY250 VARBINARY(250), " & _ "Field5_BVARYING BINARY VARYING, " & _ "Field6_BVARYING250 BINARY VARYING(250))" conDatabase.Execute SQL MsgBox "The BINARY datatypes table has been created!" conDatabase.Close Set conDatabase = Nothing Exit Sub Error_Handler: MsgBox Err.Description, vbInformation End Sub
运行过其中一个DDL 语句后,在设计视图中打开被影响的数据库查看产生了什么变动。如果DDL 语句影响了表单之间的关联,打开编辑关联窗口查看其变动。例如让我们检查一下在中级DDL语句窗体中的Alter Table w/ Fast Foreign Key输出指令和按键。
打开acIntSQL 数据库。
确定tblCustomers 和 tblInvoices 表单已经被创建。
在数据库窗口从Objects条中选择Forms。
在数据库窗口工具条中着重显示Intermediate DDL 语句的窗体并单击Design按键。
在Intermediate DDL 语句窗体中,鼠标右键点击Alter Table w/ Fast Foreign Key按键并从弹出菜单中选择 Build Event…。这操作将打开VBA开发环境以及包含着cmdFastKey_Click子过程的代码窗口。
这个acIntSQL数据库有许多关于数据处理语言 (DML) 语句的例子,在这些范例里你可以用它们来找到数据,并且它们中的大多数是以查询的形式实现的。仅有的以在线SQL形式实现的DML 语句则是基于中级DML 语句窗体的。窗体中的三个例子在LIKE子句中使用"_" 和 "%" 通配符,并使用SELECT INTO 语句在一个外部数据库中创建一个表单。
在acIntSQL 数据库中保存的两个查询是属于DML 语句内容却执行类似DDL的操作。其中的SELECT INTO 语句从已有的数据库中找到数据并用这些数据创建新的工作表。通过这些范例的学习,你将学会如何删除目标工作表,前提是这些工作表已经存在。
在中级DML语句的窗体中的Create Customers Database输出指令和按键展示了一个对SELECT INTO 语句的有趣应用。这是一个告诉你使用中级SQL 语句所能完成的各种事情的一个好的例子。下面就是关于输出命令和按键的子过程的代码:
Private Sub cmdCreateDB_Click() Dim conCatalog As ADOX.Catalog Dim conDatabase As ADODB.Connection Dim SQL As String Dim sDBName As String On Error GoTo Error_Handler 'Initialize objects & variables. Set conDatabase = Application.CurrentProject.Connection Set conCatalog = New ADOX.Catalog sDBName = "C:Customers.mdb" 'Create the Customers database. conCatalog.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & sDBName 'Run the DML statement to build the Customers table. SQL = "SELECT * INTO tblCustomers IN '" & sDBName & _ "'" & "FROM tblCust