Access: formato de la información, bases de datos, formularios e interconexiones
1. Si tengo en una base datos un campo formato fecha, como puedo sumar el total de las horas, minutos y segundos, teniendo en cuenta que el formato de las horas pasara de 24 y que podrá tener 3 dígitos ya que podría llegar a tener un valor de 142:24:12 horas de producción real. 2. Como puedo abrir un formulario desde otro, habiendo seleccionado 4 campos para que busque en el otro formulario todos los que coincidan con esta selección...
Gracias soy Nuevo en esto. Andreu Romanos [email protected]
1 respuesta
Respuesta de felixau
1
1
felixau, Programador y diseño de Utilidades ofimáticas en Acces
No es corta tu respuesta pero, vamos a ello. Para tu primera pregunta: 1.- Crea un campo nuevo (cuadro de texto) en la vista de diseño de tu formulario, y llámale SHoras. 2.- Selecciona el campo fecha y con el botón derecho selecciona propiedades.- En el cuadro que te aparece selecciona "Después de actualizar" y ahí eliges, "Procedimiento de evento" y a continuación pincha en el cuadradito de la derecha con tres puntitos... Se abrirá una ventana que es el diseñador de código; justo donde te aparezca el cursor pegas o escribes el siguiente código: ------------ Dim SHora As Date Dim sql As Recordset Dim Seg As Integer Dim Min As Integer Dim Hor As Integer Me.Refresh Set sql = CurrentDb.OpenRecordset("Datos") On Error GoTo Mi_error: Seg = 0 Min = 0 Hor = 0 sql.MoveFirst Do Until sql.EOF If IsNull(sql.Fields("fechaPago")) Then sql.MoveNext Else SHora = sql.Fields("fechaPago") Seg = Seg + Second(SHora) Min = Min + Minute(SHora) Hor = Hor + Hour(SHora) End If If Seg >= 60 Then Seg = Seg - 60 Min = Min + 1 End If If Min >= 60 Then Min = Min - 60 Hor = Hor + 1 End If sql.MoveNext Loop Me.SHoras = Hor & ":" & Min & ":" & Seg Mi_error: Exit Sub ------------- Reemplaza los nombres "Datos" por el nombre de la tabla donde tengas tus datos. Reemplaza "fechapago" por el nombre del campo que contiene la fecha-hora a sumar. Guarda el formulario y ya está cuando actualices el campo de fecha donde tienes las horas te sumará todas las que están en tu tabla. Segunda pregunta: Crea un botón en tu formulario que abra el otro formulario, puedes hacerlo en la vista de diseño del formulario con el asistente. Es sencillo. Después vas al segundo formulario que quieras abrir y en la vista de diseño, vas a propiedades del formulario, en el cuadro que se abre selecciona "origen del registro" y ahí pinchas en el cuadradito derecho como antes y al mensaje que te sale diciendo que si deseas crear una consulta... dices que si "Aceptar". Te parecerá el diseñador de consultas, agrga la tabla que es el origen del formulario y arrastra a la cuadrícula de diseño todos los campos. Ahora en los 4 campos que quieras hacer de "filtro" pincha primero en uno de ellos en la cuadrícula "criterios" con el botón derecho y elige "generar" en el cuadro de dialogo que surge busca el formulario primero desde el que vas a filtrar los registros y selecciona el nombre del campo en el que estás pulsa Aceptar y repite lo mismo para los otros campos. Y ya está... Cuando pulses el botón del formulario se abrirá el segundo formulario cuyo origen de datos será un Select ... que cumpla los criterios de los campos de tu formulario. A lo mejor es un poco lioso pero es la forma "sencilla". Puede hacerse con código pero es bastante más complicado. Si tienes alguna duda puedes preguntar de nuevo pero intenta ser más concreto en la pregunta para que no se extienda demasiado..