Private Sub WriteOptimizedItemNr()
Dim arrCounter, svIndex, ItemNrCounter, intX, intI As Long
Dim SearchChar, strItemNr, TempItemNr, strItemNrDesc, strYear, strStates, strModality, strCover, strProviderType, svState, svModality, svCover, svItemNr, svProviderType, svDate As String
Dim SearchPos, StartPos, xrt As Integer
Dim dbs As DAO.Database
Dim rs8, rs9, rs0 As Recordset
Set dbs = CurrentDb
ItemNrCounter = 0
svIndex = 0
arrCounter = 1
SearchChar = "|"
intI = 0
svIndex = 0
StartPos = 1
Set rs8 = dbs.OpenRecordset("SELECT TODATE, SSTATENAME, SERVICECATEGORY, LPRODUCTNAME, LPROVIDERTYPE, PROVIDERCATEGORY, BUSINESSFLAG, ITEMNR, ITEMNRDESC, LBENEFITNAME FROM TEMP_PDLD GROUP BY TODATE, SSTATENAME, SERVICECATEGORY, LPRODUCTNAME, LPROVIDERTYPE, PROVIDERCATEGORY, BUSINESSFLAG, ITEMNR, ITEMNRDESC, LBENEFITNAME HAVING (((TODATE) = #12/31/9999#))ORDER BY TODATE DESC , SSTATENAME, SERVICECATEGORY, LPRODUCTNAME, LPROVIDERTYPE, PROVIDERCATEGORY, BUSINESSFLAG, ITEMNR, ITEMNRDESC, LBENEFITNAME", dbOpenForwardOnly)
Do While Not rs8.EOF
ItemNrCounter = ItemNrCounter + 1
If ItemNrCounter = 1 Then
ReDim arrItemNr(1)
Else
ReDim Preserve arrItemNr(UBound(arrItemNr) + 1)
End If
If svDate <> rs8!TODATE Or svState <> rs8!SSTATENAME Or svModality <> rs8!SERVICECATEGORY Or svCover <> rs8!LPRODUCTNAME Or svProviderType <> rs8!PROVIDERCATEGORY Then
If svDate <> "" And svState <> "" And svModality <> "" And svCover <> "" And svProviderType <> "" Then
arrItemNr(arrCounter) = arrItemNr(arrCounter) & "|"
arrCounter = arrCounter + 1
End If
arrItemNr(arrCounter) = rs8!ITEMNRDESC & "|"
Else
arrItemNr(arrCounter) = arrItemNr(arrCounter) & rs8!ITEMNRDESC & "|"
End If
svDate = rs8!TODATE
svState = rs8!SSTATENAME
svModality = rs8!SERVICECATEGORY
svCover = rs8!LPRODUCTNAME
svProviderType = rs8!PROVIDERCATEGORY
If IsNull(rs8!ITEMNRDESC) Then
svItemNr = ""
Else
svItemNr = rs8!ITEMNRDESC
End If
rs8.MoveNext
Loop
rs8.Close
Print #nFile1, "function update_item_no(){"
Print #nFile1, " document.mainform.item_no.options.length=0"
Print #nFile1, " document.mainform.item_no.options[0]=new Option(""--Select Item Number--"", """", false, false)"
Print #nFile1, " document.mainform.item_no.selectedIndex = 0"
Set rs9 = dbs.OpenRecordset("SELECT RowNumber, TODATE, SSTATENAME, SERVICECATEGORY, LPRODUCTNAME, LPROVIDERTYPE, PROVIDERCATEGORY, Deleted FROM TEMP_EXF3 ORDER BY RowNumber, TODATE", dbOpenForwardOnly)
Do While Not rs9.EOF
intI = intI + 1
If CStr(rs9!TODATE) <> "" And rs9!SSTATENAME <> "" And rs9!SERVICECATEGORY <> "" And rs9!LPRODUCTNAME <> "" And rs9!PROVIDERCATEGORY <> "" And rs9!Deleted = "N" Then
If intI > 1 And Replace(RTrim(arrItemNr(intI)), SearchChar, "", 1) <> "" Then
Print #nFile1, "}"
End If
strYear = rs9!TODATE
strStates = rs9!SSTATENAME
strModality = rs9!SERVICECATEGORY
strCover = rs9!LPRODUCTNAME
strProviderType = rs9!PROVIDERCATEGORY
strItemNr = arrItemNr(intI)
If Replace(RTrim(strItemNr), SearchChar, "", 1) <> "" Then
Print #nFile1, "if (document.mainform.year.options[document.mainform.year.selectedIndex].value == """ & strYear & """"
Print #nFile1, " && document.mainform.state.options[document.mainform.state.selectedIndex].value == """ & strStates & """"
Print #nFile1, " && document.mainform.modality.options[document.mainform.modality.selectedIndex].value == """ & strModality & """"
Print #nFile1, " && document.mainform.cover.options[document.mainform.cover.selectedIndex].value == """ & strCover & """"
Print #nFile1, " && document.mainform.provider_type.options[document.mainform.provider_type.selectedIndex].value == """ & strProviderType & """"
For intX = 0 To UBound(arrItemNr)
If intI <> intX And arrItemNr(intX) <> "" Then
If Replace(RTrim(strItemNr), SearchChar, "", 1) = Replace(RTrim(arrItemNr(intX)), SearchChar, "", 1) Then
Set rs0 = dbs.OpenRecordset("SELECT * FROM TEMP_EXF3 WHERE RowNumber = " & intX)
If Not rs0.EOF Then
Print #nFile1, "|| document.mainform.year.options[document.mainform.year.selectedIndex].value == """ & rs0!TODATE & """"
Print #nFile1, " && document.mainform.state.options[document.mainform.state.selectedIndex].value == """ & rs0!SSTATENAME & """"
Print #nFile1, " && document.mainform.modality.options[document.mainform.modality.selectedIndex].value == """ & rs0!SERVICECATEGORY & """"
Print #nFile1, " && document.mainform.cover.options[document.mainform.cover.selectedIndex].value == """ & rs0!LPRODUCTNAME & """"
Print #nFile1, " && document.mainform.provider_type.options[document.mainform.provider_type.selectedIndex].value == """ & rs0!PROVIDERCATEGORY & """"
End If
rs0.Close
arrItemNr(intX) = ""
DoCmd.RunSQL "UPDATE TEMP_EXF3 SET Deleted = ""Y"" WHERE ROWNUMBER = " & rs9!RowNumber
End If
End If
Next
Print #nFile1, ") {"
End If
DoCmd.RunSQL "UPDATE TEMP_EXF3 SET Deleted = ""Y"" WHERE ROWNUMBER = " & rs9!RowNumber
svIndex = 0
StartPos = 1
SearchPos = InStr(StartPos, strItemNr, SearchChar, 1)
If SearchPos <> 0 Then
Do Until SearchPos = 0
TempItemNr = Mid(strItemNr, StartPos, SearchPos - StartPos)
svIndex = svIndex + 1
If TempItemNr <> "" And TempItemNr <> "," Then
TempItemNrDesc = Mid(TempItemNr, 1, 28) & "..."
Print #nFile1, "document.mainform.item_no.options[" & svIndex & "]=new Option(""" & TempItemNrDesc & """,""" & TempItemNrDesc & """, true, false)"
End If
StartPos = SearchPos + 1
SearchPos = 0
SearchPos = InStr(StartPos, strItemNr, SearchChar, 1)
Loop
Else
svIndex = 1
If Replace(RTrim(strItemNr), SearchChar, "", 1) <> "" Then
strItemNrDesc = Mid(strItemNr, 1, 28) & "..."
Print #nFile1, "document.mainform.item_no.options[" & svIndex & "]=new Option(""" & strItemNrDesc & """,""" & strItemNrDesc & """, true, false)"
End If
End If
End If
rs9.MoveNext
Loop
rs9.Close
Print #nFile1, " }"
Print #nFile1, "}"
End Sub