border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 13-11-2004, 20:39:54
Gran Participación en el Foro
 
Registrado: sep 2004
Posts: 223
javier Valoración +2
Predeterminado operacion

Resul = CDbl(TextBaseImporte.Text) * CDbl(TextDto.Text) / 100
Impt = CDbl(TextBaseImporte.Text) - Format(Resul, "#,##0.00")
TextTotal = Format(Impt, "#,##0.00")

De esta forma consigo hacer una operación.
Pero mi pregunta es la siguiente la representación es por Ej. 3,200.00 ósea que me sale la como donde tiene que salir el punto para los miles y el punto para los decimales yo quisiera que el total Ej. 3.200,00 he intentado cambiar el formato pero la operación me sale errónea por favor donde esta el error gracias
Responder Con Cita
  #2 (permalink)  
Antiguo 13-11-2004, 21:07:46
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.254
J.M.Movilla Valoración +2
Predeterminado

Revisa a ver cómo tienes la Configuración regional en tu Sistema Operativo. Ahí está la causa.
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
  #3 (permalink)  
Antiguo 14-11-2004, 09:11:18
Gran Participación en el Foro
 
Registrado: sep 2004
Posts: 223
javier Valoración +2
Predeterminado

Bien muchas gracias, no se lo que me paso por que hace unos días estuve revisando lo de la configuración regional por que sospechaba y me salía igual y ahora que lo he hecho com. mas tranquilidad y con tu asesoramiento confirmado se ve que al cambiar los signos no lo cambien bien.gracias y un saludo
Responder Con Cita
  #4 (permalink)  
Antiguo 14-11-2004, 10:23:32
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.254
J.M.Movilla Valoración +2
Predeterminado

Tranquilo, que esas cosas pasan en las mejores familias...
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
  #5 (permalink)  
Antiguo 16-11-2004, 11:34:55
Gran Participación en el Foro
 
Registrado: sep 2004
Posts: 223
javier Valoración +2
Predeterminado

Yo se que abuso mucho de vuestra buena fe, pero sois siempre mi solución. Sigo con el tema del formato que hay algo que desconozco, no algo sino mucho pero bueno esta es mi pregunta:
Con este código sumo una fila del grid

Dim j As Long
Dim suma As Double
For j = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.Row = j
suma =suma + CDbl(MSFlexGrid1.TextMatrix(j, 5))
Next j

'Añadir el resultado a los control
TextBaseImporte.Text =Format( suma,”#,###.##”)

Pero me hace lo siguiente el resultado sí la suma del grid Ej. 78,00 en el control se me representa 7.800, venga muchas gracias
Responder Con Cita
  #6 (permalink)  
Antiguo 16-11-2004, 12:05:11
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.190
acalanto ha deshabilitado la reputación
Predeterminado

Sustituye la función de dominio de VB CDbl() por esta variante que te solucionará el probela de los formatos con cualquier separador decimal.


Código:
'--------------------------------------------------------------------------------------------------------------
'
'   Procedimiento:
'   Tunelsoft 2003
'
'--------------------------------------------------------------------------------------------------------------
Public Function DConv(v As Variant) As Variant

    On Local Error Resume Next
    
    If InStrRev(v, ",") <> 0 Then
        DConv = CDbl(v)
    ElseIf InStrRev(v, ".") <> 0 Then
        DConv = CDbl(Val(v))
    Else
        DConv = CDbl(Val(v))
    End If

End Function
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #7 (permalink)  
Antiguo 16-11-2004, 21:10:58
Gran Participación en el Foro
 
Registrado: sep 2004
Posts: 223
javier Valoración +2
Predeterminado

Acalanto la función me va bien pero si hago esto

SUMA = DConv(Text1) + DConv(Text2)
Label1.Caption = Format(SUMA, "#,###.00")

Sumo por Ej: text1= 26,00 + text2=26,00 el resultado que me da 5.200,00 cuando me tenia que dar para mi gusto 52,00 como lo hago,igual esuna pregunta tonta pero lo ciento gracias
Responder Con Cita
  #8 (permalink)  
Antiguo 17-11-2004, 03:12:33
Avatar de MiguelPG
Gran Participación en el Foro
 
Registrado: dic 2002
Ubicación: Santander
Posts: 171
MiguelPG Valoración +2
Predeterminado

Hola.

Mira yo utilizo la función replace con el siguiente formato:

Replace("" & TextBaseImporte.Text, ".", ",") en la que sustitye el punto por la coma.

Tambien puedes utilizarla al revés:
Replace("" & TextBaseImporte.Text, ",", ".") en la que sustituye la coma por el punto

Bueno, ya sé que ahora me llegará bronca de los dos grandes jefes, esto es los señores Acalanto y Movilla, porque esto es una chapuza nacional, pero los ignorantes como yo recurrimos a burradas como la que te acabo de "soltar".
Lo más correcto sería utilizar la Function DConv que en el post anterior te indicaba Acalanto.
Saludos a todos.
__________________
Miguel Peña
Santander - España

Corrije a un sabio y le harás más sabio.
Corrije a un necio y le harás tu enemigo.
Responder Con Cita
  #9 (permalink)  
Antiguo 17-11-2004, 06:40:00
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.190
acalanto ha deshabilitado la reputación
Predeterminado

Si SUMA s un tipo numérico el valor de la operación tiene que ser forzosamente 52,00 si los textos contienen 26,00 y 26,00 respectivamente. Verifica en modo debuger que valor toma esa variable en el momento de la operación.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #10 (permalink)  
Antiguo 17-11-2004, 15:55:16
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.254
J.M.Movilla Valoración +2
Predeterminado

Cita:
Empezado por MiguelPG
Bueno, ya sé que ahora me llegará bronca de los dos grandes jefes, esto es los señores Acalanto y Movilla, porque esto es una chapuza nacional, pero los ignorantes como yo recurrimos a burradas como la que te acabo de "soltar".
Voy a confesarte, Miguel, mi pecado, que también es parecido al tuyo.. No en valde somos humanos y todos procedemos de Adán y Eva...

Código:
'  En un Módulo defino el "mal signo" decimal
'     que deberá ser reemplazado por el correcto

Public MalSigno As String


    If InStr(3 / 2, ".") Then
        MalSigno = ","
    Else
        MalSigno = "."
    End If

'  -----------------------------------

'  Al abandonar la introducción de datos numéricos hago la conversión

Private Sub Text1_LostFocus()
    If InStr(Text1.Text, MalSigno) Then Text1.Text = Val(Text1.Text)
End Sub
O ¿qué te creías, que sólo eras tú el que sabías hacer guarradas???
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
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
Esperar fin de operacion INSERT McruzAT VBA (Excel, Word, Outlook, Access) 1 10-03-2008 20:57:02
Añadir sumas a una operación Knibal Visual Basic 6.00 2 14-03-2007 14:09:25
Error "la operacion debe usar una consulta actualizable" jessuss Visual Basic 6.00 12 17-09-2004 00:00:00
un data grid para sierta operacion ayuda!!!! HurryCrack Visual Basic 6.00 1 16-03-1970 04:27:31


La franja horaria es GMT. Ahora son las 14:09:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, 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