John Ruff
papparuff at attbi.com
Wed Jun 11 19:23:29 CDT 2003
Why not just iterate through the items selected without worrying about count. Dim varItm as variant With ctl For Each varItm In .ItemsSelected lng_PK_Of_Interest = .Column(0, varItm) Debug.Print "Creating mail for Practicum Placement #: " & lng_PK_Of_Interest Send_Text_PMail lng_PK_Of_Interest Next varItm End With Or, to do it with the code you already have: For intPhysicalRow = 0 To .ItemsSelected.Count - 1 intCurrentRow = ctl.ItemsSelected(intPhysicalRow) ' This If statement is causing the problem. ' The count of .ItemsSelected is 0 based, not 1 based ' If intPhysicalRow > 0 Then lng_PK_Of_Interest = ctl.Column(0, intCurrentRow) Debug.Print "Creating mail for Practicum Placement #: " & lng_PK_Of_Interest Send_Text_PMail lng_PK_Of_Interest ' End If Next intPhysicalRow John V. Ruff - The Eternal Optimist :-) Always Looking For Contract Opportunities Home: 253.588.2139 Cell: 253.307.2947 9306 Farwest Dr SW Lakewood, WA 98498 "Commit to the Lord whatever you do, and your plans will succeed." Proverbs 16:3 -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, June 11, 2003 3:17 PM To: AccessD Subject: [AccessD] Help with Mah Arithmetic I've been staring at the following code and toying with this and that and now I'm so punchy I really need a fresh set of eyes. Scenario: - a listbox with extended select, pk in column(0) - a proc that works, called from the loop presented below - said listbox has headings ON <code> '----------------------------------------------------------------------- ---- ------------ ' Procedure : Send_Text_Confirmations ' DateTime : 6/11/2003 14:50 ' Author : Arthur Fuller ' Purpose : Send confirmations not using Snapshot files, send generated text instead ' : This code sends text email messages constaining the same data as the snapshot ' : We use the report's data source directly to retrieve the information we need. '----------------------------------------------------------------------- ---- ------------ ' Private Sub Send_Text_Confirmations() Dim ctl As Control Dim intPhysicalRow As Integer, intCurrentRow As Integer Dim strWhere As String Dim strReportName As String Dim lng_PK_Of_Interest As Long With Me Set ctl = .Item_Selector_listbox With ctl 'column headings seem to screw this code up but I can't figure out how 'to account for them For intPhysicalRow = 0 To .ItemsSelected.Count - 1 intCurrentRow = ctl.ItemsSelected(intPhysicalRow) If intPhysicalRow > 0 Then lng_PK_Of_Interest = ctl.Column(0, intCurrentRow) Debug.Print "Creating mail for Practicum Placement #: " & lng_PK_Of_Interest Send_Text_PMail lng_PK_Of_Interest End If Next intPhysicalRow End With MsgBox "Emails sent for " & ctl.ItemsSelected.Count & " Practica", vbInformation, "Task Complete" End With On Error GoTo 0 Exit Sub Send_Text_Confirmations_Error: MsgBox "Error " & Err.Number & vbCrLf & _ Err.Description & vbCrLf & _ "in procedure Send_Text_Confirmations of VBA Document Form_frm_Practica_Email_Select", _ vbCritical, _ "Program Error" End Sub </code The line Send_Text_PMail lng_PK_Of_Interest Works and is not of interest. Just assume that whatever it does, it works. The problem is in the arithmetic and I cannot see it. Well, ok, I'm old, and entitled to more senior moments than you :-) Symptoms: Select 3 items. It does 2. Select 1. It does none. Select All and it works. Headings off and on affect the results. I want the code to interrogate HeadingsOn but can't seem to find the attribute. Revisions invited! Arthur _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com