问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样实现vb6的combox三级联动

发布网友 发布时间:2023-08-17 03:42

我来回答

2个回答

热心网友 时间:2024-11-22 22:43

1、在列表的事件里设定spl查询语句从各表表中取数据即可,此方法关键在于查询条件的设定;
2、以下方法是纯数组实现*联动。
思路:定义一个结构体,然后定义一个结构体类型的数组;
结构体第一项为列表一的项;
结构体第二项为列表二的项目数组
结构体第三项为列表三的项目数组
这样以来,是结构体数组嵌套数组,3个列表形成连带关系,选择列表1的项时,列表2对应加载和列表1对应的结构体中第二项数据(是个数组),列表3亦然。
如果用三维数组表示也可以,但是没这样直观。
以下是联动示例,至于把数据从数据库读到数组里,那就不是此问题的关键,也不是难事。
Private Type data1
d_num As Long '列表1*******(示例中为数字)
d_val1(9) As Long '列表2*******(示例中为列表1的值+100+index)
d_val2(9) As Long '列表3******(示例中为列表2的值+10)
End Type
Dim test(9) As data1
Private Sub Combo1_Click()
Combo2.Clear: Combo2.Text = test(Combo1.ListIndex).d_val1(0)
For i = 0 To UBound(test(Combo1.ListIndex).d_val1())
Combo2.AddItem test(Combo1.ListIndex).d_val1(i) '列表2变动
Next i
Combo3.Clear: Combo3.Text = test(Combo1.ListIndex).d_val2(0)
For i = 0 To UBound(test(Combo1.ListIndex).d_val2())
Combo3.AddItem test(Combo1.ListIndex).d_val2(i) '列表3变动
Next i
End Sub
Private Sub Form_Load()
For i = 0 To 9 '初始化
test(i).d_num = i
For j = 0 To 9
test(i).d_val1(j) = test(i).d_num + 100 + j '列表2数组赋值
test(i).d_val2(j) = test(i).d_val1(j) + 10 '列表3数组赋值
Next j
Combo1.AddItem test(i).d_num '列表初始化
Combo2.AddItem test(0).d_val1(i): Combo3.AddItem test(0).d_val2(i) '列表初始化
Next i
Combo1.Text = test(0).d_num 'text显示
Combo2.Text = test(0).d_val1(0): Combo3.Text = test(0).d_val2(0) 'text显示
End Sub

热心网友 时间:2024-11-22 22:44

这个思路与方法如下:
我以学校里的年级、班级、学生*来举例:
一个完全中学学校有初中和高中6个年级,每个年级有若干个班级,每个班级有若干学生:
第1级类别:一张表,表名:年级表
字段名。就叫“年级”:
年级
具体有:初一年级,初二年级,初三年级,高一年级,高二年级,高三年级
第2级类别:6张表名:初一年级,初二年级,初三年级,高一年级,高二年级,高三年级
假设每个年级都是12个班级:没个表也只有一个字段,字段名为“班级名”
那么,在初一年级表里,如下:
班级名
初一(01)班
初一(02)班
初一(03)班
初一(04)班
初一(05)班
初一(06)班
初一(07)班
初一(08)班
初一(09)班
初一(10)班
初一(11)班
初一(12)班
其它个年级表里情况类似:
第3级类别:有6*12=72张表,每一张表对应某个年级的某个班,假设表名就用班级名,例如:
初一(01)班、初一(02)班、......初一(12)班
没个表里就一个字段,字段名为“姓名”,例如:初一(01)班这个表里可能是40个同学:
姓名
陈思伟
李小光
...
...
程序启动:
在Combo1里添加“年级表”里的字段“年级名”的所有记录值,即6个年级名。且Combo1.Text = Combo1.List(0),即“初一年级”
在Combo2里添加“初一年级表”里的字段“班级名”的所有记录值,即12个班级名。且Combo2.Text = Combo2.List(0),即“初一(01)班”
在Combo3里添加“初一(01)班”表里的字段“姓名”的所有记录值,即40个同学名。且Combo3.Text = Combo3.List(0),即“陈思伟”
接下来:
在Private Sub Combo2_Change()里,编写代码:
先清除Combo3的项目
然后根据Combo2.text的值,去打开数据对应年级数据表--Combo2.text表,将该表里的所有“姓名”添加到Combo3里,
随后使得Combo3.Text = Combo3.List(0)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机微信怎么换漂亮字体(苹果手机微信怎么换行输入) 有什么好用的app转换字体 手写转文字的软件 erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 VB6.0于三菱Q PLC数据连接的问题 踏板车突然启动熄火 豪爵悦星09年的车子,空转能加大油,骑就不行 豪爵踏星悦板车没拉力是什么原因? 豪爵125化油器底壳里面的三颗当中有一颗可以调节吗 测绘工程遥感好还是地信好? ...如果考研究生是地图学与地理信息系统好考还是摄影测量与遥感好_百度... ...考研的话,地图学与地理信息系统和摄影测量与遥感那个更好,从就业的... ...女生?大地测量学与测量工程,摄影测量与遥感 ,地图制图学与地理信息工... 地图学与地理信息系统好还是摄影测量与遥感好? 关键词蜡梅黄叶成因防治 梦见爬到高处很怕 有关微电子的问题。 电子术语hdl什么意思 求信息素变异txt 着急。!!!谁有「神龙斗士」国语版全集下载?最好是高清的!!迅雷... 小米手机的安全模式是什么意思 黄石一品园售楼营销中心电话是多少? 穿越小说,一女两男,男主一个叫磊,一个姓东方 湖北美尔雅房地产开发有限公司电话是多少? 为什么在VB6.0与PLC通信中编写了一个子程序,但是在调用的时候回提示By... 如何将 VB6.0 多个文本框数据写入PLC寄存器 VB6.0与三菱FX2N系列通讯时X如何强制置位复位?求高人指点。以置位复位X... vb6。prodave(PLC)。MyHex = field_read_ex6(109, 0, 316, 8, 100... 现需配置500ml,1mol/L的硫酸溶液,需用质量分数为98%、密度为1.84g/ml... 欲配制0.05mol/l硫酸溶液250ml,需用w=0.98,密度1.84kg/l的浓硫酸多少... 配制硫酸溶液的公式? 1.5mol硫酸,是什么意思了,用浓硫酸配怎么配 170.怎样用钼酸铵分光光度法测定水中的总磷? 我今年17岁了,男的,一米65,停止长高有3年了,还能不能再长10厘米啊... 从淘宝买东西,确认收货后会让你输支付宝密码以前没注意,今天看银行卡... 戴尔Inspiron 灵越 14R(Ins14RD-468)和戴尔Inspiron 灵越 14R(Ins14RD... 戴尔的14R-468和15RD-458那个更好一些… ...推荐用华硕的 但我不知道华硕的电脑怎么样 求高手指点 党参适合68岁老年人吃吗? 党参对男人有什么好处 王者荣耀马可波罗的大招怎么持续 红鼻子黄嘴一身黑是什么鸟 新帝密码生物肥料到底好不好? 新帝密码生物肥在棉花上怎样施用效果最好?