| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4502 人关注过本帖, 1 人收藏
标题:解决combo和text相互联动,combo内容变化,text内容也变化(二者内容不同)
只看楼主 加入收藏
qwer789
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2018-5-14
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:13 
解决combo和text相互联动,combo内容变化,text内容也变化(二者内容不同)
form中有三个控件combo1,text1,text2,另有Access数据表故障,表中有ID,类型,征兆,原因四个字段,使用ado控件,现已将其与数据库相连 类型链接combo1 征兆链接text1 原因链接text2 。
需求是,将表中的类型字段加入至combo1,当做combo1的下拉列表,选择combo1中的类型内容时,自动将征兆,原因字段中的内容加入到text1,text2控件中。请各位会的帮帮忙
搜索更多相关主题的帖子: combo text 内容 变化 类型 
2018-05-17 11:24
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
收藏
得分:0 
Private Sub Combo1_Click()
 Select Case combo1.text
 case "内容1"
    text1.text=combo1.text
 case "内容2"
    text2.text=combo1.text
  end select
end sub

2018-05-17 15:03
qwer789
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2018-5-14
收藏
得分:0 
回复 2楼 wds1
刚刚试了一下不可以,或许我没有表达清楚。类型的内容链接combo1, 征兆 原因的内容链接text1 和text2,他们三者内容不同。是一一对应的关系。下拉combo1(类型)中第一项内容,text1(征兆)和text2(原因)会自动显示出各自第一项内容。非常需要你的帮助
2018-05-17 20:10
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
需要使用Combo1的单击事件,下面代码可以解决,需要修改数据库名与数据表名:
程序代码:
Private Sub Combo1_Click()
Text1.Text = ""
Text2.Text = ""
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库名.mdb;Persist Security Info=False"   '修改为你的数据库名称
Adodc1.RecordSource = "select * from 数据表名 Where 类型='" & Combo1.Text & "'"   '修改为你的数据表名称
Adodc1.Refresh
    Text1.Text = Adodc1.Recordset.Fields("征兆")   '这个就不需要解释了吧
    Text2.Text = Adodc1.Recordset.Fields("原因")   '这个就不需要解释了吧
Adodc1.Recordset.Close
End Sub

Private Sub Form_Load()
Combo1.Text = ""
Combo1.Clear
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库名.mdb;Persist Security Info=False"   '修改为你的数据库名称
Adodc1.RecordSource = "select * from 数据表名"   '修改为你的数据表名称
Adodc1.Refresh
Do While Not Adodc1.Recordset.EOF
    Combo1.AddItem Adodc1.Recordset.Fields("类型")   '根据数据表的记录添加Combo1的类型值
Adodc1.Recordset.MoveNext
Loop
Adodc1.Recordset.Close
End Sub

请不要选我!!!
2018-05-17 21:30
qwer789
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2018-5-14
收藏
得分:0 
回复 4楼 ZHRXJR
首先谢谢您的指导。将代码运行之后,界面提醒form中的adodc1.refresh出错。自己百度之后修改记录源改为1-text,再次运行combo不显示文字,界面提醒“field not Updtable,bound property name:text,field name:故障类型”。自己百度找了好久都没找到相关的解决方法,只能再次求助你的帮助。
2018-05-18 10:02
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
回复 5楼 qwer789
“界面提醒form中的adodc1.refresh出错”说明你的连接语句有问题,这个代码我在其他程序中使用过多少次,没有任何问题的。关键是:
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库名.mdb;Persist Security Info=False"   '修改为你的数据库名称
Adodc1.RecordSource = "select * from 数据表名"   '修改为你的数据表名称
这二个语句,Microsoft.Jet.OLEDB.4.0;是连接2003以下的Access数据库的, & App.Path & 是说明 数据库名.mdb 数据库在你的程序根目录
select * from 数据表名 是连接数据表的SQL语句。
由于不知道你的数据库与数据表的名称,在这里用 数据库名、数据表名 代替,你修改只能修改这二个名称,不知道为什么出现text?

注意:这个是直接连接数据库的,不需要数据源。

[此贴子已经被作者于2018-5-18 10:31编辑过]


请不要选我!!!
2018-05-18 10:27
qwer789
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2018-5-14
收藏
得分:0 
回复 6楼 ZHRXJR
1-text是表示记录源1-adcmtext 忘记了前面几个字母。运行后combo显示下拉列的内容,点击列表框的任意一项,就处出现“field not Updtable,bound property name:text,field name:故障类型”的提醒。返回看数据库时,清空了数据表中类型这一列的内容呢?,没有实现 三者一一对应的关系(他们在一个表中,使用不了表间关系)
2018-05-18 11:22
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
以下是引用qwer789在2018-5-18 11:22:37的发言:

1-text是表示记录源1-adcmtext 忘记了前面几个字母。运行后combo显示下拉列的内容,点击列表框的任意一项,就处出现“field not Updtable,bound property name:text,field name:故障类型”的提醒。返回看数据库时,清空了数据表中类型这一列的内容呢?,没有实现 三者一一对应的关系(他们在一个表中,使用不了表间关系)

唉,怎么就不明白?你将你的数据库发给我,我给你调试。
是扩展名为mdb的文件!!

请不要选我!!!
2018-05-18 20:48
qwer789
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2018-5-14
收藏
得分:0 
回复 8楼 ZHRXJR
guzhang.rar (15.18 KB)
2018-05-19 08:24
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:20 
回复 9楼 qwer789
唉!连字段名都搞不清,你得好好学习一下基本知识了。
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
Private Sub Combo1_Click()
Text1.Text = ""
Text2.Text = ""
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\guzhang.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select * from guolu Where 故障类型='" & Combo1.Text & "'"
Adodc1.Refresh
    Text1.Text = Adodc1.Recordset.Fields("故障征兆")
    Text2.Text = Adodc1.Recordset.Fields("故障原因")
Adodc1.Recordset.Close
End Sub

Private Sub Form_Load()
Combo1.Text = ""
Combo1.Clear
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\guzhang.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select * from guolu"
Adodc1.Refresh
Do While Not Adodc1.Recordset.EOF
    Combo1.AddItem Adodc1.Recordset.Fields("故障类型")
Adodc1.Recordset.MoveNext
Loop
Adodc1.Recordset.Close
End Sub

请不要选我!!!
2018-05-20 08:24
快速回复:解决combo和text相互联动,combo内容变化,text内容也变化(二者内容不 ...
数据加载中...
 
   



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

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