Un botón de búsqueda que funcione bien por favor
Pues eso como indico en el titulo, necesitaría un botón que al pinchar en el busque de una base de datos solo el registro que se haya colocado en un cuadro de texto. Me explico algo más extendido:
Tengo una base de datos, en la cual hay una tabla llamada TOTAL JUGADORES DEL CLUB. Asimismo tengo un formulario creado con el mismo nombre, ya que se accede a el a través de una página principal, con un botón que le lleva hasta ese formulario. Bien hasta ahí todo correcto, pero ahora quiero poner un cuadro de texto, en el cual al colocar el NÚMERO DE DNI/NIE de un jugador, y al pulsar el botón, me busque solamente los datos de ese jugador, para así yo verlos por pantalla o imprimirlos.
Decirles que he probadop con estos códigos que encuentro en la www, pero no me funcionan, estos son:
Este dado aquí en todoexpertos:
bus="DNI=" & me.buscaDNI:Me.form.Recordset.FindFirst bus
que al no funcionar el experto me indico que pusiera esto:
bus = "NÚMERO DE DNI/NIE='" & Me.BuscaDNI &"'": Me.Form.Recordset.FindFirst bus
pero tampoco funciono,
y este otro tambien:
Private Sub Bus_Click()
Dim BUSCAR As String
Dim CriterioBusqueda As String
'*********************************************
'Codigo Simple Cortesia de Jefferson Jimenez *
'*********************************************
If IsNull(Nif) Then
MsgBox "No ha ingresado nada" & vbCrLf & _
"vuelva a intentarlo", vbCritical, "Campo Nulo"
Nif.SetFocus
Exit Sub
End If
BUSCAR = Me.Nif.Value
CriterioBusqueda = "[Nif]=" & "'" & Nif & "'"
'Comprobamos si existe el Nif del Usuario
If DCount("Nif", "Usuarios", CriterioBusqueda) > 0 Then
'Abrimos una caja de mensajes indicamos que lo encontramos
MsgBox "Vamos a abrir el Form Usuarios Orienta" & vbCrLf & _
"cuyo Nif pertenece a :" & vbCrLf & _
Nif, vbExclamation, "Nif Encontrado"
'Y abrimos
DoCmd.OpenForm "Usuarios Orienta", acNormal, "", "", acEdit, acNormal
DoCmd.GoToControl "Nif" 'Rem cuadro de texto donde introducimos el Nif
DoCmd.FindRecord Forms![Abrir por nif]!Nif, acEntire, False, , False, acCurrent, True
DoCmd.Close acForm, "Abrir por nif"
Else
'De no existir lanzamos un Mensaje
MsgBox "El Usuario solicitado : " & Nif & vbCrLf & _
"no existe, por favor refine la búsqueda", vbCritical, "No Encontrado"
Nif.SetFocus
End If
End Sub
Pero ninguno me sirve.
¿Podría algún experto ayudarme para que esto funcione correctamente?
NOTA: En las tablas no hay ninguna clave principal pues creo que no es necesaria, ya que se puede dar el caso de que algún número de DNI no le conozcamos, y ese campo tendría que estar en blanco o por lo menos permitírselo. De VB entiendo lo justo y poco más.
Tengo una base de datos, en la cual hay una tabla llamada TOTAL JUGADORES DEL CLUB. Asimismo tengo un formulario creado con el mismo nombre, ya que se accede a el a través de una página principal, con un botón que le lleva hasta ese formulario. Bien hasta ahí todo correcto, pero ahora quiero poner un cuadro de texto, en el cual al colocar el NÚMERO DE DNI/NIE de un jugador, y al pulsar el botón, me busque solamente los datos de ese jugador, para así yo verlos por pantalla o imprimirlos.
Decirles que he probadop con estos códigos que encuentro en la www, pero no me funcionan, estos son:
Este dado aquí en todoexpertos:
bus="DNI=" & me.buscaDNI:Me.form.Recordset.FindFirst bus
que al no funcionar el experto me indico que pusiera esto:
bus = "NÚMERO DE DNI/NIE='" & Me.BuscaDNI &"'": Me.Form.Recordset.FindFirst bus
pero tampoco funciono,
y este otro tambien:
Private Sub Bus_Click()
Dim BUSCAR As String
Dim CriterioBusqueda As String
'*********************************************
'Codigo Simple Cortesia de Jefferson Jimenez *
'*********************************************
If IsNull(Nif) Then
MsgBox "No ha ingresado nada" & vbCrLf & _
"vuelva a intentarlo", vbCritical, "Campo Nulo"
Nif.SetFocus
Exit Sub
End If
BUSCAR = Me.Nif.Value
CriterioBusqueda = "[Nif]=" & "'" & Nif & "'"
'Comprobamos si existe el Nif del Usuario
If DCount("Nif", "Usuarios", CriterioBusqueda) > 0 Then
'Abrimos una caja de mensajes indicamos que lo encontramos
MsgBox "Vamos a abrir el Form Usuarios Orienta" & vbCrLf & _
"cuyo Nif pertenece a :" & vbCrLf & _
Nif, vbExclamation, "Nif Encontrado"
'Y abrimos
DoCmd.OpenForm "Usuarios Orienta", acNormal, "", "", acEdit, acNormal
DoCmd.GoToControl "Nif" 'Rem cuadro de texto donde introducimos el Nif
DoCmd.FindRecord Forms![Abrir por nif]!Nif, acEntire, False, , False, acCurrent, True
DoCmd.Close acForm, "Abrir por nif"
Else
'De no existir lanzamos un Mensaje
MsgBox "El Usuario solicitado : " & Nif & vbCrLf & _
"no existe, por favor refine la búsqueda", vbCritical, "No Encontrado"
Nif.SetFocus
End If
End Sub
Pero ninguno me sirve.
¿Podría algún experto ayudarme para que esto funcione correctamente?
NOTA: En las tablas no hay ninguna clave principal pues creo que no es necesaria, ya que se puede dar el caso de que algún número de DNI no le conozcamos, y ese campo tendría que estar en blanco o por lo menos permitírselo. De VB entiendo lo justo y poco más.
1 Respuesta
Respuesta de byleto
1