小循环,大学问,对循环感兴趣的不妨进来侃侃

980 2003-03-25 02:18:40
要做一个从题库随机抽取的程序,题库有40条记录,要抽出20条,单选表中的字段有一个是“是否选中”,为文本型,要为1是选中,为0为没选中,而且题不能重复,我下面有一个程序,运行后,提示错误“对象‘value’的方法field 失败。
Private Sub Form_Load()
cnn2.Execute "update 单选 set 是否选中=0" ’题库中"是否选中"清零
Dim j As Integer
Dim myrnd As Integer
j = 1
Do While j <= 20
Randomize
myrnd = Round(Rnd * 40)
Set myre = New ADODB.Recordset
myre.Open "select * from 单选 where ID=" & myrnd, cnn2, adOpenDynamic, adLockPessimistic
If myre!是否选中 = "0" Then
myre!是否选中 = "1"
myre.Update
j = j + 1
Else
j = j - 1
End If
Loop
end sub
此程序有些漏洞,谢各位完善
...全文
53 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
980 2003-03-25
  • 打赏
  • 举报
回复

揭贴
zhp80 2003-03-25
  • 打赏
  • 举报
回复
myre.Open "select * from 单选 where 是否选中 =" & "'1'", cnn2, adOpenDynamic, adLockPessimistic
minajo21 2003-03-25
  • 打赏
  • 举报
回复
是否选中是什么类型?这里的"1"是字符串
980 2003-03-25
  • 打赏
  • 举报
回复
谢谢
我再问一个问题
myre.Open "select * from 单选 where 是否选中 =" & "1", cnn2, adOpenDynamic, adLockPessimistic
”是否选中“为文本型,提示错误:数据类型不匹配
minajo21 2003-03-25
  • 打赏
  • 举报
回复
虫子说的对,要不然就myre.close set myre= nothing
zhp80 2003-03-25
  • 打赏
  • 举报
回复
Private Sub Form_Load()
cnn2.Execute "update 单选 set 是否选中='0'" ’题库中"是否选中"清零
Dim j As Integer
Dim myrnd As Integer
j = 1
Randomize
Set myre = New ADODB.Recordset
myre.Open "select * from 单选 " , cnn2, adOpenDynamic
with myre
Do While j <= 20
.movefirst
myrnd = Round(Rnd * 40)
.find "ID='" & cstr(myrnd) & "'"
if .field("是否选中").value = "0" Then
.field("是否选中").value = "1"
.Update
j = j + 1
End If
Loop
end sub
lxcc 2003-03-25
  • 打赏
  • 举报
回复
Set myre = New ADODB.Recordset移到循环外面!
minajo21 2003-03-25
  • 打赏
  • 举报
回复
cnn2.Execute " IF (select * from 单选 where ID=" & myrnd & ") =0 BEGIN update 单选 set 是否选中= 0 END " ,lngTemp

if lngTemp<>0 then
j=j+1
end if
980 2003-03-25
  • 打赏
  • 举报
回复
我全改了,不过还是原来的错误
minajo21 2003-03-25
  • 打赏
  • 举报
回复
loop之前加一个myre.close
愉快的登山者 2003-03-25
  • 打赏
  • 举报
回复
1.少引号:
cnn2.Execute "update 单选 set 是否选中='0'";
2.去掉:
Else
j = j - 1

7,785

社区成员

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

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