FoxPro/Visual FoxPro - Ayuda con ListBox

   
Vista:

Ayuda con ListBox

Publicado por Victor Perez (278 intervenciones) el 05/06/2010 22:52:24
Amigos

Tengo la siguiente situacion. He estructurado un form que me permite ver los pacientes que tengo pendientes en la sala de ESPERA para su atencion. El form consta de un ListBox que se se actualiza mediante sentencia SQL (SELECT) y un Timer.
Mi codigo para la sentencia SQL y actualizacion del ListBox es asi:

Select * ;
from AlmSala ;
where !EMPTY(codigo);
order by HORA;
into cursor _Sala

Sele _Sala

thisform.list1.RowSource="codigo,nombre,hora,medcode"

thisform.list1.requery
thisform.list1.refresh

-------------

Hasta aqui todo bien. Pero dentro del listbox quiero tener una columna adicional que indique el tiempo que ha transcurrido desde que el paciente ingreso a la SALA De ESPERA (y que por supuesto no ha sido atendido aun).

El problema es que es un Cursor el que alimenta al ListBox y por lo tanto no puedo añadir ni cambiar nada. Pense poner un campo adicional en la Tabla y alli que se actualice una vez hecha la consulta pero me dice que es solo de LEctura y no puede actualizarse ni reemplazarse un campo.

Por ahora la vista muestra lo siguiente:

Nombre del paciente Hora Medico
m.codigo + m.nombre m.hora m.medcode

Yo quiero que se pueda ver:

Nombre del Paciente Hora Tiempo en Espera Medico
m.codigo + m.nombre m.hora ?????? m.Medcode

Alguna idea de como implementar el "tiempo de Espera" dentro del ListBox.

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:Ayuda con ListBox

Publicado por victor perez (278 intervenciones) el 06/06/2010 02:54:38
Ya resolvi mi duda. Solo debo agregar la Clausula "READWRITE" despues del nombre del cursor en el Comando SELECT.

O sea

Select * ;
from AlmSala ;
where !EMPTY(codigo);
order by HORA;
into cursor _Sala READWRITE

Sele _Sala
REPLACE ATENDIDO WITH DATETIME()-_SALA.FECHA

thisform.list1.RowSource="codigo,nombre,hora,ATENDIDO,medcode" Select * ;
from AlmSala ;
where !EMPTY(codigo);
order by HORA;
into cursor _Sala

Sele _Sala

thisform.list1.RowSource="codigo,nombre,hora,medcode"


********************************
Me surgio otra duda, con esto puedo modificar la info en el Cursor pero como puedo hacer que esta modificacion se copie a la TABLA desde donde se creo el cursor?

Esta pregunta no es por lo que quiero hacer ahora, sino que estaba pensando en la utilidad de volcar la info de una base de datos mediante SELECT hacia un Cursor donde pueda modificar la data y luego poder editarla por medio de un GRID. Es claro que al modificar los datos de los campos en el grid puedo modificar los datos en el cursor, pero como hacerlo permanente los cambios del GRID para la TABLA desde donde se creo el Cursor.

Saludos,
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:Ayuda con ListBox

Publicado por Juan286 (179 intervenciones) el 09/06/2010 15:34:57
Para que puedar hacer lo que dices emplea el comando UPDATE SET este permite la actualizacion de una cursor.

UPDATE BD!tabla SET atendido = datetime WHERE condicion
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:Ayuda con ListBox

Publicado por VICTOR PEREZ (278 intervenciones) el 09/06/2010 21:38:43
Muchas gracias por la informacion.

Saludos,
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

Ayuda con ListBox

Publicado por jose luis (35 intervenciones) el 02/12/2013 15:32:52
hola amigo disculpame pero por aca fue que encontre como pedir auxilio estoy haciendo un sistema con datos de sql y tengo un form que dos de sus objetos hacen lo sgt uno da los datos de un campo y el otro es un clasificador en el cual agrego o elimino, hasta aqui esta bien todo pero el lio nace cuando en el clasificador elimino o doy alta al dar click sobre el objeto que deberia tener dichas operaciones o sea que en dicha lista estuviera eliminado o incorporado algun dato y no ocurre asi donde dice requery puse:

thisform.pERFIL1.RowSource = "vperfil"
thisform.pERFIL1.Requery
thisform.pERFIL1.Refresh

pero no sucede asi pues se queda la lista alimentada cuando se inicia el formulario, ya e hecho muchas variantes para solucionarlo pero nada sigue igual
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