Error dato memo

Utilizo la variable v para almacenar el valor memo del campo de una tabla, pero me marca el siguiente error:
Error with Edit1 - Value: Data type mismatch
¿A qué se debe?
Respuesta
1
¿Cuál es el código que estas utilizando?, ¿En qué momento te manda el error?
tengo un form de nombre principal, este abre el form enviados, (aqui es donde marca el error)
form1      init
PUBLIC Edato,Etext2,Etext3,Etext5,Etext4,Eedit1,Eboton1,Eboton7
thisform.text1.Value=Edato
thisform.text2.value=Etext2
thisform.text3.value=Etext3
thisform.text5.Value=Etext5
thisform.text4.value=Etext4
aqui marca el error => thisform.edit1.value=Eedit1
IF enviados.pdf=.t.
thisform.command1.Enabled=Eboton1
thisform.command7.Enabled=Eboton7
ELSE
thisform.command1.Enabled=Eboton1
thisform.command7.Enabled=Eboton2
Endif
Oh ya veo, el problema aquí es que cuando tu declaras una variable con el comando [PUBLIC], ésta siempre empieza con un valor lógico (.F.) Y un Control [Edit Box] no acepta este tipo de dato, tiene que ser carácter.
Lo que puedes hacer es cambiar el valor de la variable Eedit1 antes de usarla:
PUBLIC Edato,Etext2,Etext3,Etext5,Etext4,Eedit1,Eboton1,Eboton7
Eedit1 = ""
...
ThisForm.Edit1.Value = Eedit1
...
Ok... el problemas es que inicializo su valor en un form y le asigno el valor en otro form... entonces el thisform.edit1.value="" siempre se queda en blanco, no respeta que le asigne el valor
No entiendo muy bien, pero eso pasa porque el valor de tu variable no tiene nada que ver con el valor del [Edit Box], son independientes. Así que cada vez que modifiques el valor de la variable tienes que modificar el valor del [Edit Box] para que se actualize.
No se como lo estés haciendo o que resultados esperas..
Lo que pasa es q... en el form donde tengo el edit1 lo cierro y abro otro form donde le asigno valor a la variable Eedit1.. al cerrarse este form, se habré automaticaticamente el form donde esta el edit1.
Si pongo el Eedit1="" en el load o init del formulario q contiene el edit1... siempre que se vuelve a abrir este form. El valor de edit1 se inicializara en "" (thidform.edit1.value=Eedit1) y yo quiero que muestre los datos que almacene en Eedit1...
Haber si me explique mejor :p saludos
Pues si, creo que ya entendí un poco mejor. Me parece que aquí lo que deberías hacer es declarar esa variable en tu programa principal (Archivo .prg), para que ésta sea pública durante toda la ejecución de tu aplicación. Así ya no te preocupas por inicializarla en algún evento del formulario.
** Puedes incluirlo en tu archivo .prg
PUBLIC Eedit1
Eedit1 = ""
Ahora que si por alguna extraña razón, necesitas que se declare en el formulario, puedes incluir lo siguiente para que la Variable se inicialice solo si aún no ha sido declarada:
IF VARTYPE(Eedit1) != "C"
        PUBLIC Eedit1
        Eedit1 = ""
Endif
Suerte...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas