昨天网友Kui Blue在微信群里问能否将窗体查询的结果生成新表:
这个问题关键是怎样确定查询变量,之前在论坛看过一篇文章是删除当前查询结果的(http://www.accessoft.com/article-show.asp?id=10538),便将代码拿来修改,再加上生成表的代码就实现了这个功能,代码如下:
Private Sub 生成表2_Click()
Dim strFilter As String '定义查询来源变量
strFilter = IIf(Me.sfrList.Form.FilterOn, Me.sfrList.Form.Filter, "")
If strFilter = "" Then
MsgBoxEx "无查询结果,请查询数据!", vbExclamation + vbOKOnly
Exit Sub
Else
DoCmd.RunSQL "Select * INTO 表2 FROM 表1 Where " & strFilter
End If
MsgBoxEx "已生成表2,請查看!", vbExclamation + vbOKOnly
End Sub
其实,用平台自带的查询变量也是可以的,加一个判断是否已执行查询即可,否则无法获取查询变量就会报错。
Dim strWhere As String
strWhere = mclsQuery.WhereSQL
网友原帖地址:http://www.accessoft.com/bbs/showtopic.asp?id=26502
附 件:
点击下载此附件