Buscar registro formulario

Quisiera saber como buscar datos de un formulario en otro por ejemplo:
Tengo una tabla la cual llamo Tabla, un formulario llamado FormularioPrincipal y otro llamado Formulario en que tiene tres cuadros de texto llamados A, B y C.
En el FormularioPrincipal tengo un cuadro de texto independiente llamado Buscar, lo que quiero es que al introducir un dato en este cuadro de texto y darle al enter se habrá el formulario llamado Formulario con el registro que tenga el mismo dato que el introducido, en cualquier de los tres campos que tiene el formulario.
Tengo el siguiente código pero solo busca los datos del campo A.
Private Sub Buscar_Exit(Cancel As Integer)
Dim stDocName As String
Dim stLinkCriteria As String
Dim stLinkCriteria2 As String
Dim stLinkCriteria3 As String
stDocName = "Formulario"
stLinkCriteria = "[A]=" & Me![Buscar]
stLinkCriteria2 = "=" & Me![Buscar]
stLinkCriteria3 = "[C]=" & Me![Buscar]
DoCmd.OpenForm stDocName, , , stLinkCriteria
End Sub

3 Respuestas

Respuesta
1
El problema es que en la sentencia en la que abrís el formulario s{olo estas ponioendo un link criterial... lo que tienes que hacer es agrupar todos los criterios de búsqueda en una sola variable, algo así:
stLinkcriteria= "[A]=" & Me![Buscar] & " or =" & Me![Buscar] & " or [C]=" & Me![Buscar]
La solución que me das me funciona correctamente, pero me gustaría que me indicaras como hacerlo sin agrupar todos los criterios, como indicas que al abrir el formulario estoy poniendo un solo stLinkCriteria.
La verdad que no puedo ayudarte más, es la única forma sencilla que se me ocurre. Para hacer lo que me pedís, lo único que se ocurre es ir buscando po columna, pero me parece que son demasiadas lineas, las cuales no tienen sentido cuando se puede hacer en 2.
Respuesta
1
Disculpa no entendí la pregunta bien, pero lo que te entiendo es que necesitas buscar los datos en otro formulario una de las formas es que busques mediante un ciclo el dato en cada uno de los campos y al encontrarlo abril el formulario con el registro seleccionado te voy a poner un ejemplo que utilizo en uno de mis programas de VB 6 para tratar de explicarme.
Dim varFrmObj As Object --> estos son los objetos en el form
  For Each varFrmObj In Me --> la forma
   ' Si el objeto es un textbox etonces
   If (TypeOf varFrmObj Is TextBox) Then
    ' Aqui compararias el contenido del texto con el valor de tu cuadro buscar
    if varfrmobj.text = formbuscar.text then
     'Accion a realizar
    endif
   End If 'If (TypeOf varFrmObj Is TextBox) Then
  Next 'For Each varFrmObj In Me
Gracias por tu contestación, lo que me indicas no consigo hacerlo funcionar, ya he consigo por otro medio solucionar esta consulta.
Saludos.
Respuesta
1
He estado ausente, no se si aun sirve que conteste algo...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas