Espero poder ayudarte! A ver... insertar datos en una tabla es un tema bastante amplio... y es porque hay muchas formas de hacerlo! Puedes guardar los datos directamente a tu tabla o usar un cursor, cargarlo y después "volcarlo en tu tabla"! O usar un APPEND FROM y luego actualizar la tabla! Pero bueno! Nos quedaremos con una forma sencilla... INSERT INTO!
¿Por qué utilizas variables publicas? ¿Oo? Yo te aconsejo evitar lo mas que se pueda el uso de estas variables... ya que pueden ocasionar fallas en el manejo de los datos que almacenan! Recuerda que el alcance de estas variables es global y las puedes llamar desde cualquier parte de tu aplicación! Si no llevas un listado muy detallado de los nombres de tus variables publicas y el tipo de datos que almacenas en ellas puedes confundirte y confundir los datos! EN este caso... podes usar mejor variables LOCALES! Solo se limitan al programa que ejecutas en ese momento y su valor no puede ser leído desde otro lugar!
LOCAL n_integer,n_double,c_char
n_integer=thisform.txt1.value
n_double=thisform.txt2.value
c_char=alltrim(thisform.txt3.value)
AHora... cuando creas la tabla... vos asignas el tipo de dato que almacenara! Y luego al insertar (guardar) debes respetar estrictamente el tipo de datos que asignastes! Por ejemplo.. si creas un campo tipo DATE para guardar registros en formato de fecha, UNICAMENTE PODRÁS GUARDAR FECHAS EN ESE CAMPO! Si usas uno tipo numérico... SOLO ADMITIRÁ REGISTROS DE NÚMEROS! Al hacer el INSERT, debes hacer referencia correcta al campo y al tipo de datos que el asignastes al crear la tabla! Y ese tipo de datos es el que debes guardar en dicho campo! La forma correcta es así
LOCAL n_integer,n_double,c_char
n_integer= val(thisform.txt1.value)
n_double= thisform.txt2.value
c_char= ALLTRIM(thisform.txt3.value)
SELECT tabla1
INSERT INTO(campo1, campo2, campo3) VALUES(n_integer, n_double, c_char)
**--Donde"
**--campo1 es tipo INTEGER
**--campo2 es tipo double
**--campo3 es tipo carácter!
Ves! :)