3
我试图创建一个下拉列表,当从选项列表中更改选择后,将运行将查询结果插入页面的查询。这是我到目前为止:如何在VBA中的Excel中从Excel中运行SQL查询更改下拉列表
Sub DropDown1_Change()
Dim dbConnect As String
Dim leagueCode As String
Dim leagueList As Range
Dim leagueVal As String
Dim TeamData As String
Set leagueList = Worksheets("Menu Choices").Range("A5:A10")
Set leagueVal = Worksheets("Menu Choices").Cell("B1").Value
leagueCode = Application.WorksheetFunction.Index(leagueList, leagueVal)
TeamData = "SELECT DISTINCT(Teams.teamID), name FROM Teams WHERE lgID = '" & leagueCode & "' & ORDER BY name ASC"
With Worksheets("Menu Choices").QueryTables.Add(Connection:=dbConnect, Destination:=Worksheets("Menu Choices").Range("D5"))
.CommandText = TeamData
.Name = "Team List Query"
.Refresh BackgroundQuery:=False
End With
End Sub
任何有任何建议让它工作?提前致谢!
什么是数据库连接?你见过http://msdn.microsoft.com/en-us/library/bb178808(office.12).aspx?你应该改变联赛的版本号为:'leagueVal = Worksheets(“Menu Choices”)。Range(“B1”)。Value:Set仅用于对象,不用于字符串。你的SQL语句也是不正确的。 – Fionnuala 2010-08-22 20:39:37
感谢您收到leagueVal问题,那只是沮丧的代码,当我把它发布在这里时我没有抓到它。 dbConnect用于将连接字符串从另一个函数传递到查询。 感谢您的链接 - 今晚我会检查一下,看看是否有帮助。进入VBA的这种功能(和一般的VBA),所以你的意见非常感谢。 – OpenDataAlex 2010-08-23 13:40:29