ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1487|回复: 10

[求助] 难?难?难?继续求助大侠们

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-1-18 11:27 | 显示全部楼层 |阅读模式
本帖最后由 waw751115 于 2023-1-20 08:58 编辑

恳请大侠们看看:请教ComboBox1下拉框怎样自动获取access数据库表中“判定品牌”字段下的所有数据(去重复),请教ComboBox2下拉框怎样匹配ComboBox1来自动获取access数据库表中“判定车系”字段下的所有数据(去重复),且当选中ComboBox1下拉框某一数据时,ComboBox2下拉框的数据要关联ComboBox1的数据?意思就是当我在ComboBox1下中选中比亚迪时,ComboBox2下拉框里面的数据就全部显示比亚迪的所有车系(以比亚迪三个字开头的)。ComboBox2数据的关联ComboBox1,就是所有以ComboBox1开头的ComboBox2的数据。
窗体在Excel表格中。祝大侠们新年快乐!
1.png

123.part01.rar

2 MB, 下载次数: 15

123.part02.rar

2 MB, 下载次数: 8

123.part03.rar

968.85 KB, 下载次数: 7

TA的精华主题

TA的得分主题

发表于 2023-1-18 12:36 | 显示全部楼层
本帖最后由 micch 于 2023-1-18 13:36 编辑

需要写SQL链接数据库,然后就省事了。 启动时对品牌去重提取,车系做一个查询SQL提取。


image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-18 12:54 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
micch 发表于 2023-1-18 12:36
需要写SQL链接数据库,然后就省事了。 启动时对品牌去重提取,车系做一个查询SQL提取。

可以帮忙写一个吗?

TA的精华主题

TA的得分主题

发表于 2023-1-18 13:04 | 显示全部楼层
  1. Dim Cnn As Object
  2. Dim Rst As Object
  3. Private Sub ComboBox1_Change()
  4.     Research Me.ComboBox2, "select distinct 判定车系 from sheet1 where 判定品牌 = '" & Me.ComboBox1.Text & "'"
  5. End Sub
  6. Private Sub UserForm_Initialize()
  7.     Set Cnn = CreateObject("adodb.connection")
  8.     Set Rst = CreateObject("adodb.recordset")
  9.     With Cnn
  10.         .Provider = "microsoft.ace.oledb.12.0"
  11.         .Open "Data Source=" & ThisWorkbook.Path & "\123.accdb" & ";Jet OLEDB:DataBase Password=tf751115;"
  12.     End With
  13.     Research Me.ComboBox1, "select distinct 判定品牌 from sheet1"
  14. End Sub
  15. Private Sub UserForm_Deactivate()
  16.     Cnn.Close
  17.     Set Cnn = Nothing
  18.     Set Rst = Nothing
  19. End Sub
  20. Private Function Research(obj, sql)
  21.     Rst.Open sql, Cnn, 3, 2
  22.     obj.Clear
  23.     For i = 0 To Rst.RecordCount - 1
  24.        obj.AddItem Rst.Fields(0).Value
  25.        Rst.movenext
  26.     Next
  27.     Rst.Close
  28. End Function
复制代码

TA的精华主题

TA的得分主题

发表于 2023-1-18 14:50 | 显示全部楼层
不会accdb,所以做了一个从sheet1读取数据的二级联动菜单,供参考。
如果没用,请忽视。

从sheet1读取数据的二级菜单联动.rar

22.71 KB, 下载次数: 4

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-18 15:25 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-18 15:53 | 显示全部楼层
本帖最后由 waw751115 于 2023-1-18 18:39 编辑

您好,access数据库sheet1表中原来只有2022年12月的数据,所有我刚试了代码没有问题,但我刚测试access数据库里3年来的所有数据时,就提示错误了?是不是数据量过大,ComboBox下拉框显示就会报错啊?
已重新上传附件,麻烦大侠再帮我看一下,多谢大侠!恳请帮助!
1.png

123.part01.rar

2 MB, 下载次数: 5

123.part02.rar

2 MB, 下载次数: 5

123.part03.rar

976.64 KB, 下载次数: 6

TA的精华主题

TA的得分主题

发表于 2023-1-18 20:24 | 显示全部楼层
用我这个试试,好用了给个鲜花呗

123.rar

23.02 KB, 下载次数: 4

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-19 09:27 | 显示全部楼层
本帖最后由 waw751115 于 2023-1-19 12:29 编辑
洋务德雷 发表于 2023-1-18 20:24
用我这个试试,好用了给个鲜花呗

谢谢您的讲解,我想问一下:我在窗体上另外建立一个sql查询时,怎样打开数据库啊? rs.Open sql, cn, 3, 2这个不行啊?查询不到?麻烦告知一下?我查询的值,不是数组!还有怎样送鲜花啊?一定送。谢谢您

TA的精华主题

TA的得分主题

发表于 2023-1-21 14:36 | 显示全部楼层
本帖最后由 洋务德雷 于 2023-1-21 14:38 编辑
  1. arr = SqlACCESS.SQlArrNoTitle(sql)
复制代码


不用建立链接,只要用这句就可以获取数组数据。

点击右侧评分就可以送鲜花。如果还要深入学习,加我的V,即可。查询我的信息即可看到我的V

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 16:41 , Processed in 0.035759 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表