Posicionar el Formulario en un registro especifico según un valor

Necesito que un formulario se situe en un registro en concreto de acuerdo a un número que coloco en un texto independiente. Trate de usar el comando GoToRecord en un comando, pero no lo logre, debido a que ese comando intenta llevarte el registro N, pero la numeración de lo que busco no coincide con la cantidad de registros que tengo en la base. Por ejemplo, si yo estoy buscando el comprobante nº 2072, esta posiconado en el registro 233, ya que la numeracion de los comprobantes existian previamente a que empezara a usar la base.

Respuesta
1

Jorge: Entre otras soluciones, puedes usar el FinFirst del que te adjunto la referencia del propio Microsoft.

https://msdn.microsoft.com/es-es/library/office/ff194787.aspx 

Un saludo >> Jacinto

Hola Jacinto, muchas gracias por tu respuesta, entre en el link, pero ese comando se usa para access 2013 o superior. ¿Alguna otra solución que se pueda aplicar?

Saludos, Jorge.

Jorge: Si no quieres buscar en la Tabla, lo puedes hacer en el Recorsetclone del propio Formulario.

Supongamos que tienes un Cuadro de Texto donde ingresas el dato a Buscar, que se llama BuscaRegistro. El Campo de la Tabla se llama NumRegistro, y el TextBox igual

Private Sub BuscaRegistro_AfterUpdate()
Dim Rst As DAO.Recordset
Set Rst = Me.Recordset.Clone
Rst.FindFirst "[NumRegistro] = '" & Nz(Me![BuscaRegistro], "") & "'"  
If Rst.NoMatch Then
    MsgBox "Este registro no existe, verifique e inténtelo nuevamente", vbCritical,"NO EXISTE REGISTRO"
Else
    Me.Bookmark = Rst.BookMark
End If
Rst.close
Set Rst = Nothing
End Sub

Ya me contarás. Un saludo >> Jacinto

Mientras pruebo lo del código que me enviaste te explico más lo que necesito

Como verás voy por la orden 2211, pero recién tengo 229 registros. Yo necesito que cuando coloque el nº de orden en el cuadro que esta dentro del circulo rojo y presione el botón, el formulario se posicione en el registro que contenga el nº de orden solicitado. Voy probando tu código.

Saludos.

Jorge: El Cuerpo del código que te he enviado es perfectamente válido para lo que pretendes, solo que el Evento que has de Programar, es el Click del Botón en lugar del AfterUpdate del Control de Texto. Como los Objetos que veo no sé el Nombre exacto que tienen no te puedo poner el código exacto. Ahora si tu Botón se llama BtnBuscaOC, el Cuadro de Texto que tiene encima, se llame TxtOCABuscar y el cuadro de Texto que marcas en azul se llame NumOC y coincide con el Nombre de Campo de la Tabla tendriamos >>

Private Sub BtnBuscaOC_Click()
Dim Rst As DAO.Recordset
Set Rst = Me.Recordset.Clone
Rst.FindFirst "[NumOC] = '" & Nz(Me![TxtOCABuscar], "") & "'"  
If Rst.NoMatch Then
    MsgBox "Este registro no existe, verifique e inténtelo nuevamente", vbCritical,"NO EXISTE REGISTRO"
Else
    Me.Bookmark = Rst.BookMark
End If
Rst.close
Set Rst = Nothing
End Sub

Partiendo de que el Num de Orden de Compra es un Campo de Texto. Saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas