FoxPro/Visual FoxPro - Que error hay aquí?

 
Vista:

Que error hay aquí?

Publicado por StoK (79 intervenciones) el 06/05/2001 10:06:43
Hola amigos, alguien me podria decir que error hay en la siguiente instrucción:

BaseDatos = 'FV' + thisform.txtperiodo.text
fechaini=ctod(thisform.txtinifecha.text)
fechafin=ctod(thisform.txtfinfecha.text)


SELECT &BaseDatos.cantidad*&BaseDatos.costo as fac_costo, &BaseDatos.precio-(&BaseDatos.precio(&BaseDatos.descuento/100)) as fac_venta, &BaseDatos.precio -(&BaseDatos.precio * (&BaseDatos.descuento/100)) - &BaseDatos.costo as util_unit, util_unit * &BaseDatos.cantidad as util_total FROM &BaseDatos where between(fecha,ctod('&fechaini'),ctod('&fechafin')) into cursor prueba

Muchas Gracias

Sergio
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:Que error hay aquí?

Publicado por wences (457 intervenciones) el 07/05/2001 11:40:41
Prueba a quitar el &basedatos. excepto despues de FROM , deberia funcionar correctamente ....
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:Que error hay aquí?

Publicado por Gandalf (17 intervenciones) el 08/05/2001 16:30:20
Por un lado falta un * en la expresión del campo fac_venta. Además las variables fechaini y fechafin son convertidas al tipo Date antes del SELECT-SQL por lo tanto al hacer ctod('&fechaini') o ctod('&fechafin') te dispara un error de tipo de datos.
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:Que error hay aquí?

Publicado por japiper (93 intervenciones) el 10/05/2001 21:35:43
en el fac_venta te falta la multiplicacion, despues en basedatos="FV"+text tendria que ser basedatos="FV"+ allt(text), en el between debes usar el de sql que es where fecha between fechainicio and fechafin sin los & , pero las variables de fecha tiene que convertirlas antes a tipo date con fechafin=ctod(fechafin) en el caso que sean de caracter. TAmbien cada linea de sql va al final con punto y coma menos la ultima. Y en el select no le saques el & porque te va a tomar el nombre de la tabla como basededatos.
Si no anda avisame.
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