Clipper/FiveWin - Consulta con ACHOICE()

 
Vista:

Consulta con ACHOICE()

Publicado por Roberto Andres (1 intervención) el 23/01/2006 19:06:46
Hola Amigos:
Necesito una ayuda. Tengo una base de datos con los siguientes campos: CURSO, NOMBRE, APELLIDOS, DIRECCION.

Quiero desplegar un menu donde me muestre los datos de los alumnos que corresponden a un curso (El curso es el Indice, Si ingreso 7B, me debiera mostrar los alumnos que corresponden a ese curso). Hace años aprendí a programar en Clipper, pero producto de la poca practica se me ha olvidado. Ustedes me podrían ayudar a hacer este menú con ACHOICE(), y explicarme como se usa. Por favor, de antemano muchas gracias.
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:Consulta con ACHOICE()

Publicado por JOSE (79 intervenciones) el 24/01/2006 14:07:08
Bueno:
Private Tabla := {}, Sel := {}

Select 1
Use BaseCurso //nombre de la base
Index on curso to Basecurso //nombre del Indice q puede ser el nombre de base
go top
CLS
DO WHILE .T.
xcurso=space(2)
@ 10,10 Say "Ingrese el Curso :"
@ 10,30 Get xcurso Picture "XX"
Read
If Lastkey#27
Select 1
Go Top
Seek xcurso
If Found()
Do while .Not. Eof() .and. curso=xcurso
AADD( Tabla,nombre+" "+Apellido+" "+direccion); AADD( Sel, "1")
Skip
Enddo
Mostrar_Curso()
Else
@ 24,00 Say "Curso no Existe"
Endif
Else
Exit
Endif
EndDo
Close Database
Return

PROCEDURE Mostrar_Curso
I=Seleccion( 10, 35, 18, 64, Tabla, sel)
Return

Function Seleccion
*----------------
parameters yi, xi, yf, xf, Tabla, vector

Private limite := LEN( Tabla)
ventd = SAVESCREEN( yi, xi , yf, xf )
@ yi, xi clear to yf, xf
@ yi, xi to yf, xf

nCHOICE= ACHOICE(yi + 1, xi + 3, yf - 1, xf - 3, Tabla, ,"usuario")

RESTSCREEN( yi , xi , yf , xf , ventd )
Return nchoice

Function Usuario
*--------------
Parameters estado, pos

DO CASE
CASE Lastkey() = 13
Return 1

CASE lastkey() = 27
Return 1

OTHERWISE
Return 2

ENDCASE
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