如何解决数据的读取!

ramiro 2006-02-15 04:56:23
form上有两个控件combo1和combo2,想从数据库中取出来两个字段的数据,分别是这两个字段department和name,combo1对应的是department,combo2对应的是name,combo1通过click事件变动,如何使combo2也跟着变动.
...全文
101 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
faysky2 2006-02-18
  • 打赏
  • 举报
回复
用rs.Open语句的时候,需要指定它的数据库连接对象

rs.Open "sql语句",cn '<--------------cn就是数据库连接对象,而且,cn必须是已经打开了的
ramiro 2006-02-17
  • 打赏
  • 举报
回复
我是已经建立了连接了.
在窗体加载的时候我添加了combo1,在点击了combo2的时候我执行这条SQL语句("select distinct name from 表 where department='" & Combo1.Text & "'")

系统提示 rs.Open "select budget from subject where department='" & Combo1.Text & "'"
这句错误. 在此上下文中它可能已被关闭或无效!
faysky2 2006-02-16
  • 打赏
  • 举报
回复
上面只是给出了主要代码,需要补充变量的定义,数据库的连接才能正确运行

首先得引用ADO(工程/引用/Microsoft AcitateX Data Object 2.X Library)

dim cn as new adodb.connectionstring

Private sub Form_Load()
cn.CursorLocation=adUseClient
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Test.mdb;User Id=admin;Password=;"
End Sub

上面是连接Access库的代码,App.Path 表示当前工程所在的目录


Private Sub Combo1_DropDown()
......
End Sub



Private Sub Combo2_DropDown()
......
End Sub

feiyun0112 2006-02-16
  • 打赏
  • 举报
回复
Private Sub Combo1_click()
Dim rs As New adodb.Recordset
Set rs = cn.Execute("select distinct name from 表 where department='" & Combo1.Text & "'")
Combo2.Clear
While Not rs.EOF
Combo2.AddItem rs(0) & ""
Wend
rs.Close
Set rs = Nothing
End Sub
ramiro 2006-02-15
  • 打赏
  • 举报
回复
是在这个事件过程中做吗?
Private Sub Combo2_DropDown()

出错了!提示说联接无法执行此操作!在此上下文中它可能已被关闭或无效!
bbhere 2006-02-15
  • 打赏
  • 举报
回复
rs.open "select name from Table where department = '" & combo1.text & "'" ,cnn
combo1.clear

if not rs.eof then
combo2.additem rs.fileds("name")
rs.movenext
end if
faysky2 2006-02-15
  • 打赏
  • 举报
回复
主要代码(自己把代码补完整):
Private Sub Combo1_DropDown()
Dim rs As New adodb.Recordset
Set rs = cn.Execute("select distinct department from 表")
Combo1.Clear
While Not rs.EOF
Combo1.AddItem rs(0) & ""
Wend
rs.Close
Set rs = Nothing
End Sub

Private Sub Combo2_DropDown()
Dim rs As New adodb.Recordset
Set rs = cn.Execute("select distinct name from 表 where department='" & Combo1.Text & "'")
Combo2.Clear
While Not rs.EOF
Combo2.AddItem rs(0) & ""
Wend
rs.Close
Set rs = Nothing
End Sub

ZOU_SEAFARER 2006-02-15
  • 打赏
  • 举报
回复
rs.open "select name from Table where department = '" & combo1.text & "'" ,cnn
Me.Combo1.Clear

if not rs.eof then
combo2.additem rs.fileds("name")
rs.movenext
end if

1,217

社区成员

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

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