home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Visual Database / Visual Foxpro 6.0 (Ent. Edition) / Vf6ent Extractor.EXE / TOOLS / XSOURCE / XSOURCE.ZIP / vfpsource / wizards / Wzquery / spreadit.prg < prev    next >
Encoding:
Text File  |  1998-05-01  |  1.5 KB  |  56 lines

  1. PROCEDURE spreadit
  2.     para mobj
  3.     LOCAL i,cTable,j,k
  4.     IF type("mobj")='O'
  5.         DIMENSION wzaQFlds[ALEN(mobj.aselections,1)]
  6.         FOR i=1 TO mobj.lstright.listcount
  7.             k=mobj.lstRight.IndexToItemId(m.i)
  8.             FOR j=1 TO ALEN(mobj.aselections,1)
  9.                 IF mobj.aselections[m.j,2] = m.k
  10.                     wzaQFlds[m.i] = ALLTRIM(mobj.aselections[m.j,1])
  11.                     EXIT
  12.                 ENDIF
  13.             ENDFOR
  14.         ENDFOR
  15.     ENDIF
  16.     IF m.QWizType='R'
  17.         SET DELETED OFF
  18.         SELECT wzaCSDD_
  19.         DELETE ALL
  20.     ENDIF
  21.     IF !EMPTY(wzaQFlds[1])
  22.         FOR i=1 TO ALEN(wzaQflds)
  23.             wzaQFlds[m.i]=TRIM(wzaQFlds[m.i])
  24.             cTable=wzaQFlds[m.i]
  25.             cTable = LEFTC(m.cTable,AT_C('.',m.cTable)-1)
  26.             IF ASCANNER(@wzaQDD,m.cTable,1)=0
  27.                 IF m.QWizType='R'
  28.                     RECALL FOR table==PADR(m.cTable,LEN(table))
  29.                 ENDIF
  30.                 IF !EMPTY(wzaQDD[1,1])
  31.                     DIMENSION wzaQDD[ALEN(wzaQDD,1)+1,6]
  32.                 ENDIF
  33.                 wzaQDD[ALEN(wzaQDD,1),1]=ALLTRIM(m.cTable)
  34.                 wzaQDD[ALEN(wzaQDD,1),2]=""        &&Child expr for relation
  35.                 wzaQDD[ALEN(wzaQDD,1),3]=""        && parent alias
  36.                 wzaQDD[ALEN(wzaQDD,1),4]=""        && parent expr for relation
  37.                 wzaQDD[ALEN(wzaQDD,1),5]=IIF(oEngine.cOuterjoin=0,'0','1')        && outer join
  38.                 wzaQDD[ALEN(wzaQDD,1),6]=IIF(oEngine.nConnectHandle#0,m.cTable,DBF(ALIAS(ALLTRIM(m.cTable))))
  39.             ENDIF
  40.         ENDFOR
  41.     ENDIF
  42.     IF m.QWizType='R'
  43.         SET DELETED ON
  44.     ENDIF
  45. RETURN
  46.  
  47. PROC ASCANNER
  48.     PARAMETERS aArray,cSearch,nCol
  49.     external array aArray
  50.     LOCAL i
  51.     FOR i=1 TO ALEN(aArray,1)
  52.         IF TYPE("aArray[m.i,1]")='C' AND UPPER(aArray[m.i,1])==UPPER(cSearch)
  53.             RETURN m.i
  54.         ENDIF
  55.     ENDFOR
  56. RETURN 0