David McAfee
davidmcafee at gmail.com
Fri Mar 6 15:45:30 CST 2009
(c) looks like what I need. Thanks A.D.! David On Thu, Mar 5, 2009 at 9:32 PM, A.D.Tejpal <adtp at airtelmail.in> wrote: > David, > > My sample db's mentioned below, might be of interest to you: > > (a) Form_SubformAsListBox > (b) Form_TrackBulkSelectionsInDataSheet > (c) FormsSelectedBlockInDatasheet > > These are available at Rogers Access Library. Link - > http://www.rogersaccesslibrary.com/forum/forum_topics.asp?FID=45 > > You could adapt the underlying approach suitably, for your specific > needs. > > Best wishes, > A.D. Tejpal > ------------ > > ----- Original Message ----- > From: David McAfee > To: Access Developers discussion and problem solving > Sent: Friday, March 06, 2009 02:37 > Subject: [AccessD] How do I refer to a range of selected records in > asubform datasheet? > > > 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 > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com >