Pasar campos numéricos a caracteres...

tengo una tabla con campos numéricos, en los que guardo números, valga la redundancia... Como hago, para cambiar esos campos numéricos a caracteres? Por ejemplo, si se le escribe un "si" en un campo previo (campo "indique"), en los campos siguientes se colocan números ya que son las notas de unos estudiantes: nota1 "15", nota2 "09"..., pero si se le coloca un "no", de que no cursa, que toda la fila de esa tabla lleve un no, donde debieran ir números por ejemplo, nota1 "no", nota2 "no"... Y así con todos los campos donde debiera llevar una nota... Ah y no puedo cambiarla a caracteres porque lleva números y se hacen operaciones, gracias por la respuesta...

Respuesta
1

Espero poder ayudarte.

Si los campos de notas están definidos como de tipo 'numeric' no podrás insertar en el registro un carácter alfabético (letras), solo números. En cambio, si los campos de notas están definidos como de tipo 'carácter' entonces si puedes insertar números y letras.

¿Cómo los has definido en tu diseño de tabla? ¿Cómo numéricos?

Si los defines como carácter podrás insertar cualquier valor según la condición de tu campo 'indique' y para realizar algunas operaciones aritméticas, bastara con usar la función VAL() para transformar el tipo de dato (no el campo, sino el dato del registro) de carácter a numérico.

Indicame como tenes definido los campos para poder brindarte una solución.

Saludos! :D :D :D

veras, están los campos como numéricos, lo que pasa es que al principio los coloque como caracteres y no podía hacer cálculos aritméticos, un docente me dijo que los pasara a numérico, ahora si puedo hacer los cálculos pero entonces si el alumno no ve la asignatura quiero colocarle un "nc" de no cursa, ah y las operaciones las hago en un botón calcular, y, obvio, pertenecen a un grid y todo eso de cursores, que ya sabes de que trata para pasarlo a la tabla principal. gracias por responder... un gran saludo...

Pues lamento decirte que si el campo es numérico, no podrás ingresarle ningún carácter alfabético. Solo numérico. Has pensado tal vez la posibilidad de insertar, en los casos que no curse, ¿un 0?

Bien... en mi opinión, estimado Monk... vos tenes una buena estructura de tu tabla. En el campo indique validas si se cursa una asignatura... si el valor es si, se cargaran las notas (imagino) y podrás hacer tus operaciones aritméticas. Si el campo indique almacena No, cárgale un 0 y cuando hagas las operaciones valida alguna condición para que cuando sea no, pues no sume o no haga nada... que se yo! :) :) :)

Lo otro.. es que los campos los dejes como caracteres y metas los números cuando sea SI o "nc" cuando sea NO. Cuando vos extraigas los datos para las operaciones, los datos que sean números (pero que están contenidos en campos carácter) transformalos a tipo NUMERIC con la función VAL().

Suponte que tenes el campo: nota1, nota2 y son de tipo CARÁCTER. Ahí guardas las notas 80 y 90 respectivamente.

Y quieres obtener la suma de esos 2 campos. Pero son tipo carácter. Entonces para poder transformarlos como números, haces así:

LOCAL lnNota1, lnNota2, lnTotal

SELECT tabla

lnNota1 = tabla.nota1

lnNota2 = tabla.nota2

**--Pasamos a numérico

lnNota1 = VAL(lnNota1)

lnNota2 = VAL(lnNota2)

**--Total

lnTotal = lnNota1 + lnNota2

**--Para guardar el valor en algún otro campo, si es NUMÉRICO:

INSERT INTO tabla1(total) VALUES(lnTotal)

TABLEUPDATE(.F.)

**--Si el tipo de campo es carácter... pasamos el dato de numérico a carácter:

lnTotal = ALLTRIM(STR(lnTotal))

INSERT INTO tabla1(total) VALUES(lnTotal)

**--

Tableupdate(.f.)

Y listo! :)

Proba y me avisas! :) :) No olvides cerrar la pregunta si aclaras la duda! :)

Un abrazo!

Desde Managua, Nicaragua!

Ravenn :D :D :D

Espero andes bien! :) ¿Has podido resolver tu duda? De ser así, no olvides finalizar! :D De no ser así, avisame para poder ayudarte! :) :

¿Has podido resolver tu duda? ¿OO? Ha pasado algún tiempo!

Bien, lo siento mucho por tardar en responder... cuestiones personales...

bueno, he arreglado ya prácticamente todo lo que acá te he comentado, necesito es ahora crear reportes o informes en foxpro algo así como un ejemplos... lo pido como nueva pregunta, full gracias por esta, me ha ayudado y con un poco de ideas mías... programar trata mucho de lógica y algo he entendido, pero los reportes no se como crearlos...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas