Office中国论坛/Access中国论坛

标题: 使用参数查询 [打印本页]

作者: hongxing56    时间: 2005-12-21 18:34
标题: 使用参数查询
SELECT 表名.记录年, count(记录年) AS num
FROM 表名

GROUP BY 记录年
ORDER BY 记录年;


想在窗体中做一个组合框,用组合框选择表,然后执行查询。请教如何能实现?在sql里面,表名可以作为参数吗?

如果只能用vb,能写写代码吗,我不会vb。
作者: gaoqiwen    时间: 2005-12-21 21:28
Dim strSQL as String
strSQL= "SELECT 表名.记录年, count(记录年) AS num " _
      & "FROM " & 组合框.Value _
      & " GROUP BY 记录年 " _
      & "ORDER BY 记录年; "


将strSQL赋值给窗体或子窗体的数据源属性,Requery窗体或子窗体的数据即可![em04]

[此贴子已经被作者于2005-12-21 13:46:17编辑过]


作者: hongxing56    时间: 2005-12-21 22:04
能否做成,在组合框中选择公司后,点击一个按钮,就执行一个查询,弹出查询结果(象普通的查询一样)。
作者: gaoqiwen    时间: 2005-12-21 23:14
可以的!

如下:

Private Sub Command0_Click()
    Dim OBJ As AccessObject
    For Each OBJ In CurrentData.AllQueries
        If OBJ.name = "ABC" Then DoCmd.DeleteObject acQuery, OBJ.name
    Next
    Dim strSQL As String
    strSQL = "CREATE VIEW ABC AS " _
           & "SELECT 表名.记录年, count(记录年) AS num " _
           & "FROM " & 组合框.Value _
           & " GROUP BY 记录年 " _
           & "ORDER BY 记录年; "
    Dim ADO As New ADODB.Command
    ADO.ActiveConnection = CurrentProject.Connection
    ADO.CommandText = strSQL
    ADO.Execute
    DoCmd.OpenQuery "ABC"
End Sub
作者: hongxing56    时间: 2005-12-21 23:35
不执行。有编译错误,在Dim ADO As New ADODB.Command

另外,能给程序配个说明吗?

非常感谢!
作者: gaoqiwen    时间: 2005-12-21 23:41
在VB编辑器中;

工具-->引用

Microsoft ActiveX Data Objects 2.X Library
作者: hongxing56    时间: 2005-12-21 23:55
出现问题

“运行时错误  only simple select queries are allowed in views”

到调试页面后  ADO.Execute为高亮
作者: gaoqiwen    时间: 2005-12-22 00:20
精简一下你的文件,上传上来帮你调试一下吧!
作者: wuaza    时间: 2005-12-22 00:26
gaoqiwen 是个高手。,
作者: hongxing56    时间: 2005-12-22 00:49
标题: 有文件的
对  对  传个文件

希望是  在窗体中选择要做统计的公司  然后点击按钮  执行查询  统计年份(即表中的‘记录年’)[attach]14876[/attach]

作者: fan0217    时间: 2005-12-22 02:44
没有记录年的表啊
作者: gaoqiwen    时间: 2005-12-22 16:36
上班了, 又来了

说高手真不敢当!

改了一下!

去除 “ORDER BY ”语句可以运行并能按升序排序;

但如想按降序排序,增加“ORDER BY ”语句就有此错误, 提示 “VIEWS 内只能有简单的 SELECT 查询”

不知为什么?

有待高手进行步改进!!

[attach]14878[/attach][em04][em04][em04]
作者: hongxing38    时间: 2005-12-22 17:15
密码找不到了
作者: hongxing38    时间: 2005-12-22 17:16
于是换了个名字
作者: hongxing38    时间: 2005-12-22 17:18
终于凑够3篇回复   可以下载附件了
作者: gaoqiwen    时间: 2005-12-22 18:17
再来一个!

排序问题解决了!

试试可否?

[attach]14883[/attach]
(需有 Microsoft ADOX Ext. 2.x引用,例子已引用2.7的,如丢失需重新引用)
作者: hongxing38    时间: 2005-12-22 18:36
非常感谢!  
作者: notereader    时间: 2006-6-28 00:08
;laskdjfmasdf
作者: notereader    时间: 2006-6-28 00:08
看看
作者: notereader    时间: 2006-6-28 00:08
我要下载
作者: fannky    时间: 2006-6-28 00:49
以下是引用hongxing56在2005-12-21 10:34:00的发言:





想在窗体中做一个组合框,用组合框选择表,然后执行查询。请教如何能实现?在sql里面,表名可以作为参数吗?

如果只能用vb,能写写代码吗,我不会vb。

好像我这个可以的

http://www.office-cn.net/forum.php?mod=viewthread&tid=42061
作者: xliangzai    时间: 2009-1-5 01:12
下载一次多少金币啊




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3