Office中国论坛/Access中国论坛
标题:
为何不能建立查询?
[打印本页]
作者:
tof
时间:
2003-7-31 08:05
标题:
为何不能建立查询?
Function 宏3()
On Error GoTo 宏3_Err
stsql = " SELECT A11013.字段10, A11013.字段11 " _
& " FROM A11013 " _
& " WHERE (((A11013.字段10)=[帐号])); "
DoCmd.RunSQL (stsql)
宏3_Exit:
Exit Function
宏3_Err:
MsgBox Error$
Resume 宏3_Exit
End Function
作者:
阿罗
时间:
2003-7-31 08:33
晕。出错信息是什么? 你的"建立查询"是什么意思?
通常,你可以把结果集赋予一个recordset对象,然后操作数据。按照目前所的信息,只能提供这个意见。
作者:
阿罗
时间:
2003-8-2 17:18
我刚刚收到你的pm,因为我从来没用过宏,所以临时看了一下,下面是我的看法:
这里面有一个基本问题,就是输出结果集。如果你使用DoCmd.RunSQL sqlString, 那么就要把sql语句的运行结果放到一个结果集中,方能看到运行的结果。在宏的用法中,同样的道理。
下面就来讲一讲如何做:
1)如果用宏:在宏的runSql操作中,没有单纯的select,而有select....into,就是把结果放到另外一个表中。你会得到运行的结果,但是你不可能看到表的样子。
2)如果用宏要打开表,作一些查询,那么有很多其他的操作可以用,如我贴图的例子。
至于为什么会像1) 2)这样?因为,如果你单纯要看一些查询的结果,那就是打开表做查询操作,也就是2)。如果你有2)不能做的事情,那么用1)。不知道这么讲清不清楚?
3)如果用VBA,那么就要定义一个recordSet变量例如rstTest,用rstTest.Open "your sql string here"来把你的sql string中执行的结果放到rstTest中,然后用rstTest的其他方法和属性来操作这个结果。但是,在单机应用中,这是舍近求远的做法。
在我看来,如果有可能,应该尽量用access的查询设计完成这些工作。
作者:
阿罗
时间:
2003-8-2 17:20
在宏中作openTable操作
作者:
阿罗
时间:
2003-8-2 17:21
[attach]1322[/attach]
作者:
阿罗
时间:
2003-8-2 17:22
[attach]1323[/attach]
作者:
tof
时间:
2003-8-24 23:51
谢谢!问题已经解决,方法在EXCEL HOME中发表,再次感谢!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3