以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  VBA连接数据库的问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=55877)

--  作者:jianshi2020
--  发布时间:2013/8/28 16:37:35
--  VBA连接数据库的问题

http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=30622&star=1

看着里面的教程后,我自己写了一段查询的代码

 

sub sjk_button_click()
  call DataInsert()
  Set adoConn=CreateObject("Adodb.Connection")
  \'连接数据库(数据指向是金字塔安装目录下的test.mdb,也可以自己更改想要的路径)
   adoConn.Open "Provider=MicroSoft.Jet.OLEDB.4.0;Data Source=test.mdb"
  strSqlread="select max(id) as stockdate,price as 价格,sum(buyvol) as 主买,sum(vol) as 主卖,round(sum(buyvol)/sum(vol),3) as 竞买率 from ada group by price; "
  Set rstTmp=CreateObject("ADODB.RecordSet")
   rstTmp.open strSqlread,adoConn
   aa=rstTmp("价格")
   sjk_text1=aa
   msgbox aa
  end sub

 

这里当我点击按钮结束后,为什么只出来第一个数据,而之后的97条记录都没有查到?

 

 

 


--  作者:王锋
--  发布时间:2013/8/28 16:56:40
--  

你要使用循环语句来读取数据库表的


--  作者:jianshi2020
--  发布时间:2013/8/29 8:43:59
--  

用FOR EACH怎么迭代RStTMP 啊?

 


--  作者:jianshi2020
--  发布时间:2013/8/29 8:59:23
--  

While Not rstTmp.EOF

aa=rstTmp("价格")
       sjk_text1=aa
   msgbox aa
   Wend

这个和FOR 循环都用了,

while不但是死循环,而且的出来的永远是第一条数据。

for 循环了98次,并且得出来的也是第一条数据,根本没有往下读取。

AA=RSTMP(\'\')这句话后面还需要加什么?


--  作者:jianshi2020
--  发布时间:2013/8/29 9:44:05
--  
用RSTTMP.MOVENEXT,已经查到了