在线等待!access 如何执行字符串查询

ACKAI 2008-08-27 04:21:07
各位:这有一小例子

Private Sub Command8_Click()
Dim strsql, strtemp As String
strsql = "select * from dbo_M费用申请 "

请问如何执行这个字符串查询。用哪个命令。
...全文
279 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACKAI 2008-08-28
  • 打赏
  • 举报
回复
rs的数据量太大,用文本框显示合适吗?
刚刚用了下面语句:
Forms!报告浏览.List14.RowSourceType="Table/Query"
Forms!报告浏览.List14.RowSource= rs
提示类型不匹配,我修改了一下Forms!报告浏览.List14.RowSource= rs(1)
结果还是什么都不显示,不知道是什么原因?

还要求教有什么好的方法能够把Rs中的数据全都显示出来,rs中的数据是n条促销报告的时间、区域、费用等信息
谢谢!
wwwwb 2008-08-28
  • 打赏
  • 举报
回复
最好用文本框控件,设置数据源,

引用DAO3.6
Set ff = CurrentDb.OpenRecordset("dbo_newtt", dbOpenDynaset, dbSeeChanges)
Do While Not ff.EOF
MsgBox ff(0)
ff.MoveNext
Loop
也可以
fzcheng 2008-08-28
  • 打赏
  • 举报
回复
Forms!报告浏览.List14.RowSourceType="Table/Query"
Forms!报告浏览.List14.RowSource= rs
ACKAI 2008-08-28
  • 打赏
  • 举报
回复
wwwwb 我在窗体myform上添加了一个List1用来显示rs中的数据,全部显示
能不能通过类似List1.RecordSourse=rs的语句,达到目的,试了一下提示说不支持该属性或者方法。
该怎么解决呢?俺的语句是
Set rs = New ADODB.Recordset
rs.Open strsql, cnn
Forms!报告浏览.List14.RecordSource = rs
谢谢!
wwwwb 2008-08-28
  • 打赏
  • 举报
回复
再依次设置控件的数据源就OK了。
wwwwb 2008-08-28
  • 打赏
  • 举报
回复
Set Me.Form.Recordset = rs
wwwwb 2008-08-28
  • 打赏
  • 举报
回复
你将窗体的数据源设置为rs即可
ACKAI 2008-08-28
  • 打赏
  • 举报
回复
我通过rs.Open strsql, cnn把所需的数据读过来了,可是该怎么显示呢
通过msgbox rs(1) 一次就显示一个记录,能不能全部显示出来呢,就像普通的查询一样?
ccssddnnhelp 2008-08-27
  • 打赏
  • 举报
回复

[Quote]======= L8 - 2008-08-27 16:51:23 - fzcheng --- 0 =====================================
上面是连接access表
连接SQL
VB codedim cnn As ADODB.Connection '连接数据库的Connection对象dim rs As ADODB.Recordset '保存结果集的Recordset对象dim ConnectionString asstring
ConnectionString ="Provider=SQLOLEDB;Data Source="& ServerName &";Initial Catalog="&&";User ID="&&";Password="&&";"'设置连接字符串ConnectionString属性Set cnn =New ADODB.Connection
'设置连接字符串ConnectionString属性cnn.ConnectionString = ConnectionString
rs.open "select * from biao"DOwhilenot rs.eof
//操作
loop [/Quote]

.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
WWWWA 2008-08-27
  • 打赏
  • 举报
回复
引用DAO3.6
Set ff = CurrentDb.OpenRecordset("dbo_newtt", dbOpenDynaset, dbSeeChanges)
Do While Not ff.EOF
MsgBox ff(0)
ff.MoveNext
Loop
ACKAI 2008-08-27
  • 打赏
  • 举报
回复
thank u!fzcheng
fzcheng 2008-08-27
  • 打赏
  • 举报
回复
上面是连接access表
连接SQL

dim cnn As ADODB.Connection '连接数据库的Connection对象
dim rs As ADODB.Recordset '保存结果集的Recordset对象
dim ConnectionString as string
ConnectionString = "Provider=SQLOLEDB;Data Source=" & ServerName & ";Initial Catalog=" & & ";User ID=" & & ";Password=" & & ";" '设置连接字符串ConnectionString属性
Set cnn = New ADODB.Connection
'设置连接字符串ConnectionString属性
cnn.ConnectionString = ConnectionString
rs.open "select * from biao"
DO while not rs.eof
//操作
loop



自己百度找下吧..
ACKAI 2008-08-27
  • 打赏
  • 举报
回复
是链接表,都是链接在SQL Server上的,不知道有什么影响?
WWWWA 2008-08-27
  • 打赏
  • 举报
回复
你是用链接表?
ACKAI 2008-08-27
  • 打赏
  • 举报
回复
报错哎!
提示说当访问一个带有IDENTITY列的SQL SERVER表时,必须使用Opendatabase的dbSeeChanges选项。
我的程序如下:
Dim strsql, strtemp As String
Dim ff As DAO.Recordset
strsql = "select * from dbo_M费用申请 "
Set ff = CurrentDb.OpenRecordset(strsql)
Do While Not ff.EOF()
MsgBox ff(0)
ff.MoveNext
Loop
WWWWA 2008-08-27
  • 打赏
  • 举报
回复
NO,直接运行,打开一个记录集
set ff=CURRENTDB.OPENRECORDSET(STRSQL)
do while not ff.eof()
msgbox ff(0)
ff.movenext
loop
fzcheng 2008-08-27
  • 打赏
  • 举报
回复
Dim rst as dao.recordset
set rst=Currentdb.OpenRecordset("select* from dbo_M费用申请")
取字段是rst!fieldName
你试下
ACKAI 2008-08-27
  • 打赏
  • 举报
回复
小弟太初级了
是不是需要定义一下CURRENTDB?
WWWWA 2008-08-27
  • 打赏
  • 举报
回复
CURRENTDB.OPENRECORDSET(STRSQL)

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧