FoxPro/Visual FoxPro - error en cursor

 
Vista:

error en cursor

Publicado por claudia (45 intervenciones) el 09/10/2006 19:03:48
hola a todos
estoy usando este comando para filtrar datos de dos tablas, pero el error al grabar dice frase o comando no reconocido,

ThisForm.Lstcurso.RowSourceType= 3
Thisform.lstcurso.RowSource="SELECT distinct Curso1.nomcurso,Matric1.codcur FROM matric1 INNER JOIN curso1 ON Matric1.codcur=Curso1.codcur ;
where Matric1.anho=anhos AND Matric1.codespec=codespecs AND VAL(SUBSTR(Matric1.codcur,3,2))=ciclos AND Matric1.ext=1 ;
ORDER BY Matric1.codcur INTO CURSOR cursos"

donde estaria el error, o no soporta varios AND?
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:error en cursor

Publicado por sergio (737 intervenciones) el 09/10/2006 19:55:42
No veo donde estas grabando.. el select esta bien echo, pero pasame las lineas donde grabas
Te adelando si estas tratando de grabar registros en un cursor de lenguaje nativo de fox, no vas a poder al menos que lo hagas actualizable.
como se hace actualizable el cursor. de la siguiente manera

select * from <tabla> into cursor <tmp>
use dbf() again in 0 alias nuevocursor

select nuevocursor
y la empeza a usar como si fuera una tabla comun y silvestre
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:error en cursor

Publicado por jorge (423 intervenciones) el 09/10/2006 22:27:42
Hola, que te parece si haces reemplazas tu sentencia de esta forma:

"SELECT distinct Curso1.nomcurso,Matric1.codcur FROM matric1 INNER JOIN curso1 ON Matric1.codcur=Curso1.codcur " + ;
" where Matric1.anho=anhos AND Matric1.codespec=codespecs AND VAL(SUBSTR(Matric1.codcur,3,2))=ciclos AND Matric1.ext=1 " + ;
" ORDER BY Matric1.codcur INTO CURSOR cursos"

ves la diferencia ?, otra cosa que puedes hacer es lo siguiente:

ThisForm.lstCurso.rowSourceType=1

Select ..... (Sentencia Sql que usas para crear tu cursor)

ThisForm.lstCurso.rowSource = "NombreCursor"

de esta otra forma te evitas el problema de los 256 caracteres en una cadena como sucede en el aterior metodo...

Saudos.
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:error en cursor

Publicado por jorge (423 intervenciones) el 09/10/2006 22:33:20
Hola, que te parece si haces reemplazas tu sentencia de esta forma:

"SELECT distinct Curso1.nomcurso,Matric1.codcur FROM matric1 INNER JOIN curso1 ON Matric1.codcur=Curso1.codcur " + ;
" where Matric1.anho=anhos AND Matric1.codespec=codespecs AND VAL(SUBSTR(Matric1.codcur,3,2))=ciclos AND Matric1.ext=1 " + ;
" ORDER BY Matric1.codcur INTO CURSOR cursos"

ves la diferencia ?, otra cosa que puedes hacer es lo siguiente:

ThisForm.lstCurso.rowSourceType=1

Select ..... (Sentencia Sql que usas para crear tu cursor)

ThisForm.lstCurso.rowSource = "NombreCursor"

de esta otra forma te evitas el problema de los 256 caracteres en una cadena como sucede en el aterior metodo...

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