border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 24-06-2007, 23:19:17
Un Nuevo Amigo
 
Registrado: may 2007
Ubicación: Resistencia
Posts: 25
caroso77 Valoración +2
Predeterminado problemas al redondear decimal en sentencia sql

Buenas a todos, y la razón de este mensaje es para preguntar si es que alguien tiene una idea o sabe al respecto sobre la funcion round a la hora de usarlo en la sentencia sql de la consulta, el tema viene así,tengo un cliente servidor con winsock udp y no hay otra opción porque este protocolo nos ha pedido el ingeniero que sea usado,tenemos el maximo de una consulta de 96 registros con 21 campos, casi siempre pasa la consulta por el socket perfectamente excepto que descubrimos que alguna que otra vez raramente puede suceder que los campos que son flotantes pueden aumentar su número cuando esto sucede se trunca el envío por el socket, y queriamos la posibilidad de que en la consulta sql se achicara los decimales a 2 despues de la coma porque tiene 5 lugares la base de datos en el campo flotante y cuando raramente sucede esto se trunca el envio y no hay manera de cambiar la base de datos porque ya trabajamos sobre una base de datos hecha en dbase4 y un sistema scada,o sea que lo unico que podemos tocar es nuestro programa de consulta nada mas,pudimos notar que en acces si funciona la funcion round en la consulta pero cuando queremos usarlo en el visual basic nos da error de que la funcion no esta definida y solo encontramos ejemplos de usar variables para convertir un numero decimal pero necesitamos de que sea en la consulta sql porque tiene que pasar de esa manera por el socket....la pregunta es....se puede usar en visual basic el round en la sentencia de la consulta sql???? y si se puede como seria la sintaxis? porque probamos de todas maneras y el visual no nos permite como lo hace el acces o el foxpro....y como tenemos contados el tamaño de los campos a pasar por el socket no queremos que se trunque una consulta en una fecha importante por ejemplo cuando haya algun problema en la planta de seguro que los campos flotantes seran grandes y esta es la razon de querer achicar en la consulta los decimales de 5 lugares a 2, eso nos daria margen a que pueda pasar por el socket...desde ya muchas gracias y ojala hayan entendido mi explicacion un poco intrincada...saludos cordiales
__________________
CAROSO77
Responder Con Cita
  #2 (permalink)  
Antiguo 25-06-2007, 00:45:55
Avatar de J.M.Movilla
Administrador
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.490
J.M.Movilla Valoración +2
Predeterminado

Posiblemente funcione de esta forma:
Código:
 format(Round(Tabla.Campo,2),"#######.##") AS CampoNew
y lees CampoNew
__________________
José María Movilla Cuadrado
______________________
www.foro.vb-mundo.com
www.vb-mundo.com

Responder Con Cita
  #3 (permalink)  
Antiguo 25-06-2007, 06:31:21
Avatar de acalanto
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.307
acalanto ha deshabilitado la reputación
Predeterminado

Lo que no comprendo es porqué se truncan los datos durante el envío mediante un socket..??

El sistema debe transmitir todos los datos y el cliente leerlos y procesarlos, indendientemente que la trama ocupe unas veces 120 bytes, otra 200 y otra 2048..., salvo que el sistema de comunicaciones lo tengas diseñado de una forma tan estricta que des por supuesto que todos los paquetes son idénticos en longitud. En este caso la única solución es que realices una preparación de la trama antes de su envío. Si no funciona el redondeo en la propia consulta, tendrás que leer los campos devueltos, formatearlos en un string y una vez estés seguro de que cumple con los requisitos de transmisión, enviarlo.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #4 (permalink)  
Antiguo 25-06-2007, 15:53:29
Un Nuevo Amigo
 
Registrado: may 2007
Ubicación: Resistencia
Posts: 25
caroso77 Valoración +2
Predeterminado

Muchas gracias por los consejos y ayuda...voy a probarlos y despues les cuento :smt023 saludos cordiales :smt006
__________________
CAROSO77
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
problemas con la sentencia sql iratxe_83 Visual Basic 6.00 1 16-12-2007 15:54:52
problemas con la sentencia insert iratxe_83 Visual Basic 6.00 11 18-11-2007 16:58:17
Redondear en Excel beneco VBA (Excel, Word, Outlook, Access) 1 29-07-2007 19:07:30
Problemas con mi sentencia SQL ikki_26 PHP 1 16-07-2007 18:42:52
Redondear Centenas gomait Visual Basic 6.00 2 02-11-2005 16:02:41


La franja horaria es GMT. Ahora son las 05:16:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right