M
mystif via AccessMonster.com
I am a novice who has built a database to track vineyard spray records. I
have put a multi-select list box on a data entry form, and cannot figure out
how to get the selections made in that list box to GO somewhere. I need them
to populate to a table. I was given some sample code to work with, pasted it
into the VB editor and changed the field and table names accordingly (I think)
Can anyone see any obvious mistakes I have made here? I receive an error
message when the code runs NO CURRENT RECORD. (Code below)
Thank you in advance!
' the selections in
' the unbound multiselect listbox lstbxVineyardBlockSelect.
' Newly selected rows will be added to the table,
' newly cleared
' rows will be deleted.
' Parameters: None
' Modified : 01/29/02 by JWV
'
' --------------------------------------------------
' Populate the tblOrderNumbBlocksSelected table with the selected issues
On Error GoTo PROC_ERR
Dim iItem As Integer
Dim lngCondition As Long
Dim db As DAO.Database
Dim rs As DAO.Recordset
' save the current record if it's not saved
If Me.Dirty = True Then
Me.Dirty = False
End If
Set db = CurrentDb
' Open a Recordset based on the table
Set rs = db.OpenRecordset("tblOrderNumbBlocksSelected", dbOpenDynaset)
With Me!lstbxVineyardBlockSelect
' Loop through all rows in the Listbox
For iItem = 0 To .ListCount - 1
lngCondition = .Column(0, iItem)
' Determine whether this SprayOrderNumber-Block
' combination is currently
' in the table
rs.FindFirst "[SprayOrderNumber] = " & Me.SprayOrderNumber & " AND
" _
& "[Block] = " & lngCondition
If rs.NoMatch Then ' this item has not been added
If .Selected(iItem) Then
' add it
rs.AddNew
rs!SprayOrderNumber = Me.SprayOrderNumber
rs!OrderBlockID = lngCondition
rs.Update
End If ' if it wasn't selected, ignore it
Else
If Not .Selected(iItem) Then
' delete this record if it's been deselected
rs.Delete
End If ' if it was selected, leave it alone
End If
Next iItem
End With
rs.Close
Set rs = Nothing
Set db = Nothing
Me.subtblOrderNumbBlocksSelected.Requery
PROC_EXIT:
Exit Sub
have put a multi-select list box on a data entry form, and cannot figure out
how to get the selections made in that list box to GO somewhere. I need them
to populate to a table. I was given some sample code to work with, pasted it
into the VB editor and changed the field and table names accordingly (I think)
Can anyone see any obvious mistakes I have made here? I receive an error
message when the code runs NO CURRENT RECORD. (Code below)
Thank you in advance!
' Comments : Update the tblOrderNumbBlocksSelected table based onPrivate Sub cmdProcess_Click()
' the selections in
' the unbound multiselect listbox lstbxVineyardBlockSelect.
' Newly selected rows will be added to the table,
' newly cleared
' rows will be deleted.
' Parameters: None
' Modified : 01/29/02 by JWV
'
' --------------------------------------------------
' Populate the tblOrderNumbBlocksSelected table with the selected issues
On Error GoTo PROC_ERR
Dim iItem As Integer
Dim lngCondition As Long
Dim db As DAO.Database
Dim rs As DAO.Recordset
' save the current record if it's not saved
If Me.Dirty = True Then
Me.Dirty = False
End If
Set db = CurrentDb
' Open a Recordset based on the table
Set rs = db.OpenRecordset("tblOrderNumbBlocksSelected", dbOpenDynaset)
With Me!lstbxVineyardBlockSelect
' Loop through all rows in the Listbox
For iItem = 0 To .ListCount - 1
lngCondition = .Column(0, iItem)
' Determine whether this SprayOrderNumber-Block
' combination is currently
' in the table
rs.FindFirst "[SprayOrderNumber] = " & Me.SprayOrderNumber & " AND
" _
& "[Block] = " & lngCondition
If rs.NoMatch Then ' this item has not been added
If .Selected(iItem) Then
' add it
rs.AddNew
rs!SprayOrderNumber = Me.SprayOrderNumber
rs!OrderBlockID = lngCondition
rs.Update
End If ' if it wasn't selected, ignore it
Else
If Not .Selected(iItem) Then
' delete this record if it's been deselected
rs.Delete
End If ' if it was selected, leave it alone
End If
Next iItem
End With
rs.Close
Set rs = Nothing
Set db = Nothing
Me.subtblOrderNumbBlocksSelected.Requery
PROC_EXIT:
Exit Sub