Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Esta es la respuesta para una consulta de como armar un select a partir de datos contenidos en una tabla
- La tabla tablas contiene dos campos:
- tablename: Nombre de las tablas. ej: Clientes, Camiones, etc
- fieldname: Son los campos de las tabla
- CLOSE DATABASE
- LOCAL oGenerador, lcCadenaSQL
- oGenerador = CREATEOBJECT('generadorSQL')
- lcCadenaSQL = oGenerador.getSelect('clientes')
- WAIT WINDOWS lcCadenaSQL
- *
- *|--------------------------------------------------------------------------
- *| generadorSQL.prg
- *|--------------------------------------------------------------------------
- *| Archivo principal del sistema
- *| Author......: Raúl Jrz (raul.jrz@gmail.com)
- *| Created.....:
- *| Purpose.....:
- *| Revisions...:
- *|
- */
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *
- *|--------------------------------------------------------------------------
- *| generadorSQL.prg
- *|--------------------------------------------------------------------------
- *| Archivo principal del sistema
- *| Author......: Raúl Jrz (raul.jrz@gmail.com)
- *| Created.....:
- *| Purpose.....:
- *| Revisions...:
- *|
- */
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *|--------------------------------------------------------------------------
- *| generadorSQL.prg
- *|--------------------------------------------------------------------------
- *| Archivo principal del sistema
- *| Author......: Raúl Jrz (raul.jrz@gmail.com)
- *| Created.....:
- *| Purpose.....:
- *| Revisions...:
- *|
- */
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *| generadorSQL.prg
- *|--------------------------------------------------------------------------
- *| Archivo principal del sistema
- *| Author......: Raúl Jrz (raul.jrz@gmail.com)
- *| Created.....:
- *| Purpose.....:
- *| Revisions...:
- *|
- */
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *|--------------------------------------------------------------------------
- *| Archivo principal del sistema
- *| Author......: Raúl Jrz (raul.jrz@gmail.com)
- *| Created.....:
- *| Purpose.....:
- *| Revisions...:
- *|
- */
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *| Archivo principal del sistema
- *| Author......: Raúl Jrz (raul.jrz@gmail.com)
- *| Created.....:
- *| Purpose.....:
- *| Revisions...:
- *|
- */
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *| Author......: Raúl Jrz (raul.jrz@gmail.com)
- *| Created.....:
- *| Purpose.....:
- *| Revisions...:
- *|
- */
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *| Created.....:
- *| Purpose.....:
- *| Revisions...:
- *|
- */
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *| Purpose.....:
- *| Revisions...:
- *|
- */
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *| Revisions...:
- *|
- */
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *|
- */
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- */
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *-----------------------------------------------------------------------------------*
- DEFINE CLASS generadorSQL AS Custom
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFI
- *-----------------------------------------------------------------------------------*
- *----------------------------------------------------------------------------*
- FUNCTION init
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION getSelect
- LPARAMETERS tcTableName
- *
- *----------------------------------------------------------------------------*
- LOCAL lcTableName, lcListField, lcListWhere, lcSelectReturn
- lcTableName=ALLTRIM(LOWER(tcTableName))
- THIS.abrirTablaPrincipal()
- THIS.generaCursorTemporal(lcTableName, 'tmpTablas')
- IF RECCOUNT('tmpTablas')>0 THEN
- lcListField = ''
- lcListWhere = ''
- SCAN REST WHILE tmpTablas.tablename=lcTableName
- lcListField = lcListField + ALLTRIM(tmpTablas.FieldName) + ', '
- lcListWhere = lcListWhere + '!EMPTY('+ALLTRIM(tmpTablas.FieldName)+') AND '
- ENDSCAN
- lcListField = SUBSTR(lcListField,1,LEN(lcListField)-2)
- lcListWhere = SUBSTR(lcListWhere,1,LEN(lcListWhere)-4)
- lcSelectReturn = 'SELECT '+lcListField + " FROM "+lcTableName;
- +' WHERE '+lcListWhere
- ENDIF
- IF USED('tmpTablas') THEN
- USE IN tmpTablas
- ENDIF
- RETURN lcSelectReturn
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION generaCursorTemporal
- LPARAMETERS tcTableName, tcCursorName
- *
- *----------------------------------------------------------------------------*
- SELECT tablename, fieldname ;
- FROM tablas;
- WHERE tablas.tablename=tcTableName;
- INTO CURSOR (tcCursorName)
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION abrirTablaPrincipal
- *
- *----------------------------------------------------------------------------*
- IF !USED('tablas') THEN
- IF !FILE('tablas.dbf') THEN
- CREATE TABLE tablas (tablename C(12), fieldname C(12))
- USE IN tablas
- ENDIF
- USE tablas IN 0
- ENDIF
- ENDFUNC
- *----------------------------------------------------------------------------*
- FUNCTION destroy
- *
- *----------------------------------------------------------------------------*
- ENDFUNC
- ENDDEFINE
Add Comment
Please, Sign In to add comment