FoxPro/Visual FoxPro - parametro a select top xx

   
Vista:

parametro a select top xx

Publicado por pipo (6 intervenciones) el 13/06/2009 18:15:32
Como parametrizo el valor del select top en una consulta SQL a SQLServer2000
desde un form VFP9????
Esto me genera error: (sintaxis incorrecta cerca de '@1P')
select top ?lnTop campo1.campo2........ where codiarti = ?lcCod...
Donde lnTop lo obtengo de un control spinner.
Si escribo
select top 5 campo1.campo2........ where codiarti = ?lcCod...
trabaja bien.

Gracias por la ayuda
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
Imágen de perfil de Mauricio

RE:parametro a select top xx

Publicado por Mauricio (1367 intervenciones) el 13/06/2009 19:27:41
Revisa y corrige algo de esto:
select top 5 * FROM tu_tabla ORDER BY codigo_de_ordenacion
*
Esto me genera error: (sintaxis incorrecta cerca de '@1P')
select top ?lnTop campo1.campo2........ where codiarti = ?lcCod...
ACA donde va el from?
Tambien cuando usas el 'top' es obligacion de comando ordenarlo por algo
aca no veo el FROM NI EL ORDER BY
select top 5 campo1.campo2........ where codiarti = ?lcCod...
Suerte!!!!!!!!!!!!!!!!!!!!!!
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:parametro a select top xx

Publicado por pipo (6 intervenciones) el 15/06/2009 15:33:20
Gracias Mauricio por tu atencion, aqui muestro la sentencia completa:

SI funciona

SELECT TOP 5 DOCUMD.tipdoc, DOCUMD.numdoc, DOCUMD.fecdoc, DOCUMD.canti,DOCUMD.precio, DOCUMD.dl, DOCUMD.preal, DOCUMD.rut,
CLIENTES.razonsoc FROM DOCUMD INNER JOIN
CLIENTES ON DOCUMD.rut = CLIENTES.codclie
WHERE DOCUMD.codarti = ?lcCod AND DOCUMD.tipdoc IN ('FP', 'GP')
ORDER BY DOCUMD.fecdoc DESC

NO funciona

lnTop=5

SELECT TOP ?lnTop DOCUMD.tipdoc, DOCUMD.numdoc, DOCUMD.fecdoc, DOCUMD.canti,DOCUMD.precio, DOCUMD.dl, DOCUMD.preal, DOCUMD.rut,
CLIENTES.razonsoc FROM DOCUMD INNER JOIN
CLIENTES ON DOCUMD.rut = CLIENTES.codclie
WHERE DOCUMD.codarti = ?lcCod AND DOCUMD.tipdoc IN ('FP', 'GP')
ORDER BY DOCUMD.fecdoc DESC

Si te fijas el problema lo tengo en como entrego la cantidad de TOP. La
quiero dejar en un spinner para que el usuario desida cuantos registros quiere ver.
Gracias otra vez
Pipo
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

Parametro a select top xx

Publicado por Mauricio (1367 intervenciones) el 15/06/2009 23:05:50
Prueba de esta manera:
*---
lnTop=5

SELECT TOP lnTop DOCUMD.tipdoc, DOCUMD.numdoc, DOCUMD.fecdoc, DOCUMD.canti,DOCUMD.precio, DOCUMD.dl, DOCUMD.preal, DOCUMD.rut,
CLIENTES.razonsoc FROM DOCUMD INNER JOIN
CLIENTES ON DOCUMD.rut = CLIENTES.codclie
WHERE DOCUMD.codarti = lcCod AND DOCUMD.tipdoc IN ('FP', 'GP')
ORDER BY DOCUMD.fecdoc DESC
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:Parametro a select top xx

Publicado por pipo (6 intervenciones) el 16/06/2009 00:30:47
Me sigue dando error de sintaxis cerca de lnTop.
Pipo
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

Parametro a select top xx

Publicado por Mauricio (1367 intervenciones) el 16/06/2009 00:52:03
Revisa bien, ya lo probe y funciona!!!!!!
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