Me pasa lo siguiente, tengo un combox (combox1) del formulario, en el cual introduzco el tiempo en formato 00:00 (mascara de entrada). Después en otro combox (combox2) aparece ese valor en formato decimal, por ejemplo, 01:15 pasa a 1,25 en el combox2. No consigo que los valores decimales (combox2) se registren en la tabla a la que pertenece el formulario (Columna Tiempo), ya que en origen del control tengo puesta la fórmula para convertir a decimales.
1 Respuesta
Respuesta de Neckkito Nck
1
1
Neckkito Nck, Access... ser o no ser. Esa es la cuestión
Es normal que, así como lo tienes configurado, no te guarde el valor. Te explico cómo hacerlo, partiendo de unos supuestos: - En la tabla tienes un campo que puede recoger los valores decimales (tipo número->Doble). Para la explicación yo llamaré a ese campo Tiempo, pero tú tienes que cambiarlo por el nombre que tenga dicho campo. - Tomaré el nombre del combox1 y combox2 como el nombre del control, pero a veces la gente suele confundir el nombre con el titulo. Para saber el nombre de ese combox1/combox2 tienes que sacar sus propiedades, irte a la pestaña Otras y mirar qué pone en la propiedad Nombre. Ese es el valor que tú debes utilizar. OK. El proceso es el siguiente: 1.- Abres el formulario en vista diseño, te vas a campos disponibles y le añades el campo Tiempo. 2.- Seleccionas el combox2, sacas sus propiedades y te vas a la pestaña Formato. Le pones el valor de la propiedad Visible en NO. Así ese combo no se mostrará en la vista formulario, aunque estará ahí. Lo necesitamos para hacer de "puente" entre el valor del combox1 y Tiempo. 3.- Seleccionas el combox1, sacas sus propiedades y te vas a la pestaña Eventos. Seleccionas el evento "Después de actualizar", te pones sobre el espacio en blanco que hay a su derecha y verás que te aparece un pequeño botón con puntos suspensivos. Haces click sobre él y en la ventana que te sale le dices que quieres generar código. Se te abrirá la ventana del editor de VB. 4.- Ahí le escribes el siguiente código (en negrita lo que tienes que cambiar por lo que tút tengas en la BD): --- Private Sub... Dim vTiempo As Variant vTiempo = Me.combox2.Value If IsNull(vTiempo) Then Exit Sub Me.Tiempo.Value = vTiempo End Sub --- Y ya está. Ahora, cuando escribas un valor en el combox1 y le des al Enter o al tabulador, el campo Tiempo te mostrará el valor en decimal, y además te lo guardará en el registro correspondiente. Espero que te funcione. Si tienes algún problema o duda me comentas.