Buscar Registro Con Opciones

Varias Opciones de Busqueda de Registro....

Otro Ejemplo y el mas practico es buscar Usando un Recordset

El Codigo

Option Compare Database

'**************************************************

'Codigo de Busqueda Cortesia de Jefferson Jimenez *

'**************************************************

Dim i As Integer

Private Sub Form_Current()

For i = 1 To 10

Me.Controls("Text" & i).Enabled = False

Next i

End Sub

Private Sub IdCliente_AfterUpdate()

Dim BUSCAR As String

Dim CriterioBusqueda As String

Dim rsc As DAO.Recordset

Set rsc = Me.RecordsetClone 'Recorremos la tabla cliente

BUSCAR = Me.IdCliente.Value

CriterioBusqueda = "[IdCliente]=" & "'" & BUSCAR & "'"

'Comprobamos si existe el Codigo Cliente

If DCount("IdCliente", "Clientes", CriterioBusqueda) > 0 Then

Me.Undo 'limpiamos el campo

'Si lo encontramos un mensaje

If MsgBox("Encontrado " _

& BUSCAR & vbCrLf & _

"Desea modificarlo", vbYesNo + vbInformation _

, "BUSCAR") = vbYes Then

'Nos movemos al registro especificado _

y desbloquemos todos los campos

rsc.FindFirst CriterioBusqueda

Me.Bookmark = rsc.Bookmark

For i = 1 To 10

Me.Controls("Text" & i).Enabled = True

Next i

Else 'De elegir NO solamente nos movemos

rsc.FindFirst CriterioBusqueda

Me.Bookmark = rsc.Bookmark

End If

Set rsc = Nothing 'Cerramos el Recordset

Else 'De no existir el cliente

If MsgBox("Cliente no Encontrado" & vbCrLf & _

"Desea crear al cliente : " _

& BUSCAR, vbYesNo, "No Encontrado") = vbYes Then

Me.Undo 'limpiamos

DoCmd.GoToRecord , , acNewRec 'Creamos un nuevo registro

For i = 1 To 10 'Desbloqueamos

Me.Controls("Text" & i).Enabled = True

Next i

IdCliente = BUSCAR 'Asignamos el valor de la variable Buscar _

al campo IdCliente

DoCmd.GoToControl "Text1" 'Nos movemos al siguiente campo

Else 'De haber elegido NO

Me.Undo 'limpiamos

End If 'Salimos

End If

End Sub 'Nos vamos

Escribe el codigo del Cliente sobre el campo que aparece desbloqueado