"">" & ControlChars.CrLf) End If ' 'First table column is ItemID unless suppressed nID = 0 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(sResponse, 5). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm If InStr(1, Extract(sResponse, 5), "ID-SUPP", 1) = 0 Then If sDelimiter = "HTML" Then Call SB.Append("ItemID" & ControlChars.CrLf) Else Call SB.Append("ItemIDýLý15") End If nID = 1 End If ReDim saAlign(nCols - 1 + nID) ReDim saRow(nCols - 1 + nID) ReDim sBreakMonitor(nCols) Dim currTotals(nCols, 1) As Decimal '2nd dimension is sub-totalling for BREAK-ON ' 'use DictItems (array saQSpecs) to format output header For i = 1 To nCols 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(i), 10). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm nWidth = Val(Extract(saQSpecs(i), 10)) 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(i), 9). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm saAlign(i - 1 + nID) = Extract(saQSpecs(i), 9) If nWidth = 0 Then nWidth = 10 If sDelimiter = "HTML" Then '020222 JPC note the multivalue level argument 1 for HTML 'so we avoid use of "====" in headings like "STý====" 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(i), 3, 1). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm Call SB.Append("" & Extract(saQSpecs(i), 3, 1) & "") Else If i > 1 Or nID = 1 Then Call SB.Append(sDelimiter) End If 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(i), 3). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm Call SB.Append(Replace(Extract(saQSpecs(i), 3), Chr(253), Chr(252)) & Chr(253) & saAlign(i - 1 + nID) & Chr(253) & nWidth) End If Next i If sDelimiter = "HTML" Then Call SB.Append("" & ControlChars.CrLf) ' 'Main data body of table i = 0 Do If Not ReadNext(sId) Then Exit Do i = i + 1 If Not RRead(sdItem, sFV, sId) Then 'UPGRADE_WARNING: Couldn't resolve default property of object sTable. Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm 'UPGRADE_WARNING: Couldn't resolve default property of object sAlert. Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm sAlert = "ERROR [914] Item '" & sId & "' not found in table/file '" & sTable & "'" Exit Do End If '011017 JPC coded equivalent to LIST ' 'Erase saRow() If nID = 1 Then saRow(0) = sId nMV = 1 bBreak = False For iC = 1 To nCols sQVal = "" 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 1). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm sSpec = UCase(Left(Extract(saQSpecs(iC), 1), 1)) Select Case sSpec Case "A", "D", "S" '011214 JPC handle 'attribute zero' as a spec '020222 JPC, "S" seems to have same effect as "A" for all intents and purposes! 'If sSpec = "S" Then ' sQVal = "" 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 2). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm If Extract(saQSpecs(iC), 2) = "0" Then sQVal = sId Else 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 2). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(sdItem, Val(Extract(saQSpecs(iC), 2))). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm sQVal = Extract(sdItem, Val(Extract(saQSpecs(iC), 2))) End If ' '011226 JPC handle correlatives which are too much for OCONV on its own '020222 JPC todo better correlative handling esp for Datastore = PICK etc 'If MVBool(Extract(saQSpecs(iC), 8), ">", "") Then GoSub CORRELATIVE_EVAL 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 8). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm s = Trim(Extract(saQSpecs(iC), 8)) 'If s > "" Then sQVal = OConv(sQVal, s) If s > "" Then 'UPGRADE_WARNING: Couldn't resolve default property of object CORRELATIVE_EVAL(sQVal, s, sdItem, sId, sFV). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm sQVal = CORRELATIVE_EVAL(sQVal, s, sdItem, sId, sFV) End If ' '020225 JPC TOTAL done after correlative and before processing code If bTotal Then 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 4). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm If Extract(saQSpecs(iC), 4) = "Tø" Then 'UPGRADE_WARNING: Couldn't resolve default property of object DCount(sQVal, Chr(253)). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm For iMV = 1 To DCount(sQVal, Chr(253)) currTotals(iC, 0) = currTotals(iC, 0) + Val(sQVal) currTotals(iC, 1) = currTotals(iC, 1) + Val(sQVal) Next iMV End If 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 5). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm If Extract(saQSpecs(iC), 5) = "Bø" Then If sQVal <> sBreakMonitor(iC) And i > 1 And Not bAlreadyBreak Then 'Break effect goes here! bAlreadyBreak = True 'flag to avoid double break when 2 change together bBreak = True 'flag that sub-totals are activated so a final sub-total row is appropriate 'Row with SUB-TOTALS If sDelimiter = "HTML" Then Call SB.Append("SubTotal(s)") Else Call SB.Append(ControlChars.Cr & "SubTotal(s)") End If For k = 1 To nCols - 1 + nID 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(k + 1 + nID * -1), 4). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm If Extract(saQSpecs(k + 1 + (nID * -1)), 4) = "Tø" Then s = CStr(currTotals(k + 1 + (nID * -1), 1)) currTotals(k + 1 + (nID * -1), 1) = 0 '020228 JPC apply formatting code, usually none or "MR2" 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(k + 1 + nID * -1), 7). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm sTemp = Trim(Extract(saQSpecs(k + 1 + (nID * -1)), 7)) If sTemp > "" Then 'UPGRADE_WARNING: Couldn't resolve default property of object OConv(s, sTemp). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm s = OConv(s, sTemp) End If Else s = "" End If If sDelimiter = "HTML" Then If s = "" Then s = " " If saAlign(k) = "R" Then Call SB.Append("" & s & "") Else Call SB.Append("" & s & "") End If Else Call SB.Append(sDelimiter & s) End If Next k If sDelimiter = "HTML" Then Call SB.Append("" & ControlChars.CrLf) End If sBreakMonitor(iC) = sQVal End If 'End of BREAK-ON handler End If ' 'Processing code 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 7). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm s = Trim(Extract(saQSpecs(iC), 7)) If s > "" Then ' 020131 apply OCONV separately to multivalues 'UPGRADE_WARNING: Couldn't resolve default property of object DCount(sQVal, Chr(253)). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm For iMV = 1 To DCount(sQVal, Chr(253)) 'UPGRADE_WARNING: Couldn't resolve default property of object OConv(Extract(sQVal, 1, iMV), s). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm sTemp = OConv(Extract(sQVal, 1, iMV), s) If sTemp <> "####" Then sQVal = RReplace(sQVal, 1, iMV, sTemp) End If Next iMV End If ' 'Keep track of max number of multivalues nMV for expanding rows ... If InStr(sQVal, Chr(253)) Then 'UPGRADE_WARNING: Couldn't resolve default property of object DCount(sQVal, Chr(253)). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm n = DCount(sQVal, Chr(253)) If n > nMV Then nMV = n End If ' End Select 'Build this item saRow(iC - 1 + nID) = sQVal Next iC 'One item read in and processed as saRow() 'Now to format it For j = 1 To nMV '020222 JPC row is built initially in array saRow If sDelimiter = "HTML" Then '020223 JPC alternate items are yellow bg If i / 2 = i \ 2 Then s = "" Else s = "" Call SB.Append(s) Else Call SB.Append(ControlChars.Cr) End If For k = 0 To nCols - 1 + nID 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saRow(k), 1, j). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm s = Extract(saRow(k), 1, j) If sDelimiter = "HTML" Then If s = "" Then s = " " If saAlign(k) = "R" Then Call SB.Append("" & s & "") Else Call SB.Append("" & s & "") End If ElseIf k > 0 Then Call SB.Append(sDelimiter & s) Else Call SB.Append(s) End If Next k Next j 'End of row If sDelimiter = "HTML" Then Call SB.Append("" & ControlChars.CrLf) ' '020425 JPC comment-out this batch code handler, need FBF version 'If i / 100 = i \ 100 Then ' gsHTMLWrite = "" _ '' & "
" _ '' & "" _ '' & "" _ '' & "



Progress Counter: " & i & " / " & UserPort.SelectUbound(2) _ '' & "

" ' Call W3Input(s) 'End If If nLimit > 0 Then If i >= nLimit Then 'UPGRADE_WARNING: Couldn't resolve default property of object sAlert. Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm sAlert = "Report cut short as it is over its reasonable display limit of " & nLimit & " items." Exit Do End If End If Loop 'Do final subtotals if BREAK is applicable and activated above If bBreak Then If sDelimiter = "HTML" Then Call SB.Append("SubTotal(s)") Else Call SB.Append(ControlChars.Cr & "SubTotal(s)") End If For k = 1 To nCols - 1 + nID 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(k + 1 + nID * -1), 4). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm If Extract(saQSpecs(k + 1 + (nID * -1)), 4) = "Tø" Then s = CStr(currTotals(k + 1 + (nID * -1), 1)) currTotals(k + 1 + (nID * -1), 1) = 0 '020228 JPC apply formatting code, usually none or "MR2" 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(k + 1 + nID * -1), 7). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm sTemp = Trim(Extract(saQSpecs(k + 1 + (nID * -1)), 7)) If sTemp > "" Then 'UPGRADE_WARNING: Couldn't resolve default property of object OConv(s, sTemp). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm s = OConv(s, sTemp) End If Else s = "" End If If sDelimiter = "HTML" Then If s = "" Then s = " " If saAlign(k) = "R" Then Call SB.Append("" & s & "") Else Call SB.Append("" & s & "") End If Else Call SB.Append(sDelimiter & s) End If Next k If sDelimiter = "HTML" Then Call SB.Append("" & ControlChars.CrLf) End If 'Show totals If bTotal Then 'blank Row If sDelimiter = "HTML" Then Call SB.Append("Total(s)") Call SB.Append(ControlChars.CrLf & "") Else Call SB.Append(ControlChars.Cr & "TOTAL(S)") For k = 1 To nCols - 1 + nID Call SB.Append(sDelimiter) Next k Call SB.Append(ControlChars.Cr) End If ' 'Row with TOTALS For k = 0 To nCols - 1 + nID 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(k + 1 + nID * -1), 4). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm If Extract(saQSpecs(k + 1 + (nID * -1)), 4) = "Tø" Then s = CStr(currTotals(k + 1 + (nID * -1), 0)) '020228 JPC apply formatting code, usually none or "MR2" 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(k + 1 + nID * -1), 7). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm sTemp = Trim(Extract(saQSpecs(k + 1 + (nID * -1)), 7)) If sTemp > "" Then 'UPGRADE_WARNING: Couldn't resolve default property of object OConv(s, sTemp). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm s = OConv(s, sTemp) End If Else s = "" End If If sDelimiter = "HTML" Then If s = "" Then s = " " If saAlign(k) = "R" Then Call SB.Append("" & s & "") Else Call SB.Append("" & s & "") End If ElseIf k > 0 Then Call SB.Append(sDelimiter & s) Else Call SB.Append(s) End If Next k If sDelimiter = "HTML" Then Call SB.Append("") End If ' 'Finish off this table If sDelimiter = "HTML" Then Call SB.Append("") 'UPGRADE_WARNING: Couldn't resolve default property of object sTable. Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm sTable = SB.toString End Function Public Function ExecuteQueryMV(ByRef sQuery As Object, ByRef sTable As Object, ByRef sAlert As Object, Optional ByVal sDelimiter As String = "HTML", Optional ByVal nLimit As Integer = 500) As Object ' '020607 JPC adapted/simplified from ExecuteQuery for handling MV drivers. ' In the MV case all dict-itemid lookups and value-setting is ' delegated to the MV engine, but this code must still handle ' modifiers esp BREAK-ON and TOTAL ' In other words, this code works with PX.BACKSRV and functions much like ' PixieExcel '020409 JPC BREAK-ON support Dim sModifierPairs, sIdDict As String Dim sBreakMonitor() As String Dim bAlreadyBreak, bBreak As Boolean ' Dim b As Boolean Dim k, i, j, n As Integer ' Dim iMV, iC, iPos As Integer Dim nNoSpec, nID, nMV As Integer Dim nWidth, nCols, nRows, nWidthTotal As Integer ' Dim sQVal, s, sTemp, sQList As String Dim sId, sdItem As String Dim sFV, sFVDict As String Dim sSpec As String Dim sQSpec As String Dim saQSpecs() As String Dim saAlign() As String Dim saRow() As String 'Dim currTotals() As Decimal Dim bTotal As Boolean ' Dim sResponse As String ' Dim SB As StringBuilder '020313 JPC printing these reports 'Dim sPageHeading As String, naColPads() As Long, naColWidths() As Long ' '020221 JPC 'Dynamic variable string '<1> = number of columns '<2> = number of rows '<3> = split-out simplified LIST statement '<4> = List of ItemIDs to use instead of Select by criteria '<5> = Options eg "COL-HDR-SUPP" '<6> = BY-EXP which needs separate treatment after remainder of query runs. '<7> = split-out SELECT/SSELECT sentence ' ' 'UPGRADE_WARNING: Couldn't resolve default property of object sAlert. Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm sAlert = "" 'UPGRADE_WARNING: Couldn't resolve default property of object sQuery. Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm sResponse = ExecutePS(sQuery) ExecuteQueryMV = sResponse If sResponse = "ERROR" Then Exit Function ' 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(sResponse, 1). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm nCols = Extract(sResponse, 1) 'UPGRADE_WARNING: Couldn't resolve default property of object Extract(sResponse, 2). Click for more: ms-help://MS.MSDNVS/vbcon/html/vb