把RunSQL部分嵌入If语句里就好了。
If MsgBox("是否使用面积公式", vbYesNo)=vbYes then
a=……
For i=0 to a-1
……
Next
else
exit sub
end if
用ADO方法代码会更加简洁,可读性更强(如果文本框和字段值一一对应,并追加全部字段的话,还可以嵌套For循环):
Dim rst as New ADODB.Recordset
rst.open"Form5查询",Currentproject.Connection,adOpenKeyset, adLockOptimistic
If MsgBox("是否使用面积公式", vbYesNo)=vbYes then
a=……
For i=0 to a-1
rst.AddNew
rst("label1")=me.label1.value
……………………………………
rst.Update
Next
else
exit sub
end if
rst.close 作者: pq318 时间: 2011-7-19 08:57
呵呵谢谢斑竹ADO方法不太会用,在什么地方学习,有好的推荐吗作者: roych 时间: 2011-7-19 10:58
论坛里有相关教程。搜索下。这里是一段简单的追加查询代码,供参考学习:
Private Sub CmdAddNew_Click()
'新建记录集
Dim rst As New ADODB.Recordset
'打开记录集(可以是表名、查询名或者SQL查询语句)
rst.Open "测试表", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If IsNull(Me.TxtName) Then Exit Sub
If MsgBox("您打算新增记录么?", vbOKCancel, "提示") = vbOK Then
For i = 1 To InputBox("请输入需要输入的数量", "输入前提示", 1)
'新增记录
rst.AddNew
'设置第二个字段(即姓名)值为文本框的值。
rst(1) = Me.TxtName
'更新记录集。如果是更新查询语句的话,应加上rst.MoveNext以便移到下一条记录。
rst.Update
Next i
End If
End Sub 作者: pq318 时间: 2011-7-19 16:00
谢谢