Ms access 如何将列表框中的选定项添加到表中?
我还是VBA新手,希望能得到一些帮助。 我需要将列表框中的选定项添加到表中,但每次尝试时,显示的表中都没有值。 代码如下:Ms access 如何将列表框中的选定项添加到表中?,ms-access,listbox,vba,Ms Access,Listbox,Vba,我还是VBA新手,希望能得到一些帮助。 我需要将列表框中的选定项添加到表中,但每次尝试时,显示的表中都没有值。 代码如下: Private Sub BefehlX_Click() Dim db As Database Dim rs As Recordset Dim qdf As QueryDef Dim varItem As Variant Dim strCriteria As String Dim strSQL As String Di
Private Sub BefehlX_Click()
Dim db As Database
Dim rs As Recordset
Dim qdf As QueryDef
Dim varItem As Variant
Dim strCriteria As String
Dim strSQL As String
Dim lstBox As ListBox`
DoCmd.SetWarnings (False)
Set db = CurrentDb()
Set rs = db.OpenRecordset("T_Auswertung", dbOpenDynaset)
Set qdf = db.QueryDefs("Abfrage4")
Set lstBox = Me!ListField1
For Each varItem In lstBox.ItemsSelected
strCriteria = strCriteria & ",'" & lstBox.ItemData(varItem) & "'"
rs.AddNew
'what should be placed here?`
rs.Update
Next varItem
Set rs = Nothing
If Len(strCriteria) = 0 Then
MsgBox "Sie haben keine Queues gewählt!" _
, vbExclamation, "Nichts zu finden!"
Exit Sub
End If
strCriteria = Right(strCriteria, Len(strCriteria) - 1)
DoCmd.SetWarnings (True)
End Sub
如果要将所有值存储在一个由“,”分割的字符串中,则将
rs.AddNew
移动到For循环之外:
For Each varItem In lstBox.ItemsSelected
strCriteria = strCriteria & ",'" & lstBox.ItemData(varItem) & "'"
Next varItem
'removes first ","
strCriteria = Right(strCriteria , Len(strCriteria ) - 1)
rs.AddNew
rs!NAME_OF_FIELD = strCriteria
rs.Update
For Each varItem In lstBox.ItemsSelected
strCriteria = lstBox.ItemData(varItem)
rs.AddNew
rs!NAME_OF_FIELD = strCriteria
rs.Update
Next varItem
如果要将所有值存储在单独的注册表中(因此ID=1选择了一个项,ID=2选择了下一个项,依此类推),请将add保存在For循环中:
For Each varItem In lstBox.ItemsSelected
strCriteria = strCriteria & ",'" & lstBox.ItemData(varItem) & "'"
Next varItem
'removes first ","
strCriteria = Right(strCriteria , Len(strCriteria ) - 1)
rs.AddNew
rs!NAME_OF_FIELD = strCriteria
rs.Update
For Each varItem In lstBox.ItemsSelected
strCriteria = lstBox.ItemData(varItem)
rs.AddNew
rs!NAME_OF_FIELD = strCriteria
rs.Update
Next varItem
非常感谢。我会立即尝试并报告它是如何进行的;)如果你对我写的东西有任何疑问,尽管问吧。对不起,同时我还有其他工作要做。从列表中选择的项目似乎没有添加到表中。此表显示在一个子窗体中,其中显示了“希望从列表框添加”表中的条目。实际上,没有错误消息,因此我认为代码必须是正确的。但是正如我上面所说的,在执行代码之后,没有任何项被添加到表中。是否可以使用多个字段将项目添加到?例如,对于lstBox.itemselected strCriteria=lstBox.ItemData(varItem)rs.AddNew rs中的每个变量项,使用
!字段的名称=标准!字段2的名称=标准rs。更新下一个变量
Sure。它就像任何变量一样工作。确保您的字段是正确的数据类型。字符串称为“简短文本”或访问表上的某个内容。因此,打开T_Auswertung,并确保您的NAME_OF_字段具有适当的数据类型。您不会因为DoCmd.SetWarnings(False)而收到错误,我假设您必须将其切换为true(从未使用过它,但文档中似乎就是这样做的)