Excel精英培训网

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

[已解决]向"烟雨江南"老师求助(感谢两位老师的帮助)

[复制链接]
 楼主| 发表于 2008-2-1 20:04 | 显示全部楼层 |阅读模式

 

9YqUxlPw.rar (21.47 KB, 下载次数: 6)

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2008-2-1 22:37 | 显示全部楼层    本楼为最佳答案   

烟版已经回家乡了,估计月底回来

你的问题如下:

Private Sub UserForm_Initialize()
Dim DBpath As String
Dim iCount As Integer
Dim i As Integer


DBpath = "provider=Microsoft.jet.OLEDB.4.0;data source=" & ThisWorkbook.Path & "\data.mdb" & ""
If CNN.State = 1 Then CNN.Close
CNN.Open DBpath

strSQl = "select 省份 from 资料 group by 省份"
    RST.Open strSQl, CNN, adOpenKeyset, adLockPessimistic
    iCount = RST.RecordCount
    RST.MoveFirst
    For i = 1 To iCount
        ComboBox1.AddItem RST.Fields("省份")
        RST.MoveNext
    Next i
    RST.Close

End Sub

Private Sub ComboBox1_AfterUpdate()
        ComboBox2.Clear
        strSQl = "select 城市 from 资料 where 省份 = '" & UCase(ComboBox1.Value) & "'"
        RST.Open strSQl, CNN, adOpenKeyset, adLockPessimistic
        For i = 1 To RST.RecordCount
            ComboBox2.AddItem RST.Fields("城市")
            RST.MoveNext
        Next

        RST.Close

End Sub

Zou9Rnsc.rar (19.8 KB, 下载次数: 21)
回复

使用道具 举报

发表于 2008-2-1 23:33 | 显示全部楼层

QUOTE:
以下是引用戏子在2008-2-1 22:37:00的发言:

烟版已经回家乡了,估计月底回来

你的问题如下:

Private Sub UserForm_Initialize()
Dim DBpath As String
Dim iCount As Integer
Dim i As Integer


DBpath = "provider=Microsoft.jet.OLEDB.4.0;data source=" & ThisWorkbook.Path & "\data.mdb" & ""
If CNN.State = 1 Then CNN.Close
CNN.Open DBpath

strSQl = "select 省份 from 资料 group by 省份"
    RST.Open strSQl, CNN, adOpenKeyset, adLockPessimistic
    iCount = RST.RecordCount
    RST.MoveFirst
    For i = 1 To iCount
        ComboBox1.AddItem RST.Fields("省份")
        RST.MoveNext
    Next i
    RST.Close

End Sub

Private Sub ComboBox1_AfterUpdate()
        ComboBox2.Clear
        strSQl = "select 城市 from 资料 where 省份 = '" & UCase(ComboBox1.Value) & "'"
        RST.Open strSQl, CNN, adOpenKeyset, adLockPessimistic
        For i = 1 To RST.RecordCount
            ComboBox2.AddItem RST.Fields("城市")
            RST.MoveNext
        Next

        RST.Close

End Sub


[em17][em17][em17] 收藏学习了。
回复

使用道具 举报

发表于 2008-2-2 09:34 | 显示全部楼层

QUOTE:
以下是引用戏子在2008-2-1 22:37:00的发言:

烟版已经回家乡了,估计月底回来

回不去喽,道路封闭!

已经10年没回家过年了[em06]

回复

使用道具 举报

发表于 2008-2-2 09:53 | 显示全部楼层

还可改成这样:

Private Sub UserForm_Initialize()
Dim DBpath As String
Dim iCount As Integer
Dim i As Integer


DBpath = "provider=Microsoft.jet.OLEDB.4.0;data source=" & ThisWorkbook.Path & "\data.mdb" & ""
If CNN.State = 1 Then CNN.Close
CNN.Open DBpath

strSQl = "select 省份 from 资料 group by 省份"
    RST.Open strSQl, CNN, adOpenKeyset, adLockPessimistic
    iCount = RST.RecordCount
arr = RST.GetRows
ComboBox1.List = Application.WorksheetFunction.Transpose(arr)

    RST.Close

End Sub

Private Sub ComboBox1_AfterUpdate()
        ComboBox2.Clear
        strSQl = "select 城市 from 资料 where 省份 = '" & UCase(ComboBox1.Value) & "'"
        RST.Open strSQl, CNN, adOpenKeyset, adLockPessimistic
arr = RST.GetRows
ComboBox1.List = Application.WorksheetFunction.Transpose(arr)

        RST.Close

End Sub

回复

使用道具 举报

 楼主| 发表于 2008-2-2 16:18 | 显示全部楼层

忠心的感谢两位老师对俺的帮助!

再次感谢!!(“戏子老师”).(“烟雨江南老师”)

[此贴子已经被作者于2008-2-2 19:06:00编辑过]
回复

使用道具 举报

发表于 2008-2-2 17:07 | 显示全部楼层

QUOTE:
以下是引用xz005在2008-2-2 16:18:00的发言:

忠心的感谢两位老师对俺的帮助!

再次感谢!!(“laosanjie老师”).(“烟雨江南老师”)


是戏子,不是laosanjie,有人看到要伤心了[em01]

回复

使用道具 举报

发表于 2008-2-2 17:09 | 显示全部楼层

[em01][em01][em01]
回复

使用道具 举报

发表于 2008-2-2 21:43 | 显示全部楼层

QUOTE:
以下是引用烟雨江南在2008-2-2 9:34:00的发言:
QUOTE:
以下是引用戏子在2008-2-1 22:37:00的发言:

烟版已经回家乡了,估计月底回来

回不去喽,道路封闭!

已经10年没回家过年了[em06]

[em01][em01]偶明天回了,羡慕吧!
回复

使用道具 举报

发表于 2008-3-28 15:56 | 显示全部楼层

谢谢分享,真是好用的技巧
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-26 15:20 , Processed in 0.439350 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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