[AccessD] How do I refer to a range of selected records in asubform datasheet?

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
>



More information about the AccessD mailing list