Access - Introducir Datos

 
Vista:

Introducir Datos

Publicado por Ana (16 intervenciones) el 26/11/2004 20:46:15
Hola
Nuevamente molestando, lo que pasa es que tengo otro problema de los mucho que ya tengo encima, lo que pasa es que estoy haciendo un sistema donde atraves de un formulario yo capturo los dias que va a utilizar aparte de otros datos y esos los despliega en una tabla por ejemplo, en el formulario pido "Dame los dias" y este atraves de un for los guarda en la tabla, si son 5 dias despliega asi
dias
1
2
3
4
5
cuando yo hago lo de guardar en la tabla automaticamente me manda a otro formulario, claro despues de guardar y desde ahi yo lo que hago es atraves de un combo busco, parap posicionarme en el primer registro por que no encuentro como posicionarme para guardar mas informacion sobre ese registro.
Espero me de a entender por que la verdad ya no encuentro como hacerle ya que despues de que guardo en el primer formulario y me manda al Segundo y le doy en el combo en el dia 1 me marca error y me dice “No current record”
Ejemplo Cuando le doy en dia 1 que me permita guardar en ese registro.
Dias piezas
1---- 20…………etc
2
Muchas gracias porsu ayuda, Saludos
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
Imágen de perfil de Alejandro

Posicionarse en un registro específico después de guardar datos

Publicado por Alejandro (4142 intervenciones) el 18/05/2023 22:46:42
Para posicionarte en un registro específico después de guardar datos desde un formulario en Access, puedes utilizar el método `FindFirst` del objeto `Recordset`. Aquí te proporciono un ejemplo de cómo hacerlo:

1. Después de guardar los datos en el primer formulario y abrir el segundo formulario, debes tener acceso al valor del campo "Días" que deseas utilizar para posicionarte en el registro correspondiente.

2. En el evento `OnOpen` del segundo formulario, puedes agregar el siguiente código VBA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Form_Open(Cancel As Integer)
    Dim rs As DAO.Recordset
    Dim dia As Integer
 
    dia = Me.ComboDias.Value ' Obtener el valor seleccionado del combo de días
 
    Set rs = Me.RecordsetClone ' Crear un clon del recordset del formulario
    rs.FindFirst "Dias = " & dia ' Buscar el registro con el valor del día
 
    If rs.NoMatch Then
        MsgBox "No se encontró el registro correspondiente al día seleccionado."
        Me.Close ' Cerrar el formulario si no se encontró el registro
    Else
        Me.Bookmark = rs.Bookmark ' Posicionarse en el registro encontrado
    End If
 
    rs.Close ' Cerrar el recordset clonado
    Set rs = Nothing
End Sub

En este código, se utiliza el método `FindFirst` para buscar el registro que coincide con el valor del día seleccionado en el combo box. Si se encuentra el registro, se establece el valor de `Bookmark` del formulario para posicionarse en ese registro. Si no se encuentra el registro, se muestra un mensaje de error y se cierra el formulario.

Recuerda ajustar el nombre del combo de días (`ComboDias`) y el nombre del campo en tu tabla que contiene los valores de los días (`Dias`).

Espero que esta solución te ayude a resolver tu problema. ¡Buena suerte con tu sistema!
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