Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4570|回复: 4

请教各位老师 查询数据库生成下拉菜单问题

[复制链接]
发表于 2013-5-22 22:20 | 显示全部楼层 |阅读模式
各位老师 请教如何修改下面的代码 以实现将查询出来的结果生成一个下拉列表,同时选择下拉列表当中的选项还能触发新的数据查询,并把结果显示出来呢??

Public Function QueryToCell(sql$, Optional rng As Excel.Range, _
        Optional ByVal sqlInfo$ = "this", _
        Optional withHeader As Boolean = True)
    sqlInfo = GetSQLInfo(sqlInfo)
    If cnn Is Nothing Then Set cnn = CreateObject("ADODB.Connection")
    If rst Is Nothing Then Set rst = CreateObject("ADODB.Recordset")
    cnn.Open sqlInfo
    rst.Open sql, cnn
   
    Set rng = rng.Cells(1, 1)
   
    If withHeader = True Then
        Dim i As Long
        For i = 0 To rst.Fields.Count - 1
            rng.Offset(0, i).Value = rst.Fields(i).Name
        Next
        rng.Offset(1, 0).CopyFromRecordset rst
    Else
        rng.CopyFromRecordset rst
    End If
    rst.Close
    cnn.Close
End Function
发表于 2013-5-22 22:41 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2013-5-22 23:09 | 显示全部楼层
那么的帅 发表于 2013-5-22 22:41
提供数据附件


sql语句示例:

SELECT book_no,BOOK_CODE,ISBN, BOOK_NAME,PRINT_BNAME,AUTHOR,price FROM book where  isbn='7801792416'

数据库是interbase的,体积好大不好上传,附件1是几条导出来的excel数据。附件2是需要修改的文件。

现在想实现的功能是通过vba连接数据库,检索出符合条件的数据,如果只有一条符合的就直接显示,如果有多条就生成下拉菜单,以book_no为定位,选中任一一个下拉选项可以自动根据book_no从数据库找出数据并显示出来。 Book2.rar (6.58 KB, 下载次数: 18)
回复

使用道具 举报

 楼主| 发表于 2013-5-23 16:06 | 显示全部楼层
各位老师 给个核心的代码提示就好了 我自己琢磨不出来  谢谢
回复

使用道具 举报

 楼主| 发表于 2013-5-23 20:08 | 显示全部楼层
各位老师 帮帮忙吧
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-4 21:48 , Processed in 0.295004 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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