David McAfee
davidmcafee at gmail.com
Thu Mar 5 15:07:16 CST 2009
I have a read only subform in datasheet mode.
I've switched from using a list box, because the user wanted sorting, column
width, filtering and a couple of other options.
With the list box, if the user wanted to update a bunch of records, I would
do something like this:
The user select the listbox row(s) then presses a command button.
Code in the onClick event would perform a task similar to:
'Inserting records from a listbox (Looping through the listbox)
If Me.lstTitles.ItemsSelected.Count > 0 Then
Dim varIndex As Variant
Dim lRecordsAffected As Long
Dim Cnn As ADODB.Connection
Dim Cmd As ADODB.Command
Set Cnn = New ADODB.Connection
Set Cnn = CurrentProject.Connection
For Each varIndex In Me.lstAddrLocOrContact.ItemsSelected 'For every
item selected in list box
Set Cmd = New ADODB.Command
With Cmd
Set .ActiveConnection = Cnn
.CommandType = adCmdStoredProc
.CommandText = "stp_001B3_AddContactTitles"
.Parameters.Append .CreateParameter("@ctcID", adInteger,
adParamInput, , Me.strCtcID)
'.Parameters.Append .CreateParameter("@addrLocID",
adInteger, adParamInput, , Me.lstAddrLoc.Column(3, varIndex))
.Parameters.Append .CreateParameter("@addrID", adInteger,
adParamInput, , Me.strAddrID)
Set .ActiveConnection = Cnn
.Execute lRecordsAffected
End With
Set Cmd = Nothing
Next 'Loop to the next selected item
Cnn.Close
Set Cnn = Nothing
End If
I know I can reference the form!sbform!PKID but do I have to loop the the
whole recordset and check if record is selected?
I'm getting rusty with access. :)
David