FoxPro/Visual FoxPro - Ayuda (Set Filter to) Error

 
Vista:
Imágen de perfil de Luis Eduardo

Ayuda (Set Filter to) Error

Publicado por Luis Eduardo (2 intervenciones) el 23/01/2015 18:18:55
Buenas, tengo un problema con el Set Filter To,Estoy haciendo un Form de busqueda, donde tengo que ingresar Una matricula (Numerica) y en un grid debe salir los datos del estudiante, el problema es que cuando quiero abrir desde el menu el form de busquedas, me salta un error (Function argument value, type, or count is invalid.) y me sale remarcado el Codigo del Set Filter to

Codigo FormBusq ** Procedure Init

thisform.AutoCenter=.t.
thisform.Closable=.f.
thisform.txtmatricula.TabIndex=1
thisform.cmdbuscar.TabIndex=2

SELECT tbmiembros
busqueda='upper(ALLTRIM(thisform.txtmatricula.Text))$UPPER(matricula)'
->SET FILTER TO &busqueda <<<<<-(AQUI ME SALE EL ERROR REMARCADO)

thisform.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

Ayuda (Set Filter to) Error

Publicado por Mauricio (45 intervenciones) el 23/01/2015 20:05:40
Codigo FormBusq ** Procedure Init

thisform.AutoCenter=.t.
thisform.Closable=.f.
thisform.txtmatricula.TabIndex=1
thisform.cmdbuscar.TabIndex=2
SELECT tbmiembros

En el VALID de txtmatricula.txt:
busqueda = upper(ALLTRIM(thisform.txtmatricula.Text.value))
SET FILTER TO &busqueda
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
sin imagen de perfil
Val: 29
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Ayuda (Set Filter to) Error

Publicado por RICHARD ANTONIO (197 intervenciones) el 24/01/2015 16:15:32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public lcAlias,cbus,cbus1
 
cbus= alltrim(thisform.sqlText1.value)
IF EMPTY(cbus)
	RETURN
ENDIF
FOR i=1 TO LEN(cbus)
	IF SUBSTR(cbus,i,1)="*"
		cbus = STUFF(cbus,i,1,"%")
	ENDIF
ENDFOR
cbus = cbus+"%"
*?m.cbus = cbus
* BUSCADO POR NOMBRE
*IF ckcon = 1
	thisform.grid1.RecordSource = ""
   LCcu1="SELECT codciudad,nombreciu FROM tdato008 where UPPER(tdato008.nombreciu) like UPPER(?M.cbus)"
    lcrdo1 = SQLEXEC (gn1,lcCu1,"cur_ciu1")
 if lcrdo1 < 0
    Aerror(verror)
   * wait window 'Error '+
   mMens2 = verror(2)
    =SQLRollback(gn1)
	 mMens1="No se Puede completar la Operación "
	 mOpc = messagebox(mMens1 + mMens2,0+32,"Atencion")
     return
  endif
	thisform.grid1.RecordSource = "cur_ciu1"
	RETURN

cuando escribes las primeras letras de la ciudad y le das click() en buscar el te muestra las coincidencias de lo que escribiste.
espero te sirva

buscar
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
sin imagen de perfil

Ayuda (Set Filter to) Error

Publicado por Fernando (31 intervenciones) el 26/01/2015 15:23:55
Mejor que el set filter es crear un cursor
este es un ejemplo:


USE ventasfact!deudacliente_datos SHARED

select * from deudacliente_datos into cursor cursordeuda where vende=filtrovende
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
Imágen de perfil de Marcos

Ayuda (Set Filter to) Error

Publicado por Marcos (15 intervenciones) el 26/01/2015 19:24:57
Mi estimado!

prueba poniendo entre comillas el dato:

busqueda = '"'+upper(ALLTRIM(thisform.txtmatricula.Text.value))+'"'

Otro de los problemas puede ser que la variable "busqueda" haya salido de ámbito. Si la variable es local, puede que ya no funcione en otro ámbito, en ese caso puede hacerla pública al momento de declararla o en lugar de usar una variable, crea una propiedad en el formulario que te permita el ámbito necesario.

Consejo: Cada vez que nos ayuden con algún problema, no nos quedemos con la solución, hay que estudiar sobre los comando y funciones que se vieron involucrados en nuestra solución, para lograr un buen dominio y que no volvamos a tropezar con la misma piedra. ¡Hay que aprender a pescar!

Saludos cordiales!
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