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
>