Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/12/2012, 17:38
Avatar de MWAM
MWAM
 
Fecha de Ingreso: diciembre-2012
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 0
Rebeldia decimal en VB6

Bueno, antes que nada gracias por tomarse las molestas de leer y/o contestar a la cuestion esta que me esta volviendo loco jaja

Tengo un formulario donde deben ingresarse varios importes, los cuales van a parar a una tabla utilizando SQL (y SQLyog como herramienta de bases de datos)

El primer problemilla que tengo es el siguiente: cuando se ingresan valores con comas, el sql me toma dicho valor como si fueran dos campos diferentes.

Código:
sql = "{call alta_llamada(" & dtcreserva & ", " & txtimplla & ", " & txtcantmin & ", " & llamada & " ) }"
Separa dicho campo en, por ej, "1" y "25". El error es algo como "se esperaban 4 resultados, se obtuvieron 5"

Bien, ese problema lo he "parcheado" reemplazando la coma con un punto, utilizando la siguiente sentencia (todo sacado de Internet, que por suerte la mayoria de las veces lo salva a uno)

Código:
txtimplla = Replace(txtimplla, ",", ".")
Y de ahi saltan los otros dos problemas:

- Resulta que dicho importe que se ingresa debe ir a una variable que luego sera usado en otro formulario (vendria a ser el importe total de todo el proceso). Bueno, dicha variable pasa por alto el punto una vez que se certifica en el otro formulario (se convierte en un numero entero, digamos). La misma esta como variable global.
- Y la otra, tal vez no tan relacionado con este, se que los importes por lo general son redondeados una vez que son almacenados en la base. No se si la culpa sera del visual o del administrador de base de datos, ¿pero habria alguna forma de evitar esto?

Todos los importes los he estado manejando con Double. Tambien he probado con re-re afirmar que estos en el visual son de ese tipo, auqneu no se si lo correcto es hacerlo con Cdbl() (creo q no es el correcto). Y para finalizar, he cambiado en la configuracion del sistema el simbolo que separa los miles y los decimales como "salida rapida". La cuestion es que saltan errores por otros valores ya predefinidos de la manera antigua.

Espero que resulte clara la explicacion (o demasiada jaja)

Saludos y nuevamente gracias!