FoxPro/Visual FoxPro - Ayuda con select y variables

 
Vista:
sin imagen de perfil

Ayuda con select y variables

Publicado por Moises Vilchez (6 intervenciones) el 21/12/2009 16:54:35
saludos amigos foxeros, necesito una manito, explico mi problema

tengo un form de registro de articulos, este tiene un campo de lineas, donde debo ingresar la linea,
codigo ----
descripcion ---
unid de medida ---
codlinea ---

he creado otro form de buqueda de lineas para q me ayude a seleccionar, este form consta de un text y un grid.

al dar un enter en el text codlinea de mi formulario de registro este me llama al form de busqueda de lineas

hasta ahi todo bien... lo estoy manejando con parametros, es decir desde el form de registro envio el nombre de la tabla, campo1 y campo2 en variables x ejemplo:

sqlConsulta = [Select codline, nomb FROM Tb_Lineas]
IF Sqlexec(datosql, sqlConsulta ,'SQLLineas' ) < 0
MESSAGEBOX(' Ocurrio un error al conectarse el servidor',16)
RETURN
ENDIF
SELECT SQLLineas
title='Busqueda de Lineas' && titulo de ventana
sBusca= '1200' && Nombre de cursor
sTabla='SQLLineas' && Nombre de la Tabla
sCamp1='SQLLineas. codline' && Campo1
sCamp2='SQLLineas. nomb' && Campo2
DO FORM w_man_bus.scx WITH title, sBusca, sTabla, sCamp1, sCamp2

estas las recibo en el form de busquedad en el evento init

Do Case
CASE sBusca='sBusca' && registro de Lineas
thisform.caption= title
thisform.grid1. RecordSource = sTabla
thisform.grid1. column1.controls ource = sCamp1
thisform.grid1. column2.controls ource = sCamp2
endCase

OJO: con el codigo q adjunto abajo me trabaja, pero solo para una tabla osea las variables q envio no me sirven de mucho, la idea es colocar el el select los parametros enviados, como stabla, scamp1, scamp2, de esta manera

select (sCamp1), (sCamp2) FROM (Tabla), etctc

&& codigo q trabaja especificando los campos y tabla
LOCAL lbusca
lbusca = UPPER(ALLTRIM( This.value) ) && this.value hace referencia al thisform.text1. value
Thisform.grid1. RecordSource = ''
IF LEFT(lbusca, 1)='*'
cbusca =ALLTRIM(SUBSTR( lbusca,2) )
Select SQLLineas.codline, SQLLineas.nomb;
FROM SQLLineas;
Where SQLLineas.nomb= lbusca;
order by SQLLineas.nomb ;
into cursor cLineas
ELSE
Select SQLLineas.codline, SQLLineas.nomb;
FROM SQLLineas;
Where(not deleted()) AND;
(SQLLineas.nomb like "%"+ lbusca + "%" );
order by SQLLineas.nomb ;
into cursor cLineas
Endi
IF _Tally#0 && Cuando tiene valores la consulta
thisform.grid1. RecordSource = 'cLineas'
Thisform.grid1. RecordSourceType = 1
ELSE
Thisform.grid1. RecordSource = ''
ENDIF
Thisform.grid1. refresh
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Ayuda con select y variables

Publicado por DALSOM (612 intervenciones) el 21/12/2009 23:42:18
A VER, CREO QUE PRIMERO, DEBES TENER TU GRID DE BUSQUEDA VACIO,
Y YA EN EL INIT DEL FORM, ES DONDE LE ASIGNAS LAS PROPIEDADES AL GRID COMO EL RECORDSOURCE, RECORDSOURCETYPE, NUMERO DE COLUMNAS Y CAPTIONS DE HEADERS.

DESPUES DE ESO, LO DEMAS ES SIMPLE FALTA DE ORTOGRAFIAS, O ERRORES DE DIGITACION.

PERSONALMENTE, CREO QUE DEBERIAS MANEJAR LA TABLA INTERNAMENTE, YA EL EN FORM DE BUSQUEDA, ESO SUPONIENDO QUE ESTAS USANDO SQL. Y POR CADA BUSQUEDA QUE HAGAS, QUE SEA UNA BUSQUEDA DIRECTA A SQL, NO UN FILTRO O LOCATE O SEEK EN FOX.

PERO, TAL CUAL LO TIENES, DEBE FUNCIONAR.

SALUDOS, Y FELICIDADES,
DESDE REP. DOMINICANA,

DALSOM.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar