data在数据库中查询记录?

sbzx001 2010-07-19 08:21:35
用data控件连接数据库当前目录下的数据库xsda.mdb,数据库中有一个表 名为 xsxx 有字段 xh , xm , xb , nl , bj ,cj 怎么查询成绩(cj)为 80 。查询结果只要把这些学生的姓名显示在文本筐或标签中,清高手帮忙。
...全文
164 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
ldy888 2010-07-24
  • 打赏
  • 举报
回复
确实不起作用。可能有些属性的设置问题,现在DAO用的人少了,
都是用ADO 来处理数据库的,楼主改用 ADODC 控件吧。
sbzx001 2010-07-24
  • 打赏
  • 举报
回复
Me.Data1.Recordset.Filter = "cj=80" 不起作用??
zdingyun 2010-07-24
  • 打赏
  • 举报
回复
DATA控件是MS随VB5开发的数据访问控件,目前版本下的VB不支持Filter.VB6的DAO数据控件或ADO数据控件都只支持RecordSource属性用SQL语句.
这样的语句"select * from xsxx where xm='xxx'"就是SQL语句.
sbzx001 2010-07-23
  • 打赏
  • 举报
回复
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "\xsda.mdb"
Data1.RecordSource = "select * from xsxx where cj=80"
Data1.Refresh
End Sub

能否查字符串项目,比如查xm="***" , Data1.RecordSource = "select * from xsxx where cj=80" ,这句应怎样改
sbzx001 2010-07-23
  • 打赏
  • 举报
回复
感谢各位,我用 Data1.RecordSource = "select * from xsxx where xm='xxx'" 这种形式成功了。我想知道为什么以下不行
Me.Data1.Recordset.Filter = "cj=80"
Me.Data1.Recordset.MoveFirst
Do Until Me.Data1.Recordset.EOF
text1=text1 & Me.Data1.Recordset!xm & vbcrlf
Me.Data1.Recordset.MoveNext
Loop
显示全部姓名?怎样才能能显示Me.Data1.Recordset.Filter = "cj=80"
filter 怎么不起作用,再次谢谢热心帮忙指导
chinaboyzyq 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 sbzx001 的回复:]
能否查字符串项目,比如查xm="***" , Data1.RecordSource = "select * from xsxx where cj=80" ,这句应怎样改
[/Quote]

Data1.RecordSource = "select * from xsxx where xm='xxx'"
chinaboyzyq 2010-07-23
  • 打赏
  • 举报
回复

Private Sub Form_Load()
Text1 = ""
Data1.Connect = "Access 2000;"
Data1.DatabaseName = App.Path & "\xsda.mdb"
Data1.RecordSource = "select xm from xsxx where cj=80"
Data1.Refresh
While Not Data1.Recordset.EOF
Text1 = Text1 & Data1.Recordset.Fields("xm") & " "
Data1.Recordset.MoveNext
Wend

End Sub
king06 2010-07-23
  • 打赏
  • 举报
回复
上面写好语句之后用一下filter不就可以了吗
Data1.Recordset.Filter = "xm=" & strName
ewqer 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 sbzx001 的回复:]
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "\xsda.mdb"
Data1.RecordSource = "select * from xsxx where cj=80"
Data1.Refresh
End Sub

能否查字符串项目,比如查xm="……
[/Quote]
改成:
Data1.RecordSource = "select * from xsxx where xm='***'"
sbzx001 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 sbzx001 的回复:]
依然全显示,郁闷,我试验库里只有五条记录,两条cj=80的,怎么还是把五条记录的名字全显示出来了,我在工具栏里加的控件DATA1,加载数据库及表都是在DATA1的属性里设的
[/Quote]
望高手试一试,怎样才能行

sbzx001 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zdingyun 的回复:]
引用 11 楼 sbzx001 的回复:
依然全显示,郁闷,我试验库里只有五条记录,两条cj=80的,怎么还是把五条记录的名字全显示出来了,我在工具栏里加的控件DATA1,加载数据库及表都是在DATA1的属性里设的

LZ:在完成上述设置后,在文本框属性页对DataSource和DataField设置,然后删除Data1控件,再添加Data1控件.

VB code

Private……
[/Quote]

依然步行,显示找不到复件数据库
zdingyun 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 sbzx001 的回复:]
依然全显示,郁闷,我试验库里只有五条记录,两条cj=80的,怎么还是把五条记录的名字全显示出来了,我在工具栏里加的控件DATA1,加载数据库及表都是在DATA1的属性里设的
[/Quote]
LZ:在完成上述设置后,在文本框属性页对DataSource和DataField设置,然后删除Data1控件,再添加Data1控件.

Private Sub Form_Load()
Data1.DatabaseName = App.Path & "\复件 wd.mdb"
Data1.RecordSource = "select * from xsxx where cj=80"
Data1.Refresh
End Sub
zdingyun 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 sbzx001 的回复:]
引用 12 楼 zdingyun 的回复:
引用 11 楼 sbzx001 的回复:
依然全显示,郁闷,我试验库里只有五条记录,两条cj=80的,怎么还是把五条记录的名字全显示出来了,我在工具栏里加的控件DATA1,加载数据库及表都是在DATA1的属性里设的

LZ:在完成上述设置后,在文本框属性页对DataSource和DataField设置,然后删除Data1控件,再添加Data1控件……
依然不行,显示找不到复件数据库
[/Quote]
修改数据库名称.
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "\xsda.mdb"
Data1.RecordSource = "select * from xsxx where cj=80"
Data1.Refresh
End Sub
sbzx001 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 asftrhgjhkjlkttttttt 的回复:]
引用 1 楼 lyserver 的回复:
使用Filter属性,比如:
Me.Data1.Recordset.Filter = "cj=80"
Me.Data1.Recordset.MoveFirst
Do Until Me.Data1.Recordset.EOF
'记录显示代码略
Me.Data1.Recordset.MoveNext
Loop

顶这个,不过新手需要更详细的,……
[/Quote]


孤独剑 ,你的代码我试了,text1里把所有学生的名字都显示了,没起到选择作用?怎么回事?
sbzx001 2010-07-21
  • 打赏
  • 举报
回复
依然全显示,郁闷,我试验库里只有五条记录,两条cj=80的,怎么还是把五条记录的名字全显示出来了,我在工具栏里加的控件DATA1,加载数据库及表都是在DATA1的属性里设的
注册ID 2010-07-21
  • 打赏
  • 举报
回复
select
学习
jhone99 2010-07-21
  • 打赏
  • 举报
回复
Me.Data1.Recordset.Filter = "cj=80"
Me.Data1.Refresh '加这个看看
Me.Data1.Recordset.MoveFirst

Do Until Me.Data1.Recordset.EOF
text1=text1 & Me.Data1.Recordset!xm & vbcrlf
Me.Data1.Recordset.MoveNext
Loop
sbzx001 2010-07-21
  • 打赏
  • 举报
回复
Me.Data1.Recordset.Filter = "cj=80"
Me.Data1.Recordset.MoveFirst
Do Until Me.Data1.Recordset.EOF
text1=text1 & Me.Data1.Recordset!xm & vbcrlf
Me.Data1.Recordset.MoveNext
Loop
显示全部姓名?怎样才能能显示Me.Data1.Recordset.Filter = "cj=80"
jiyunang 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sbzx001 的回复:]
引用 3 楼 asftrhgjhkjlkttttttt 的回复:
引用 1 楼 lyserver 的回复:
使用Filter属性,比如:
Me.Data1.Recordset.Filter = "cj=80"
Me.Data1.Recordset.MoveFirst
Do Until Me.Data1.Recordset.EOF
'记录显示代码略
Me.Data1.Recordset……
[/Quote]
以上只是显示数据,
要做选择的话
在Loop以后再做一个选择的动作
孤独剑_LPZ 2010-07-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lyserver 的回复:]
使用Filter属性,比如:
Me.Data1.Recordset.Filter = "cj=80"
Me.Data1.Recordset.MoveFirst
Do Until Me.Data1.Recordset.EOF
'记录显示代码略
Me.Data1.Recordset.MoveNext
Loop
[/Quote]
顶这个,不过新手需要更详细的,补全一下吧
Me.Data1.Recordset.Filter = "cj=80"
Me.Data1.Recordset.MoveFirst
Do Until Me.Data1.Recordset.EOF
text1=text1 & Me.Data1.Recordset!xm & vbcrlf
Me.Data1.Recordset.MoveNext
Loop
加载更多回复(4)

1,451

社区成员

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

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