Combobox

Tengo un formulario con tres textnox y combobox . Los uso para digitar información con el siguiente código en un botón
APPEND BLANK
 replace OT With ThisForm.Text1.Value
 replace CANTIDAD With ThisForm.Text2.Value
 replace fecha With ThisForm.Text3.Value
 replace servicio With THISFORM.Combo1.Value
 thisform.Text1.value=' '
 thisform.Text2.value=' '
 thisform.Text3.value=' '
El problema que tengo es que una vez ingresada la linea no me carga nuevamente la información en el combobox, más bien me arroja un error y botrra el combobox del formulario.
¿Cómo le hago?
De antemano muchas gracias.

1 respuesta

Respuesta
1
¿Qué error te regresa el programa?
Que no puede acceder a la tabla del combobox
Lo que aparenta es que el "cursor" o tabla que alimenta a tu combobox lo cierras con alguna instrucción que tienes por allí. Las líneas de código que presentas no cierra ninguna tabla así, así que la instrucción que cierra el origen de datos debes ubicarlo.
Quizás más código de parte tuya podría ayudarnos a entender el problema.
Es cuando ejecuto un proceso desde un menu del formulario, es como si el formulario se cerrara y se abriera nuevamente y es hay donde no carga la base de datos
Muéstrame lo que tienes como código en el menú que llama a tu formulario.
También me ayudaría a ver el método "init" y "load" del formulario
Buenas, Este es el int de l formulario
_SCREEN.VISIBLE = .F.
DO E:\Cuadratura\MENÚCHILEEXPRESS.MPR WITH thisform,.t.
No tengo nada en el metodo Load.
Te adjunto también el código del proceso en el menú que me cierra la tabla del combobox
cMessageTitle = 'Chile Express'
cMessageText = '¿Realmente desea borrar el contenido de la base de datos?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No.
* 32 = Icono del signo de interrogación.
* 256 = El segundo botón es el predeterminado.
nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
DO CASE
CASE nAnswer = 6
USE E:\Cuadratura\chile_express\digitados.dbf exclusive
SET safety off
SET defa to E:\Cuadratura\chile_express\respaldo
warchivo='Digitado_'+RIGH(DTOS(DATE()),8)+ALLTR(STR(HOUR(DATETIME())))+ALLTR(STR(MINUTE(DATETIME())))
COPY TO &WARCHIVO sdf
ZAP
USE IN (SELECT("digitados"))
cMessageTitle = 'Chile Express'
cMessageText = 'Base Borrada'
nDialogType = 0 + 48 + 0
nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
CASE nAnswer = 7
Endcase
Te sugiero lo siguiente:
1. Crear un cursor temporal (select * from mitabla into cursor x2) y pon "x2" como origen de datos del combo. Esto evitará que el "zap" afecte el combo.
Podrías explicármelo en un modo más simple, me refiero a cuando y donde tengo que 'poner ese cursor temporal
Lo creas al principio de la aplicación y lo asignas al combo en el init del formulario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas