FoxPro/Visual FoxPro - Problema SQL y Grid

   
Vista:

Problema SQL y Grid

Publicado por Pablo (Argentina) (433 intervenciones) el 17/06/2010 16:25:57
Hola Amigos del foro, les comento, tengo un form en el cuando utilizo la clase LMCAL (clase Calendario) para seleccionar desde que fecha, hasta que fecha quiero filtrar la tabla para imprimir un resumen, lo hago asi.

en el INIT:

thisform.text1.enabled = .T.
thisform.text1.setfocus
thisform.refrescagrilla

Text1 lo utilizo para poner el codigo del vendedor del cuando voy a buscar los datos

en el refrescagrilla, tengo lo siguiente:

vfec_ini = CTOD(thisform.textfechini.Value)
vfec_fin = CTOD(thisform.textfechentre.value)
thisform.grid1.RecordSource = ""
SELECT controlorden.solicitud, controlorden.tipocambio, controlorden.fecha, controlorden.nombre,;
controlorden.cliente, controlorden.factura, controlorden.pin, stock.preciocompra;
FROM controlorden,vendedores;
WHERE controlorden.pin = thisform.text1.Value AND BETWEEN(fecha,vfec_ini,vfec_fin);
ORDER BY controlorden.fecha INTO CURSOR comisionescater
thisform.grid1.RecordSource = "comisionescater"

Que es lo que sucede, cuando le doy a Boton Buscar que ejecuta nuevamente el thisfom.refrescargrilla con los datos de las fecha y el pin del vendedor me da siempre error.

me dice "El valor, tipo o numero de argumento no es valido para la funcion" o algo asi no lo recuerdo tan exacto pero ya deben saber.

¿Alguien me puede decir donde esta el error? o porque, donde puedo estar

Muchas Gracias

Pablo
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

RE:Problema SQL y Grid

Publicado por es_binario (757 intervenciones) el 17/06/2010 17:04:21
en el INIT del form me supongo, cambialo por esto

thisform.text1.enabled = .T.
thisform.text1.setfocus
thisform.refrescagrilla
*// nuevo ------------------
thisform.grid1.RecordSource = ""
thisform.textfechini.Value = date()
thisform.textfechentre.value = date()

Text1 lo utilizo para poner el codigo del vendedor del cuando voy a buscar los datos

en el refrescagrilla, tengo lo siguiente:

*// otro cambio -----------------
vfec_ini = thisform.textfechini.Value
vfec_fin = thisform.textfechentre.value

thisform.grid1.RecordSource = ""
SELECT controlorden.solicitud, controlorden.tipocambio, controlorden.fecha, controlorden.nombre,;
controlorden.cliente, controlorden.factura, controlorden.pin, stock.preciocompra;
FROM controlorden,vendedores;
WHERE controlorden.pin = thisform.text1.Value AND BETWEEN(fecha,vfec_ini,vfec_fin);
ORDER BY controlorden.fecha INTO CURSOR comisionescater
thisform.grid1.RecordSource = "comisionescater"

Me cuentas que sucede.
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

RE:Problema SQL y Grid

Publicado por Pablo (Argentina) (433 intervenciones) el 17/06/2010 22:30:56
Hola Amigo, mira probe lo que me decis pero no funciono, me sigue dando el mismo error, y a parte es esto

vfec_ini = thisform.textfechini.Value
vfec_fin = thisform.textfechentre.value

tengo que usar CTOD sino tambien me da error.

¿Alguna otra idea de que puede estar pasando?

Muchas Gracias

Pablo - Argentina
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 Mauricio

Problema SQL y Grid

Publicado por Mauricio (1368 intervenciones) el 18/06/2010 00:04:24
Pablo, tienes un problema de datos, para empezar a detectar el error, me gustaria que hicieras 3 pruebas:

1-
vfec_ini = CTOD(thisform.textfechini.Value)
vfec_fin = CTOD(thisform.textfechentre.value)
thisform.grid1.RecordSource = ""
SELECT controlorden.solicitud, controlorden.tipocambio, controlorden.fecha, controlorden.nombre, controlorden.cliente, controlorden.factura, ;
controlorden.pin, stock.preciocompra FROM controlorden,vendedores;
WHERE controlorden.pin = thisform.text1.Value INTO CURSOR comisionescater
*
Si aca da error quiere decir que thisform.text1.value tienes que revisarlo, aunque no creo que sea este campo.
*****************************************************
2-
vfec_ini = CTOD(thisform.textfechini.Value)
vfec_fin = CTOD(thisform.textfechentre.value)
thisform.grid1.RecordSource = ""
SELECT controlorden.solicitud, controlorden.tipocambio, controlorden.fecha, controlorden.nombre,controlorden.cliente, controlorden.factura, ;
controlorden.pin, stock.preciocompra FROM controlorden,vendedores;
WHERE controlorden.pin = thisform.text1.Value AND BETWEEN(fecha,vfec_ini,vfec_fin) INTO CURSOR comisionescater
*
Aca puede que se de el error por como este capturadas las 2 fechas entonces tendrias que usar CTOD
*****************************************************
3-
vfec_ini = CTOD(thisform.textfechini.Value)
vfec_fin = CTOD(thisform.textfechentre.value)
thisform.grid1.RecordSource = ""
SELECT controlorden.solicitud, controlorden.tipocambio, controlorden.fecha, controlorden.nombre,controlorden.cliente, controlorden.factura, ;
ontrolorden.pin, stock.preciocompra FROM controlorden,vendedores;
WHERE controlorden.pin = thisform.text1.Value AND BETWEEN(fecha,vfec_ini,vfec_fin) ORDER BY controlorden.fecha INTO CURSOR comisionescater
*
Si aca da error quiere decir que controlorden.fecha tiene error de definicion de datos, avisa como te va....
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

RE:Problema SQL y Grid

Publicado por Pablo (Argentina) (433 intervenciones) el 18/06/2010 16:09:40
Gracias Amigos, ya lo soluciones, el problema estaba en que no tenia que usar el CTOD.

Gracias

Pablo
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