| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 739 人关注过本帖
标题:请教一个VB数据库搜索问题
只看楼主 加入收藏
nfsuperman
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-11-20
收藏
 问题点数:0 回复次数:3 
请教一个VB数据库搜索问题
程序是让d等于data3表中的某一数字,再在data2中搜索与这个数字匹配的记录,程序如下(数据库为access):
(假设其中的e=3),但是运行后输出的是3个一样的值(该值是第一记录的值),正常的话,应该分别输出3个字段不同的值,经测试所得d是正确的,问题是在data2中没有按要求搜索,小弟不才,还望高人指点!
Dim a, b, c, nums(2, 4), dong(4), yun(4) As Double
Dim d, e, g As Integer
a = Text1.Text
b = Text2.Text
Data3.Recordset.MoveLast
e = Data3.Recordset.RecordCount
Data3.Recordset.MoveFirst
For i = 1 To e
d = Data3.Recordset.Fields(4)
Data2.Recordset.FindFirst "pailie_xuhao like 'd'"
For j = 1 To 4
dong(j) = Data2.Recordset.Fields(j + 7)
yun(j) = Data2.Recordset.Fields(j + 11)
nums(1, j) = a * dong(j)
nums(2, j) = b * yun(j)
Next
Data3.Recordset.MoveNext
msgbox dong(1)
Next
搜索更多相关主题的帖子: 数据库 搜索 
2008-11-20 22:32
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
收藏
得分:0 
不用这样MoveFirst又MoveLast的,动来动去看程序都麻烦
Data2.Recordset.FindFirst "pailie_xuhao like 'd'"应该写成
Data2.Recordset.FindFirst "pailie_xuhao like '%' & d & "%'"
2008-11-20 23:56
nfsuperman
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-11-20
收藏
得分:0 
非常感谢,问题就是出在这里了,我把d定义成和字段名中一样的类型,然后代码换成:Data2.Recordset.FindFirst "pailie_xuhao like'" & d & "'",就可以了。
另外,附上如下信息,希望对进来的新手们有些用处:日期类型的字段,变量两边加上“#”;文本类型的字段,变量两边加“‘”(单引号),&&中括起来表示其中的东东为变量
2008-11-21 14:31
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
收藏
得分:0 
呵呵  楼上真不错 问题解决还说点经验,都有这样的觉悟就好了!
我再补充一点点吧
Access日期类型变量要用#,而SQL SERVER直接用单引号就行了
&是作字符串连接,目的是将一个变量放到SQL语句中去,生成动态的SQL查询语句
2008-11-21 14:36
快速回复:请教一个VB数据库搜索问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014565 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved