swissman | |
| 2005-01-15 08:26 - Respuestas: 3 - Tema nº: 26365
Hola, y perdonad la pregunta siguiente de párvulos que voy a hacer, pero es que no le encuentro lógica a lo que me sale.
Tengo un progrma a medias (ebolo ya sabe cual) que de momento y por falta de tiempo hago solo pequeñisimas mejoras que no necesito (necesitaba) ayuda, pero esto se me ha atragantado. Tengo en un formulario dos cuadros de texto, el a y el b, el a tiene el "45" y el b el "90". Si en otro cuadro de texto le digo que "Origen del control=[a]-[b] funciona, o sea, me sale pues -45, por ejemplo, si lo divido o multiplico tambien sale bien, pero si le pongo el signo "+", entonces me sale como resultado 4595, o sea, me pone cada uno de los numeros de cada campo. Cual es el signo que he de poner para que me sume los dos cuadros?
muchas gracias
toni | |
|
|
Visitante | |
|
Re: Sumar en access - 2005-01-15 09:18 - Respuesta 2
Hola efectdosmil, como dices ' dos cuadros de texto', los cuadros de texto tienen en su interior texto, con los que se puede hacer operaciones matemáticas directamente (pienso que es un error, con textos nunca se debería poder hacer operaciones matemáticas, sin antes convertirlas a números), pero el signo "+" ó "&" con textos significa 'Concatenar', es decir lo que te ocurre, une, no suma, las cadenas de texto de ambos cuadros.
Debes de usar funciones para convertir a números los campos de texto:, xej:
- Val (texto1)
Quote:
Copiado de la Ayuda del Access
Devuelve los números contenidos en una cadena como un valor numérico del tipo adecuado.
Sintaxis
Val(cadena)
El argumento obligatorio cadena es cualquier expresión de cadena válida.
Comentarios
La función Val deja de leer la cadena en el primer carácter que no puede reconocer como parte de un número. Los símbolos y caracteres que se consideran a menudo parte de valores numéricos, como signos de moneda y comas, no se reconocen. Sin embargo, la función reconoce los prefijos de base &O (para octal) y &H (para hexadecimal). Los espacios en blanco, los tabuladores y los avances de línea se eliminan del argumento.
Lo siguiente devuelve el valor 1615198:
Val(" 1615 198 Calle N.E.")
En el código que se muestra a continuación, Val devuelve el valor decimal -1 correspondiente al valor hexadecimal entre paréntesis:
Val("&HFFFF")
Nota
La función Val sólo reconoce el punto (.) como separador decimal válido. Cuando existe la posibilidad de que se puedan utilizar separadores decimales diferentes, debe utilizar CDbl para convertir una cadena a un número.
Ten en cuenta la Nota, si tienes en configuración regional como separador decimal la ",".
Mira en la Ayuda del Access, poniendo xej 'Cdec (función), ahí te aparecerán todas las funciones de conversión.
Te interesa también mirar que tipos de variables hay: integer, double, boolean,.....
Si hay algo que no entiendas lo dices,
Saludos.
| |
|
|
ebolo | |
|
Re: Sumar en access - 2005-01-15 09:22 - Respuesta 3
El visitante era yo, no me he dado cuenta que no esta conectado.
| |
|
|
swissman | |
|
Re: Sumar en access - 2005-01-15 11:56 - Respuesta 4
hola y gracias. Lo que no entinedo es porqué con los demas signos sí que puedo hacer las operaciones matematicas si es "texto". Te agradezco enormemente la molestia, pero no me he enterado do nada y he hecho lo que tenia en mente antes de escribir: coger los campos que queria sumar y "decirles" que ahora son para numericos, así ya funciona. .
Muchas gracias por la molestia, y cuando vuelva a meterme con el programa, ya volveré a molestar.
toni | |
|
|
|