home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 1997 September / Personal_Computer_World_Sep_97.iso / DXRS / CDXPCW09.DXR / 00011_CDXSetCriteria,CDXdoSelect,CDXAddSelection.ls < prev    next >
Encoding:
Text File  |  1997-06-25  |  3.7 KB  |  108 lines

  1. on CDXSetCriteria x, a, b, C, d, e, f, g, h, i, j, k
  2.   global CDXTable, CDXDB, CDXNothingfound
  3.   set CDXTable to 0
  4.   set CDXDB to 0
  5.   set CDXfact to xtra("V12dbe")
  6.   set CDXDB to new(CDXfact, the pathName & "PCWCDX.V12", "ReadWrite", "CDINDEX")
  7.   if not objectp(CDXDB) then
  8.     alert("Cannot create Database instance1. Err=" && CDXDB)
  9.     exit
  10.   end if
  11.   set CDXfactTwo to xtra("V12table")
  12.   set CDXTable to new(CDXfactTwo, mGetRef(CDXDB), "CDTABLE")
  13.   if not objectp(CDXTable) then
  14.     alert("Cannot create V12table instance2. Err=" && CDXTable)
  15.   end if
  16.   case x of
  17.     1:
  18.       if a = "database" then
  19.         set err to mSetCriteria(CDXTable, "CD_PROD", b, C)
  20.         set err to mSetCriteria(CDXTable, "OR", "CD_DESC", b, C)
  21.         set err to mSetCriteria(CDXTable, "OR", "CD_ISSUE", b, C)
  22.         set err to mSetCriteria(CDXTable, "OR", "CD_SECT", b, C)
  23.         set err to mSetCriteria(CDXTable, "OR", "CD_CAT", b, C)
  24.       else
  25.         set err to mSetCriteria(CDXTable, a, b, C)
  26.       end if
  27.     2:
  28.       if a = "database" then
  29.         set err to mSetCriteria(CDXTable, "CD_PROD", b, C)
  30.         set err to mSetCriteria(CDXTable, "OR", "CD_DESC", b, C)
  31.         set err to mSetCriteria(CDXTable, "OR", "CD_ISSUE", b, C)
  32.         set err to mSetCriteria(CDXTable, "OR", "CD_SECT", b, C)
  33.         set err to mSetCriteria(CDXTable, "OR", "CD_CAT", b, C)
  34.       else
  35.         set err to mSetCriteria(CDXTable, a, b, C)
  36.       end if
  37.       set err to mSetCriteria(CDXTable, d, e, f, g)
  38.     3:
  39.       if a = "database" then
  40.         set err to mSetCriteria(CDXTable, "CD_PROD", b, C)
  41.         set err to mSetCriteria(CDXTable, "OR", "CD_DESC", b, C)
  42.         set err to mSetCriteria(CDXTable, "OR", "CD_ISSUE", b, C)
  43.         set err to mSetCriteria(CDXTable, "OR", "CD_SECT", b, C)
  44.         set err to mSetCriteria(CDXTable, "OR", "CD_CAT", b, C)
  45.       else
  46.         set err to mSetCriteria(CDXTable, a, b, C)
  47.       end if
  48.       set err to mSetCriteria(CDXTable, d, e, f, g)
  49.       set err to mSetCriteria(CDXTable, h, i, j, k)
  50.   end case
  51.   CDXdoSelect()
  52.   CDXAddSelection()
  53.   if CDXNothingfound = 0 then
  54.     CDXFieldResults()
  55.     CDXShowResults()
  56.   else
  57.     case x of
  58.       1:
  59.         set the member of sprite 7 to member "CDXANDORYellow"
  60.       2:
  61.         set the member of sprite 11 to member "CDXANDORYellow"
  62.     end case
  63.   end if
  64. end
  65.  
  66. on CDXdoSelect
  67.   global CDXTable
  68.   set err to mSelect(CDXTable)
  69. end
  70.  
  71. on CDXAddSelection
  72.   global CDXTable, CDXrecordsfound, CDXresultlist, CDXpageselect, CDXNothingfound, CDXSub
  73.   set CDXresultlist to list()
  74.   set CDXrecordsfound to mSelectCount(CDXTable)
  75.   if CDXrecordsfound = 0 then
  76.     set CDXNothingfound to 1
  77.     set the member of sprite 32 to member "CDXNothingFound"
  78.     set the loc of sprite 32 to point(295, 367)
  79.     set the ink of sprite 32 to 36
  80.     updateStage()
  81.   else
  82.     set CDXNothingfound to 0
  83.     set temp to mGetPosition(CDXTable)
  84.     mGoFirst(CDXTable)
  85.     put EMPTY into field "CDXRESPROD"
  86.     put EMPTY into field "CDXRESDesc"
  87.     put EMPTY into field "CDXRESsection"
  88.     put EMPTY into field "CDXRESCat"
  89.     put EMPTY into field "CDXRESstatus"
  90.     put EMPTY into field "CDXRESissue"
  91.     repeat with i = 1 to CDXrecordsfound
  92.       set Product to mGetField(CDXTable, "CD_PROD")
  93.       set Desc to mGetField(CDXTable, "CD_DESC")
  94.       set section to mGetField(CDXTable, "CD_SECTION")
  95.       set Category to mGetField(CDXTable, "CD_CAT")
  96.       set Status to mGetField(CDXTable, "CD_STATUS")
  97.       set Issue to mGetField(CDXTable, "CD_ISSUE")
  98.       addAt(CDXresultlist, count(CDXresultlist) + 1, [Product, Desc, Category, Status, section, Issue])
  99.       mGoNext(CDXTable)
  100.     end repeat
  101.     if CDXrecordsfound > 18 then
  102.       set CDXpageselect to 1
  103.     else
  104.       set CDXpageselect to 0
  105.     end if
  106.   end if
  107. end
  108.