如果不用SQL.有沒有辦法?

liu_nike 2004-08-25 09:24:51
如果要在數据庫mydata的數据表mytable的myfield字段的所有記錄中查找一個myfind的記錄.找到后要將光標停在該記錄上. 我用的是ADO+Datagrid打開的數据庫. 如果不用SQL.有沒有辦法?
...全文
138 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
raidenzxx 2004-09-01
  • 打赏
  • 举报
回复
我靠!!!!!!!!!!分呢???????????????????????

没分我的帐号可要喝西北风了......
liu_nike 2004-08-25
  • 打赏
  • 举报
回复
謝謝各位了. 結帳!
raidenzxx 2004-08-25
  • 打赏
  • 举报
回复
Datagrid.SelBookmarks.Add
让该记录格为被选中状态
lgs666 2004-08-25
  • 打赏
  • 举报
回复
Find 方法 (ADO)


搜索 Recordset 中满足指定条件的记录。如果条件符合,则记录集位置设置在找到的记录上,否则位置将设置在记录集的末尾。

语法

Find (criteria, SkipRows, searchDirection, start)

参数

criteria 字符串,包含用于搜索的指定列名、比较操作符和值的语句。

SkipRows 可选,长整型值,其默认值为零。它指定当前行或 start 书签的位移以开始搜索。

searchDirection 可选的 SearchDirectionEnum 值,指定搜索应从当前行还是搜索方向上的下一个有效行开始。其值可为 adSearchForward 或 adSearchBackward。搜索停止在记录集的开始还是末尾则取决于 searchDirection 值。

start 可选,变体型书签,用作搜索的开始位置。

说明

criteria 中的“比较操作符”可以是“>”(大于)、“<”(小于)、“=”(等于)或“like”(模式匹配)。

criteria 中的值可以是字符串、浮点数或者日期。字符串值以单引号分隔(如“state = 'WA'”)。日期值以“#”(数字记号)分隔(如“start_date > #7/22/97#”)。

如“比较操作符”为“like”,则字符串“值”可以包含“*”(某字符可出现一次或多次)或者“_”(某字符只出现一次)。(如“state like M_*”与 Maine 和 Massachusetts 匹配。)
bciAnson 2004-08-25
  • 打赏
  • 举报
回复
楼上的,这样的效率太低了。试问30万的纪录,你查的在第29万,程序的开销太大了。
你可以用locate来定位纪录.
liu_nike 2004-08-25
  • 打赏
  • 举报
回复
Dim myfind As String
myfind = InputBox("Please enter the string", "Find")
Adodc1.Recordset.MoveFirst
Do While Adodc1.Recordset.EOF <> True
If Adodc1.Recordset.Fields(list2.text).Value = myfind Then
MsgBox "Found"
Exit Do
End If
Adodc1.Recordset.MoveNext
Loop

最后我用以上的程序搞定了. 請問如何將查到后的記錄呈現被選的狀態. 也就是該記錄格被選.
yijiansong 2004-08-25
  • 打赏
  • 举报
回复
locate
bboos 2004-08-25
  • 打赏
  • 举报
回复
"select myfield from mytable where myfield=myfind"
'不用SQL是指什么意思啊??
loverpyh 2004-08-25
  • 打赏
  • 举报
回复
1

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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