Visual Basic - decimales en datagrid

Life is soft - evento anual de software empresarial
 
Vista:

decimales en datagrid

Publicado por SOnia (31 intervenciones) el 08/06/2006 15:15:22
Tengo unas cajas de texto donde introduzco numeros decimales (con la coma( , )) y cuando le doy a un boton para agregar esos textbox a un datagrid, solo se agrega la parte entera, como puedo hacer para q m introduzca tambien los decimales?? necesito ayuda urgente!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:decimales en datagrid

Publicado por Javi RM (187 intervenciones) el 08/06/2006 15:38:37
Buenas,
prueba de pasar el valor de la siguiente forma:

Dim Valor as double

valor = cdbl(cajatexto.text)

Luego asignas valor al datagrid.

Espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:decimales en datagrid

Publicado por SOnia (31 intervenciones) el 08/06/2006 16:46:49
Me sigue saliendo solamente la parte entera, te paso el codigo x si tu ves q he fallado en algo, gracias.

Private Sub cmdagregar_Click()
Dim preciocosto As Double
Dim iva As Double
Dim preciocostoiva As Double
Dim sumatotal As Double

preciocosto = CDbl(txtpreciocosto.Text)
iva = CDbl(txtiva.Text)
preciocostoiva = CDbl(txtpreciocostoiva.Text)
sumatotal = CDbl(txtsumatotal.Text)

Dim lacmComando As ADODB.Command

' crear comando e información de conexión
Set lacmComando = New ADODB.Command

' asignar información de conexión al comando
lacmComando.ActiveConnection = conexion

' establecer tipo de comando e instrucción SQL
lacmComando.CommandType = adCmdText

lacmComando.CommandText = "INSERT INTO Pedido_det values(" & Val(txtpedido.Text) & ", " & Val(txtidproducto.Text) & ", " & preciocosto & "," & Val(txtcantidad.Text) & "," & iva & "," & preciocostoiva & ", " & sumatotal & " )"
' ejecutar el comando
lacmComando.Execute

' liberar memoria usada por el objeto
Set lacmComando = Nothing

carga_detalles
**************************
Private Sub carga_detalles()
Dim larsRecordset As ADODB.Recordset
txtpedido.Text = gfrmbusquedapedido.txtnumpedido.Text

' crear recordset
Set larsRecordset = New ADODB.Recordset

' establecer datos de conexión
larsRecordset.ActiveConnection = conexion

' cursor del lado cliente
larsRecordset.CursorLocation = adUseClient

' abrir recordset
larsRecordset.Open "SELECT * FROM pedido_det where pedido= " & gfrmbusquedapedido.txtnumpedido.Text, , _
adOpenStatic, adLockOptimistic, adCmdText


Set Me.DataGrid1.DataSource = larsRecordset

Set Adodc1.Recordset = larsRecordset

Call DataGrid1_RowColChange(1, 1)
End Sub
*************************************
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)

' a medida que vamos moviendonos por el flex grid consultamos los datos de la fila

If Adodc1.Recordset Is Nothing Then
Exit Sub
End If
If Adodc1.Recordset.RecordCount <= 0 Then
Exit Sub
End If

RecuperaDatos

Exit Sub

End Sub
**********************************
Sub RecuperaDatos()


' relleno los campos con los datos del registro actual
txtpedido.Text = DataGrid1.Columns(0).Text

txtidproducto.Text = DataGrid1.Columns(1).Text

txtcantidad.Text = DataGrid1.Columns(2).Text

preciocosto = DataGrid1.Columns(3).Text

iva = DataGrid1.Columns(4).Text

preciocostoiva = DataGrid1.Columns(5).Text

sumatotal = DataGrid1.Columns(6).Text

Exit Sub
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:decimales en datagrid

Publicado por Javi RM (187 intervenciones) el 08/06/2006 17:11:50
Una pregunta, se te esta guardando el valor correctamente en la tabla "Pedido_det"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:decimales en datagrid

Publicado por Sonia (31 intervenciones) el 09/06/2006 00:46:36
solo m graba la parte entera, me habian comentado de probar con el format, pero tmp, ya no se como hacerlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:decimales en datagrid

Publicado por Javi RM (187 intervenciones) el 09/06/2006 07:53:13
Bueno, no desesperes siempre existe una solución.
Prueba con estas pruebas:
-Revisa el tipo de datos de los campos de la base de datos.
-Si estas guardando campos con decimales, has de tener en cuenta que para que la SQL guarde correctamente, debes sustiturir la coma por un punto a la hora de crear la SQL. Es decir:
Queremos guardar (25,3)

MAL -> INSERT INTO .... VALUES(25,3)
BIEN -> INSERT INTO ....VALUES(25.3)

Prueba de verificar esto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:decimales en datagrid

Publicado por Sonia (31 intervenciones) el 09/06/2006 16:31:46
Si pongo el punto en vez de coma para los decimales me da error ala hora de insertar datos, estoy usando la base de datos en Accces , lo digo x si eso tiene algo q ver, en access creo q s trabaja cn el puunto o con la coma para para separar el decimal, no?' ya no se qhacer!! m ta pillando el toro y el lunes tengo qentregar el proyecto! he probado mil formas y no m sale!! por favor, haber si puedes exarme una manoo!!
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar