Que tal broter lo que quiero hacer en que tengo unos campos los cuales son # empleado , fecha , saldo Y lo que necesito es que me de el ultimo valor que esta en la base de datos de cada registro que yo busque Como puedo hacer eso
1 respuesta
Respuesta de Neckkito Nck
1
1
Neckkito Nck, Access... ser o no ser. Esa es la cuestión
No acabo de entender bien tu consulta. Creo que lo que quieres es que, al abrir el formulario, te muestre el último valor que introdujiste. ¿Es correcto? Ya me dirás.
Correcto tengo estos datos ejemplos # empleado , fecha , saldo 1 carlos 01/01/2011 500 1 carlos 01/02/2011 1000 1 carlos 01/03/2011 1500 2 juan 01/01/2011 500 2 juan 01/02/2011 1000 Entonces dependiendo el numero de empleado que busque en este caso Si escojo el numero 1 debería de darme estos valores 1 carlos 01/03/2011 1500 Si escojo 2 2 juan 01/02/2011 1000 Y así de toda la base de datos
OK. Doy por supuesto que tienes algún tipo de identificador del registro, de manera que tus campos en realidad serían: Id / # / empleado / fecha / saldo Te explico cómo podrías hacerlo: 1.- En el formulario creas un combo y, a través del asistente, seleccionas la tabla donde tienes los datos de los empleados. Eliges los campos # y nombre y te aseguras que el valor que guarda el combo es el valor de #. A ese combo lo llamamos (Propiedades->Pestaña Otras->Nombre) cboBusca. 2.- Sacas las propiedades del combo y te vas a Pestaña Eventos->Después de actualizar y le generas el siguiente código (click en botón con puntos suspensivos): --- Private Sub cboBusca_AfterUpdate() If Me.FilterOn = True Then Me.FilterOn = False End If Dim miSql As String Dim rst As Recordset Dim vNum, vId As Integer vNum = Me.cboBusca.Value If IsNull(vNum) Then Exit Sub miSql = "SELECT TOP 1 Tabla1.* FROM Tabla1" miSql = miSql & " WHERE Tabla1.Num =" & vNum miSql = miSql & " ORDER BY Tabla1.Fecha DESC" Set rst = CurrentDb.OpenRecordset(miSql) If rst.RecordCount = 0 Then MsgBox "No existen datos", vbInformation, "AVISO" Exit Sub End If vId = rst.Fields("Id").Value DoCmd.OpenForm "Form1", , , "[Id]=" & vId rst.Close Set rst = Nothing End Sub --- Tabla1->Tienes que poner el nombre de tu tabla Num->Número del trabajador. En tu ejemplo lo has llamado # Id->Campo que hemos comentado antes, que te identifica el registro. Form1->Nombre de tu formulario de trabajo. Y eso es todo. Ya me dirás cómo te ha ido.