请下载示例“3.2.8 用VBA代码执行删除查询.mdb”,在这个示例的基础进行本文档的学习。点击下载此附件
删除查询可以从一个或多个表中删除一组记录。首先打开随书示例“3.2.8用VBA代码执行删除查询.mdb”,运行表tblSalelist,数据如图3.116所示:
图3.116销售明细
假定广州分公司的数据不全,需要重新导入时,就需要将广州分公司的销售数据全部删除,这时,就可以使用以下代码来删除所有广州分公司的销售数据:
Sub DelQry()
Dim strSQL As String
strSQL = "Delete tblSalelist.* " _
& "FROM tblSalelist " _
& "Where (((tblSalelist.comSale)='广州分公司'));"
DoCmd.RunSQL strSQL
End Sub
如何去用VBA代码来执行查询代码,通过上面的代码我们学习了一下,也可以说是掌握了,但是,上面的SQL代码是如何写出来的,这个是关键,下面来学习如何写出删除查询的SQL代码。
单击对象中的【查询】,再单击上方的【新建】,如图3.117所示:
图3.117写删除查询SQL代码(1)
这时,会出现新建查询对话框,如图3.118所示:
图3.118写删除查询SQL代码(2)
选择设计视图,单击【确定】按钮后,出现显示表,如图3.119所示:
图3.119写删除查询SQL代码(3)
选择表tblSalelist,单击【添加(A)】按钮,再单击【关闭(C)】按钮后,画面如图3.120所示:
图3.120写删除查询SQL代码(4)
选择*和comSale字段,如图3.121所示:
图3.121写删除查询SQL代码(5)
在菜单栏上选择【查询(Q)】,单击子菜单 ,如图3.122所示:
图3.122写删除查询SQL代码(6)
然后,在条件栏中输入”广州分公司”,如图3.123所示:
图3.123写删除查询SQL代码(7)
保存查询,将名称设置为qryDel,这样,删除查询就建立完毕了,结果如图3.124所示:
图3.124写删除查询SQL代码(8)
选中qryDel,单击 进入查询qryDel的设计界面,如图3.125所示:
图3.125写删除查询SQL代码(9)
在菜单栏选择【视图(V)】中的子菜单 ,如图3.126所示:
图3.126写删除查询SQL代码(10)
这时,就出现了这个查询的SQL代码,如图3.127所示:
图3.127写删除查询SQL代码(11)
新建一个窗体frmTest,在frmTest窗体上新建一个命令按钮btnTest,在btnTest的单击事件中,将上面的SQL复制到VBA代码中,稍加修改就可以在VBA代码中使用了,对比一下本节前面所写的SQL代码:
Private Sub btnTest_Click()
Dim strSQL As String
strSQL = "Delete tblSalelist.* " _
& "FROM tblSalelist " _
& "Where (((tblSalelist.comSale)='广州分公司'));"
DoCmd.RunSQL strSQL
End Sub
说明:在上面的代码中," _ 放在上一行的末尾和&放在下一行的开头,用途是将两行连接起来。广州分公司前后的双引号改成了单引号。
同理,更新、追加与生成表查询都可以采用上述方法来复制到SQL代码,应用到VBA代码中。