access 给组合框赋值

干刚开始学VBA,不会用access给组合框赋值,所以写了如下代码PrivateSubCombo0_Change()DimdataAsNewADODB.Recordset... 干刚开始学VBA,不会用access给组合框赋值,所以写了如下代码
Private Sub Combo0_Change()
Dim data As New ADODB.Recordset
Dim sql As String
sql = "select 料品名称 from RM_各产品线物料 where 产品线 = '内门分厂' and 材料类别 = '" & Me.Combo0.Value & "'"
data.Open sql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Dim x
For x = 1 To data.RecordCount
Combo15.AddItem data.Fields(x-1)
Next x
End Sub
之所以不用查询给组合框赋值是因为这个组合框要选择什么样的数据是根据combo0的值决定的。所以别告诉我用想到就可以解决~~~~~~
这个代码有这样的问题:data.recorddount 有44个值,但是有 data.Fields给组合框赋值的时候只有Fields(0)有值,其他的都显示:在对应所需名称或序数集合中未找到项目 错误号3265
求大神指点,这个到底是怎么回事或者告诉我怎么用数组在vba里面给组合框赋值。access里没有里面的combo没有list属性
展开
 我来答
百无生
推荐于2016-07-11 · TA获得超过2214个赞
知道大有可为答主
回答量:2150
采纳率:80%
帮助的人:643万
展开全部
组合框的值是唯一的,是指当前所选的选项,是通过组合框的value属性引用的。
组合框的可选列表并非是组合框的值,而是由其行来源属性(rowsource)决定的。
当“行来源类型”属性为“表/查询”时,直接将sql赋值给行来源属性就可以了。
Dim sql As String
sql = "select 料品名称 from RM_各产品线物料 where 产品线 = '内门分厂' and 材料类别 = '" & Me.Combo0.Value & "'"
Combo15.rowsource = sql
Combo15.requery
追问
首先,这段代码粘进去并没有什么用。其次,你能不能告诉我除了Fields(0)有值以外Fields(1)以后都没有值是为什么?我可以追加悬赏~~~拜托拜托~~~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式