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属性 展开
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属性 展开
1个回答
展开全部
组合框的值是唯一的,是指当前所选的选项,是通过组合框的value属性引用的。
组合框的可选列表并非是组合框的值,而是由其行来源属性(rowsource)决定的。
当“行来源类型”属性为“表/查询”时,直接将sql赋值给行来源属性就可以了。
Dim sql As String
sql = "select 料品名称 from RM_各产品线物料 where 产品线 = '内门分厂' and 材料类别 = '" & Me.Combo0.Value & "'"
Combo15.rowsource = sql
Combo15.requery
组合框的可选列表并非是组合框的值,而是由其行来源属性(rowsource)决定的。
当“行来源类型”属性为“表/查询”时,直接将sql赋值给行来源属性就可以了。
Dim sql As String
sql = "select 料品名称 from RM_各产品线物料 where 产品线 = '内门分厂' and 材料类别 = '" & Me.Combo0.Value & "'"
Combo15.rowsource = sql
Combo15.requery
追问
首先,这段代码粘进去并没有什么用。其次,你能不能告诉我除了Fields(0)有值以外Fields(1)以后都没有值是为什么?我可以追加悬赏~~~拜托拜托~~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询