我有一个表中的Access与一些组合框字段(组合框作为行源)。每个组合框有2列(第一个是整数类型,第二个是文本类型)。第二栏是用户可见的内容。第一个是绑定列。如何通过VBA将数据保存到组合框避免“数据类型转换错误”?
如果我打开表格并键入与列表相关的文本,它不会导致任何错误。我想要做的是通过VBA填充组合框,但使用文本而不是整数。
例如,在第一个组合框中,用户可以看到2个选项:“C”和“V”。绑定列中的“C”是1,“V”是2.我需要将字符发送到组合框并保存。当我尝试输入文本时,会发生“数据类型转换错误”。在这种情况下我能做什么?
在此先感谢。
代码:
Public Sub SalvarAreaRangeNoBD(registro As DAO.Recordset, areaRange As Range)
Dim totalLin, l As Integer
Dim totalCol, c As Integer
Dim deletar As Boolean
totalLin = areaRange.Rows.Count
totalCol = areaRange.Columns.Count
deletar = True
Call mdlUtil.LimparRegistro(registro)
registro.AddNew
For l = 1 To totalLin
For c = 1 To totalCol
If ((areaRange.Cells(l, c) & "") = "") Then
registro.Fields(c - 1).Value = Empty
Else
registro.Fields(c - 1).Value = areaRange.Cells(l, c)
If (deletar <> False) Then
deletar = False
End If
End If
Next c
If (deletar) Then
registro.CancelUpdate
Else
registro.Update
End If
registro.AddNew
deletar = True
Next l
End Sub
你能不能给我们您所使用的代码? – INOPIAE
@INOPIAE我尝试在单独的表格中编写相同的文本,并遇到同样的问题。访问不允许写入文本,而只允许绑定列中的等效整数。例如。而不是“C”,写1.发生的是,这些数据来自Excel电子表格,我无法搜索相应的整数。 – MyThorRJ
你在哪里使用组合框?在表单上,在工作表上?如果你谈论绑定列,你如何填充组合框? – INOPIAE