FOR NEXT 问题。

XinJW 2013-01-05 10:06:35
数据库 TB
字段 AAA
数据 001
002
003
004
007
010

如何在单击cmdTest的时候,txtC里面的结果是 005 006 008 009
...全文
684 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2013-01-07
  • 打赏
  • 举报
回复
不能动数据库,那就只能查询后代码遍历了,效率会降低:

Set rs = cn.Execute("SELECT AAA FROM TB ORDER BY AAA")

i = 1

Do Until rs.EOF
    Do While Val(rs!AAA) > i
        Text1 = Text1 & Right("00" & CStr(i), 3) & " "
        i = i + 1
    Loop
    i = i + 1
    rs.MoveNext
Loop
这个测试过的。
XinJW 2013-01-07
  • 打赏
  • 举报
回复
of123 正解。
bcrun 2013-01-07
  • 打赏
  • 举报
回复
楼主这个问法,有点像智力抢答节目的主持人,我想了2分钟,不会。
worldy 2013-01-06
  • 打赏
  • 举报
回复
少了个end if sub cmdTest_click dim rs as adodb.recordset Set rs = cn.Execute("SELECT AAA,值字段 FROM TB")) with rs if .recordcount>0 then .movefirst while not .eof Text1 = Text1 & (rs(值字段) & "") .movenext wend end if end with end sub
worldy 2013-01-06
  • 打赏
  • 举报
回复
sub cmdTest_click dim rs as adodb.recordset Set rs = cn.Execute("SELECT AAA,值字段 FROM TB")) with rs if .recordcount>0 then .movefirst while not .eof Text1 = Text1 & (rs(值字段) & "") .movenext wend end with end sub
worldy 2013-01-06
  • 打赏
  • 举报
回复
sub cmdTest_click txtc="006 006 008 009" end sub
of123 2013-01-06
  • 打赏
  • 举报
回复
在库中建立一个与 TB 结构相同的临时表,如 temp。将 temp 先填充完整的数据(例如 '001' 至 '999'): Set rs = cn.Execute("SELECT AAA FROM temp WHERE AAA Not In (SELECT AAA FROM TB) AND AAA < (SELECT Max(AAA) FROM TB)) Text1 = "" Do Until rs.EOF Text1 = Text1 & rs!AAA & " " Loop
XinJW 2013-01-06
  • 打赏
  • 举报
回复
of123 的方法不可行。麻烦了。worldy 的方法是算得最后一个数码。不对吧。
of123 2013-01-06
  • 打赏
  • 举报
回复
对不起,填充 Text 忘记移动记录指针 Do Until rs.EOF Text1 = Text1 & rs!AAA & " " rs.MoveNext Loop
XinJW 2013-01-06
  • 打赏
  • 举报
回复
晕。要从数据库读。

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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