home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-05-25 | 35.9 KB | 1,198 lines |
- * *********************************************************
- * *
- * * 05/24/93 BQUERY.SPR 08:49:22
- * *
- * *********************************************************
- * *
- * * Steven Hsu, Wayne Lampel
- * *
- * * Copyright (c) 1993 Microsoft
- * * One Microsoft Way
- * * Redmond, WA 98052
- * *
- * * Description:
- * * This program was automatically generated by GENSCRN.
- * *
- * *********************************************************
-
- DO CASE
- CASE _WINDOWS
-
-
- #REGION 0
- REGIONAL m.currarea, m.talkstat, m.compstat
-
- IF SET("TALK") = "ON"
- SET TALK OFF
- m.talkstat = "ON"
- ELSE
- m.talkstat = "OFF"
- ENDIF
- m.compstat = SET("COMPATIBLE")
- SET COMPATIBLE FOXPLUS
-
- m.rborder = SET("READBORDER")
- SET READBORDER ON
-
- * *********************************************************
- * *
- * * Windows Window definitions
- * *
- * *********************************************************
- *
-
- IF NOT WEXIST("buildquery") ;
- OR UPPER(WTITLE("BUILDQUERY")) == "BUILDQUERY.PJX" ;
- OR UPPER(WTITLE("BUILDQUERY")) == "BUILDQUERY.SCX" ;
- OR UPPER(WTITLE("BUILDQUERY")) == "BUILDQUERY.MNX" ;
- OR UPPER(WTITLE("BUILDQUERY")) == "BUILDQUERY.PRG" ;
- OR UPPER(WTITLE("BUILDQUERY")) == "BUILDQUERY.FRX" ;
- OR UPPER(WTITLE("BUILDQUERY")) == "BUILDQUERY.QPR"
- DEFINE WINDOW buildquery ;
- AT 0.000, 0.000 ;
- SIZE 21.462,73.667 ;
- TITLE " Build Query " ;
- FONT "MS Sans Serif", 8 ;
- STYLE "B" ;
- FLOAT ;
- NOCLOSE ;
- SHADOW ;
- NOMINIMIZE ;
- DOUBLE
- MOVE WINDOW buildquery CENTER
- ENDIF
-
-
- * *********************************************************
- * *
- * * BQUERY/Windows Setup Code - SECTION 2
- * *
- * *********************************************************
- *
-
- #REGION 1
- DO buildtlist
-
- IF (ALEN(tablelist) < 2)
- ?? CHR(7)
- WAIT WINDOW "No tables in database"
- RETURN
- ENDIF
-
- DEFINE POPUP bqselectpop SCROLL MARGIN MARK " " MOVER
- DEFINE POPUP bqfrompop SCROLL MARGIN MARK " "
-
- DO buildfpop
- DO buildspop
-
-
- * *********************************************************
- * *
- * * BQUERY/Windows Screen Layout
- * *
- * *********************************************************
- *
-
- #REGION 1
- IF WVISIBLE("buildquery")
- ACTIVATE WINDOW buildquery SAME
- ELSE
- ACTIVATE WINDOW buildquery NOSHOW
- ENDIF
- @ 1.231,54.333 GET ExitAction ;
- PICTURE "@*VT \! E\<xecute ;\<Edit...;C\<lear;\?Close" ;
- SIZE 1.769,16.667,0.769 ;
- DEFAULT 1 ;
- FONT "MS Sans Serif", 8 ;
- STYLE "B"
- @ 0.462,1.500 GET FromButton ;
- PICTURE "@*VN \<From..." ;
- SIZE 1.769,8.000,1.000 ;
- DEFAULT 1 ;
- FONT "MS Sans Serif", 8 ;
- STYLE "B" ;
- VALID _qg30iwsfz()
- @ 2.615,1.667 GET FromPop ;
- PICTURE "@&N" ;
- POPUP BQFromPop ;
- SIZE 6.923,20.800 ;
- DEFAULT " " ;
- FONT "MS Sans Serif", 8 ;
- STYLE ""
- @ 2.615,21.167 GET SelectPop ;
- PICTURE "@&N" ;
- POPUP BQSelectPo ;
- SIZE 6.923,35.200 ;
- DEFAULT " " ;
- FONT "MS Sans Serif", 8 ;
- STYLE "" ;
- VALID _qg30iwstg()
- @ 0.462,21.000 GET SelectButton ;
- PICTURE "@*VN \<Select..." ;
- SIZE 1.769,10.000,0.000 ;
- DEFAULT 1 ;
- FONT "MS Sans Serif", 8 ;
- STYLE "B" ;
- VALID _qg30iwsxh()
- @ 10.308,1.667 GET Dummy ;
- PICTURE "@*VN \<Join..." ;
- SIZE 1.769,10.000,1.000 ;
- DEFAULT 1 ;
- FONT "MS Sans Serif", 8 ;
- STYLE "B" ;
- VALID _qg30iwt2e()
- @ 10.308,14.167 GET wherebut ;
- PICTURE "@*VN \<Where..." ;
- SIZE 1.769,10.000,1.000 ;
- DEFAULT 1 ;
- FONT "MS Sans Serif", 8 ;
- STYLE "B" ;
- VALID _qg30iwt6y()
- @ 12.615,1.833 GET EditWhere ;
- PICTURE "@&N" ;
- FROM WhereList ;
- RANGE 1, ALEN(WhereList) - 1 ;
- SIZE 8.077,83.800 ;
- DEFAULT 1 ;
- FONT "MS Sans Serif", 8 ;
- VALID _qg30iwtbd()
-
- IF NOT WVISIBLE("buildquery")
- ACTIVATE WINDOW buildquery
- ENDIF
-
- READ CYCLE MODAL ;
- VALID _qg30iwth1() ;
- ACTIVATE _qg30iwth6() ;
- WITH View
-
- RELEASE WINDOW buildquery
-
- #REGION 0
-
- SET READBORDER &rborder
-
- IF m.talkstat = "ON"
- SET TALK ON
- ENDIF
- IF m.compstat = "ON"
- SET COMPATIBLE ON
- ENDIF
-
-
- * *********************************************************
- * *
- * * BQUERY/Windows Cleanup Code
- * *
- * *********************************************************
- *
-
- #REGION 1
- RELEASE POPUP bqselectpop
- RELEASE POPUP bqfrompop
- RETURN
-
-
-
- CASE _DOS
-
-
- #REGION 0
- REGIONAL m.currarea, m.talkstat, m.compstat
-
- IF SET("TALK") = "ON"
- SET TALK OFF
- m.talkstat = "ON"
- ELSE
- m.talkstat = "OFF"
- ENDIF
- m.compstat = SET("COMPATIBLE")
- SET COMPATIBLE FOXPLUS
-
- * *********************************************************
- * *
- * * MS-DOS Window definitions
- * *
- * *********************************************************
- *
-
- IF NOT WEXIST("buildquery") ;
- OR UPPER(WTITLE("BUILDQUERY")) == "BUILDQUERY.PJX" ;
- OR UPPER(WTITLE("BUILDQUERY")) == "BUILDQUERY.SCX" ;
- OR UPPER(WTITLE("BUILDQUERY")) == "BUILDQUERY.MNX" ;
- OR UPPER(WTITLE("BUILDQUERY")) == "BUILDQUERY.PRG" ;
- OR UPPER(WTITLE("BUILDQUERY")) == "BUILDQUERY.FRX" ;
- OR UPPER(WTITLE("BUILDQUERY")) == "BUILDQUERY.QPR"
- DEFINE WINDOW buildquery ;
- FROM INT((SROW()-20)/2),INT((SCOL()-78)/2) ;
- TO INT((SROW()-20)/2)+19,INT((SCOL()-78)/2)+77 ;
- TITLE " Build Query " ;
- FLOAT ;
- NOCLOSE ;
- SHADOW ;
- NOMINIMIZE ;
- DOUBLE ;
- COLOR SCHEME 1
- ENDIF
-
-
- * *********************************************************
- * *
- * * BQUERY/MS-DOS Setup Code - SECTION 2
- * *
- * *********************************************************
- *
-
- #REGION 1
- DO buildtlist
-
- IF (ALEN(tablelist) < 2)
- ?? CHR(7)
- WAIT WINDOW "No tables in database"
- RETURN
- ENDIF
-
- DEFINE POPUP bqselectpop SCROLL MARGIN MARK " " MOVER
- DEFINE POPUP bqfrompop SCROLL MARGIN MARK " "
-
- DO buildfpop
- DO buildspop
-
-
- * *********************************************************
- * *
- * * BQUERY/MS-DOS Screen Layout
- * *
- * *********************************************************
- *
-
- #REGION 1
- IF WVISIBLE("buildquery")
- ACTIVATE WINDOW buildquery SAME
- ELSE
- ACTIVATE WINDOW buildquery NOSHOW
- ENDIF
- @ 2,59 GET ExitAction ;
- PICTURE "@*VT \! E\<xecute ;\<Edit...;C\<lear;\?Close" ;
- SIZE 1,16,1 ;
- DEFAULT 1
- @ 0,1 GET FromButton ;
- PICTURE "@*VN \<From..." ;
- SIZE 1,9,1 ;
- DEFAULT 1 ;
- VALID _qg30iwuuc()
- @ 1,1 GET FromPop ;
- PICTURE "@&N" ;
- POPUP BQFromPop ;
- SIZE 8,24 ;
- DEFAULT " " ;
- COLOR SCHEME 2
- @ 1,26 GET SelectPop ;
- PICTURE "@&N" ;
- POPUP BQSelectPo ;
- SIZE 8,31 ;
- DEFAULT " " ;
- VALID _qg30iwv7u() ;
- COLOR SCHEME 2
- @ 0,26 GET SelectButton ;
- PICTURE "@*VN \<Select..." ;
- SIZE 1,11,0 ;
- DEFAULT 1 ;
- VALID _qg30iwvc6()
- @ 10,1 GET Dummy ;
- PICTURE "@*VN \<Join..." ;
- SIZE 1,10,1 ;
- DEFAULT 1 ;
- VALID _qg30iwvgi()
- @ 10,14 GET wherebut ;
- PICTURE "@*VN \<Where..." ;
- SIZE 1,10,1 ;
- DEFAULT 1 ;
- VALID _qg30iwvk7()
- @ 11,1 GET EditWhere ;
- PICTURE "@&N" ;
- FROM WhereList ;
- RANGE 1, ALEN(WhereList) - 1 ;
- SIZE 7,74 ;
- DEFAULT 1 ;
- VALID _qg30iwvou() ;
- COLOR SCHEME 2
-
- IF NOT WVISIBLE("buildquery")
- ACTIVATE WINDOW buildquery
- ENDIF
-
- READ CYCLE MODAL ;
- VALID _qg30iwvth() ;
- ACTIVATE _qg30iwvtm() ;
- WITH View
-
- RELEASE WINDOW buildquery
-
- #REGION 0
- IF m.talkstat = "ON"
- SET TALK ON
- ENDIF
- IF m.compstat = "ON"
- SET COMPATIBLE ON
- ENDIF
-
-
- * *********************************************************
- * *
- * * BQUERY/MS-DOS Cleanup Code
- * *
- * *********************************************************
- *
-
- #REGION 1
- RELEASE POPUP bqselectpop
- RELEASE POPUP bqfrompop
- RETURN
-
-
-
- ENDCASE
-
-
- * *********************************************************
- * *
- * * _QG30IWSFZ FromButton VALID
- * *
- * * Function Origin:
- * *
- * * From Platform: Windows
- * * From Screen: BQUERY, Record Number: 3
- * * Variable: FromButton
- * * Called By: VALID Clause
- * * Snippet Number: 1
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwsfz && FromButton VALID
- #REGION 1
- PRIVATE i, tablename, COUNT, INLIST
-
- DO from.spr
- DO buildfpop
-
- DO buildslist
- DO buildspop
-
- DO buildclist
- *
- * Rebuild WHERE list. Must do this, because the removal of a
- * table could mean some of these columns can no longer be
- * SELECTed.
- *
- i = 1 && account for deletes from array which moves everything up
- DO WHILE (i < ALEN(wherelist))
- *
- * Extract table names from WHERE condition
- *
- restofwhere = wherelist[i]
- DIMENSION tablename[1]
- DO WHILE .T.
- endsep = AT(".", restofwhere)
- IF (endsep > 0)
- begsep = RAT(" ", SUBSTR(restofwhere, 1, endsep - 1))
- INLIST = ALEN(tablename)
- DIMENSION tablename[INLIST + 1]
- tablename[INLIST] = SUBSTR(restofwhere, begsep + 1,;
- endsep - begsep - 1)
- restofwhere = SUBSTR(restofwhere, endsep + 1)
- ELSE
- EXIT
- ENDIF
- ENDDO
-
- deleteflag = .F.
- INLIST = ALEN(tablename) - 1
- FOR j = 1 TO INLIST
-
- IF ( .NOT. infromlist(tablename[j]))
- DO delwhere WITH i
- deleteflag = .T.
- EXIT
- ENDIF
-
- ENDFOR
-
- IF ( .NOT. deleteflag)
- i = i + 1
- ENDIF
-
- ENDDO
- SHOW GET editwhere
-
- RETURN .T.
-
-
- * *********************************************************
- * *
- * * _QG30IWSTG SelectPop VALID
- * *
- * * Function Origin:
- * *
- * * From Platform: Windows
- * * From Screen: BQUERY, Record Number: 5
- * * Variable: SelectPop
- * * Called By: VALID Clause
- * * Snippet Number: 2
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwstg && SelectPop VALID
- #REGION 1
- DO buildslist
- DO buildspop
-
- RETURN .T.
-
-
- * *********************************************************
- * *
- * * _QG30IWSXH SelectButton VALID
- * *
- * * Function Origin:
- * *
- * * From Platform: Windows
- * * From Screen: BQUERY, Record Number: 6
- * * Variable: SelectButton
- * * Called By: VALID Clause
- * * Snippet Number: 3
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwsxh && SelectButton VALID
- #REGION 1
- DO buildslist
- DO select.spr
- DO buildspop
-
- RETURN .T.
-
-
- * *********************************************************
- * *
- * * _QG30IWT2E Dummy VALID
- * *
- * * Function Origin:
- * *
- * * From Platform: Windows
- * * From Screen: BQUERY, Record Number: 7
- * * Variable: Dummy
- * * Called By: VALID Clause
- * * Snippet Number: 4
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwt2e && Dummy VALID
- #REGION 1
- DO join.spr
- SHOW GET editwhere
- RETURN .T.
-
-
- * *********************************************************
- * *
- * * _QG30IWT6Y wherebut VALID
- * *
- * * Function Origin:
- * *
- * * From Platform: Windows
- * * From Screen: BQUERY, Record Number: 8
- * * Variable: wherebut
- * * Called By: VALID Clause
- * * Snippet Number: 5
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwt6y && wherebut VALID
- #REGION 1
- DO where.spr
- SHOW GET editwhere
- RETURN .T.
-
-
- * *********************************************************
- * *
- * * _QG30IWTBD EditWhere VALID
- * *
- * * Function Origin:
- * *
- * * From Platform: Windows
- * * From Screen: BQUERY, Record Number: 9
- * * Variable: EditWhere
- * * Called By: VALID Clause
- * * Snippet Number: 6
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwtbd && EditWhere VALID
- #REGION 1
- DO editwher.spr
-
- IF (EMPTY(wherelist[EditWhere]))
- DO delwhere WITH editwhere
- ENDIF
-
- SHOW GET editwhere
-
- RETURN .T.
-
-
- * *********************************************************
- * *
- * * _QG30IWTH1 Read Level Valid
- * *
- * * Function Origin:
- * *
- * *
- * * From Platform: Windows
- * * From Screen: BQUERY
- * * Called By: READ Statement
- * * Snippet Number: 7
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwth1 && Read Level Valid
- *
- * Valid Code from screen: BQUERY
- *
- #REGION 1
- DO buildslist
- DO buildspop
-
- sqlselect = buildsql()
-
- IF (exitaction == 1)
- DO xquery WITH sqlselect
- RETURN .F.
- ELSE
- IF (exitaction == 2)
- HIDE WINDOW buildquery
- DO editquer.spr
- RETURN .T.
- ELSE
- IF (exitaction == 3)
- DIMENSION fromlist[1]
- DIMENSION selectlist[1]
- DIMENSION wherelist[1]
- DO buildfpop
- DO buildspop
- SHOW GET editwhere
- RETURN .F.
- ELSE
- RETURN .T.
- ENDIF
- ENDIF
- ENDIF
-
-
- * *********************************************************
- * *
- * * _QG30IWTH6 Read Level Activate
- * *
- * * Function Origin:
- * *
- * *
- * * From Platform: Windows
- * * From Screen: BQUERY
- * * Called By: READ Statement
- * * Snippet Number: 8
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwth6 && Read Level Activate
- *
- * Activate Code from screen: BQUERY
- *
- #REGION 1
- if alen(fromlist) < 3
- show get dummy disabled
- else
- show get dummy enabled
- endif
- if alen(fromlist) < 2
- show get wherebut disabled
- else
- show get wherebut enabled
- endif
-
- * *********************************************************
- * *
- * * _QG30IWUUC FromButton VALID
- * *
- * * Function Origin:
- * *
- * * From Platform: MS-DOS
- * * From Screen: BQUERY, Record Number: 14
- * * Variable: FromButton
- * * Called By: VALID Clause
- * * Snippet Number: 9
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwuuc && FromButton VALID
- #REGION 1
- PRIVATE i, tableName, count, inList
-
- DO From.SPR
- DO BuildFPop
-
- DO BuildSList
- DO BuildSPop
-
- DO BuildCList
- *
- * Rebuild WHERE list. Must do this, because the removal of a
- * table could mean some of these columns can no longer be
- * SELECTed.
- *
- i = 1 && account for deletes from array which moves everything up
- DO WHILE (i < ALEN(WhereList))
- *
- * Extract table names from WHERE condition
- *
- restOfWhere = WhereList[i]
- DIMENSION tableName[1]
- DO WHILE .T.
- endSep = AT(".", restOfWhere)
- IF (endSep > 0)
- begSep = RAT(" ", SUBSTR(restOfWhere, 1, endSep - 1))
- inList = ALEN(tableName)
- DIMENSION tableName[inList + 1]
- tableName[inList] = SUBSTR(restOfWhere, begSep + 1,;
- endSep - begSep - 1)
- restOfWhere = SUBSTR(restOfWhere, endSep + 1)
- ELSE
- EXIT
- ENDIF
- ENDDO
-
- deleteFlag = .F.
- inList = ALEN(tableName) - 1
- FOR j = 1 TO inList
-
- IF (.NOT. InFromList(tableName[j]))
- DO DelWhere WITH i
- deleteFlag = .T.
- EXIT
- ENDIF
-
- ENDFOR
-
- IF (.NOT. deleteFlag)
- i = i + 1
- ENDIF
-
- ENDDO
- SHOW GET EditWhere
-
- RETURN .T.
-
-
- * *********************************************************
- * *
- * * _QG30IWV7U SelectPop VALID
- * *
- * * Function Origin:
- * *
- * * From Platform: MS-DOS
- * * From Screen: BQUERY, Record Number: 16
- * * Variable: SelectPop
- * * Called By: VALID Clause
- * * Snippet Number: 10
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwv7u && SelectPop VALID
- #REGION 1
- DO BuildSList
- DO BuildSPop
-
- RETURN .T.
-
- * *********************************************************
- * *
- * * _QG30IWVC6 SelectButton VALID
- * *
- * * Function Origin:
- * *
- * * From Platform: MS-DOS
- * * From Screen: BQUERY, Record Number: 17
- * * Variable: SelectButton
- * * Called By: VALID Clause
- * * Snippet Number: 11
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwvc6 && SelectButton VALID
- #REGION 1
- DO BuildSList
- DO Select.SPR
- DO BuildSPop
-
- RETURN .T.
-
- * *********************************************************
- * *
- * * _QG30IWVGI Dummy VALID
- * *
- * * Function Origin:
- * *
- * * From Platform: MS-DOS
- * * From Screen: BQUERY, Record Number: 18
- * * Variable: Dummy
- * * Called By: VALID Clause
- * * Snippet Number: 12
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwvgi && Dummy VALID
- #REGION 1
- DO Join.SPR
- SHOW GET EditWhere
- RETURN .T.
-
- * *********************************************************
- * *
- * * _QG30IWVK7 wherebut VALID
- * *
- * * Function Origin:
- * *
- * * From Platform: MS-DOS
- * * From Screen: BQUERY, Record Number: 19
- * * Variable: wherebut
- * * Called By: VALID Clause
- * * Snippet Number: 13
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwvk7 && wherebut VALID
- #REGION 1
- DO Where.SPR
- SHOW GET EditWhere
- RETURN .T.
-
- * *********************************************************
- * *
- * * _QG30IWVOU EditWhere VALID
- * *
- * * Function Origin:
- * *
- * * From Platform: MS-DOS
- * * From Screen: BQUERY, Record Number: 20
- * * Variable: EditWhere
- * * Called By: VALID Clause
- * * Snippet Number: 14
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwvou && EditWhere VALID
- #REGION 1
- DO EditWher.SPR
-
- IF (EMPTY(WhereList[EditWhere]))
- DO DelWhere WITH EditWhere
- ENDIF
-
- SHOW GET EditWhere
-
- RETURN .T.
-
-
- * *********************************************************
- * *
- * * _QG30IWVTH Read Level Valid
- * *
- * * Function Origin:
- * *
- * *
- * * From Platform: MS-DOS
- * * From Screen: BQUERY
- * * Called By: READ Statement
- * * Snippet Number: 15
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwvth && Read Level Valid
- *
- * Valid Code from screen: BQUERY
- *
- #REGION 1
- DO buildslist
- DO buildspop
-
- sqlselect = buildsql()
-
- IF (exitaction == 1)
- DO xquery WITH sqlselect
- RETURN .F.
- ELSE
- IF (exitaction == 2)
- HIDE WINDOW buildquery
- DO editquer.spr
- RETURN .T.
- ELSE
- IF (exitaction == 3)
- DIMENSION fromlist[1]
- DIMENSION selectlist[1]
- DIMENSION wherelist[1]
- DO buildfpop
- DO buildspop
- SHOW GET editwhere
- RETURN .F.
- ELSE
- RETURN .T.
- ENDIF
- ENDIF
- ENDIF
-
-
- * *********************************************************
- * *
- * * _QG30IWVTM Read Level Activate
- * *
- * * Function Origin:
- * *
- * *
- * * From Platform: MS-DOS
- * * From Screen: BQUERY
- * * Called By: READ Statement
- * * Snippet Number: 16
- * *
- * *********************************************************
- *
- FUNCTION _qg30iwvtm && Read Level Activate
- *
- * Activate Code from screen: BQUERY
- *
- #REGION 1
- if alen(fromlist) < 3
- show get dummy disabled
- else
- show get dummy enabled
- endif
- if alen(fromlist) < 2
- show get wherebut disabled
- else
- show get wherebut enabled
- endif
-
-
- * *********************************************************
- * *
- * * BQUERY/MS-DOS Supporting Procedures and Functions
- * *
- * *********************************************************
- *
-
- #REGION 1
-
- * *********************************************************
- * *
- * * BQUERY Function INFROMLIST
- * *
- * *********************************************************
- *
-
-
- PROCEDURE INFROMLIST
- PARAMETERS TABLENAME
- DO CASE
- CASE _DOS
- PRIVATE nfroms, i
- nfroms = ALEN(fromlist)
- FOR i = 1 TO nfroms - 1
- IF (tablename == fromlist[i])
- RETURN .T.
- ENDIF
- ENDFOR
- RETURN .F.
-
- CASE _WINDOWS
- PRIVATE nfroms, i
- nfroms = ALEN(fromlist)
- FOR i = 1 TO nfroms - 1
- IF (tablename == fromlist[i])
- RETURN .T.
- ENDIF
- ENDFOR
- RETURN .F.
-
- ENDCASE
-
- * *********************************************************
- * *
- * * BQUERY Procedure DELWHERE
- * *
- * *********************************************************
- *
-
-
- PROCEDURE DELWHERE
- PARAMETERS I
- DO CASE
- CASE _DOS
- PRIVATE lenlist
- = ADEL(wherelist, i)
- lenlist = ALEN(wherelist)
- IF (i != 1)
- = ADEL(wherelist, i - 1)
- lenlist = lenlist - 1
- ELSE && i == 1, so logical connector follows
- IF (lenlist > 1) && if there is one
- = ADEL(wherelist, i)
- lenlist = lenlist - 1
- ENDIF
- ENDIF
- DIMENSION wherelist[MAX(lenList - 1, 1)]
- RETURN
-
- CASE _WINDOWS
- PRIVATE lenlist
- = ADEL(wherelist, i)
- lenlist = ALEN(wherelist)
- IF (i != 1)
- = ADEL(wherelist, i - 1)
- lenlist = lenlist - 1
- ELSE && i == 1, so logical connector follows
- IF (lenlist > 1) && if there is one
- = ADEL(wherelist, i)
- lenlist = lenlist - 1
- ENDIF
- ENDIF
- DIMENSION wherelist[MAX(lenList - 1, 1)]
- RETURN
-
- ENDCASE
-
- * *********************************************************
- * *
- * * BQUERY Procedure BUILDSLIST
- * *
- * *********************************************************
- *
-
-
- PROCEDURE BUILDSLIST
- DO CASE
- CASE _DOS
- PRIVATE lenlist, i, COUNT, neworder, tablename
- *
- * Get current order on popup
- *
- lenlist = ALEN(selectlist) - 1
- DIMENSION neworder[lenList + 1]
- FOR i = 1 TO lenlist
- neworder[i] = selectlist[GETBAR("BQSelectPo", i)]
- ENDFOR
- FOR i = 1 TO lenlist
- selectlist[i] = neworder[i]
- ENDFOR
- *
- * Check against FROM list
- *
- i = 1 && account for deletes from array SelectList which moves everything up
- FOR COUNT = 1 TO lenlist
- *
- * Extract table name from column name
- *
- tablename = SUBSTR(selectlist[i], 1, AT(".", selectlist[i]) - 1)
- IF ( .NOT. infromlist(tablename))
- = ADEL(selectlist, i)
- ELSE
- i = i + 1
- ENDIF
- ENDFOR
- DIMENSION selectlist[i]
- RETURN && PROCEDURE BuildSList
-
-
- CASE _WINDOWS
- PRIVATE lenlist, i, COUNT, neworder, tablename
- *
- * Get current order on popup
- *
- lenlist = ALEN(selectlist) - 1
- DIMENSION neworder[lenList + 1]
- FOR i = 1 TO lenlist
- neworder[i] = selectlist[GETBAR("BQSelectPo", i)]
- ENDFOR
- FOR i = 1 TO lenlist
- selectlist[i] = neworder[i]
- ENDFOR
- *
- * Check against FROM list
- *
- i = 1 && account for deletes from array SelectList which moves everything up
- FOR COUNT = 1 TO lenlist
- *
- * Extract table name from column name
- *
- tablename = SUBSTR(selectlist[i], 1, AT(".", selectlist[i]) - 1)
- IF ( .NOT. infromlist(tablename))
- = ADEL(selectlist, i)
- ELSE
- i = i + 1
- ENDIF
- ENDFOR
- DIMENSION selectlist[i]
- RETURN && PROCEDURE BuildSList
-
-
- ENDCASE
-
- * *********************************************************
- * *
- * * BQUERY Procedure BUILDSPOP
- * *
- * *********************************************************
- *
-
-
- PROCEDURE BUILDSPOP
- DO CASE
- CASE _DOS
- PRIVATE lenlist, i
- RELEASE BAR ALL OF bqselectpop
- lenlist = ALEN(selectlist) - 1
- FOR i = 1 TO lenlist
- DEFINE BAR (i) OF bqselectpop PROMPT selectlist[i]
- ENDFOR
- SHOW GET selectpop
- RETURN
-
-
- CASE _WINDOWS
- PRIVATE lenlist, i
- RELEASE BAR ALL OF bqselectpop
- lenlist = ALEN(selectlist) - 1
- FOR i = 1 TO lenlist
- DEFINE BAR (i) OF bqselectpop PROMPT selectlist[i]
- ENDFOR
- SHOW GET selectpop
- RETURN
-
-
- ENDCASE
-
- * *********************************************************
- * *
- * * BQUERY Procedure BUILDFPOP
- * *
- * *********************************************************
- *
-
-
- PROCEDURE BUILDFPOP
- DO CASE
- CASE _DOS
- PRIVATE lenlist
- RELEASE BAR ALL OF bqfrompop
- lenlist = ALEN(fromlist) - 1
- FOR i = 1 TO lenlist
- DEFINE BAR (i) OF bqfrompop PROMPT fromlist[i]
- ENDFOR
- SHOW GET fpopdummy
- RETURN
-
-
- CASE _WINDOWS
- PRIVATE lenlist
- RELEASE BAR ALL OF bqfrompop
- lenlist = ALEN(fromlist) - 1
- FOR i = 1 TO lenlist
- DEFINE BAR (i) OF bqfrompop PROMPT fromlist[i]
- ENDFOR
- SHOW GET fpopdummy
- RETURN
-
-
- ENDCASE
-
- * *********************************************************
- * *
- * * BQUERY Procedure BUILDCLIST
- * *
- * *********************************************************
- *
-
-
- PROCEDURE BUILDCLIST
- DO CASE
- CASE _DOS
- DIMENSION columnlist[1]
- nfrom = ALEN(fromlist)
- FOR i = 1 TO nfrom - 1
- DO addcolumns WITH fromlist[i]
- ENDFOR
- RETURN
-
-
- CASE _WINDOWS
- DIMENSION columnlist[1]
- nfrom = ALEN(fromlist)
- FOR i = 1 TO nfrom - 1
- DO addcolumns WITH fromlist[i]
- ENDFOR
- RETURN
-
-
- ENDCASE
-
- * *********************************************************
- * *
- * * BQUERY Procedure ADDCOLUMNS
- * *
- * *********************************************************
- *
-
-
- PROCEDURE ADDCOLUMNS
- PARAMETERS TABLENAME
- DO CASE
- CASE _DOS
- PRIVATE lenlist
- IF (ckhandle == 0)
- SELECT 0
- USE columns
- ELSE
- = dbcols(ckhandle, tablename, "FoxPro")
- ENDIF
- lenlist = ALEN(columnlist)
- DIMENSION columnlist[lenList + RECCO()]
- SCAN
- columnlist[lenList] = tablename + "." + LOWER(ALLTRIM(field_name))
- lenlist = lenlist + 1
- ENDSCAN
- USE
- RETURN
-
- CASE _WINDOWS
- PRIVATE lenlist
- IF (ckhandle == 0)
- SELECT 0
- USE columns
- ELSE
- IF (m.asynch == 1) && Asynch
- retcode = 0
- DO WHILE (retcode == 0)
- retcode = dbcols(ckhandle, tablename, "Native")
- ENDDO
- ELSE
- retcode = dbcols(ckhandle, tablename, "Native")
- ENDIF
- ENDIF
- lenlist = ALEN(columnlist)
- DIMENSION columnlist[lenList + RECCO()]
- SCAN
- columnlist[lenList] = tablename + "." + ALLTRIM(column_nam)
- lenlist = lenlist + 1
- ENDSCAN
- USE
- RETURN
-
- ENDCASE