Campo buscar

Necesito crear mediante código en access un campo en el que incluir una cadena de caracteres los cuales me debe buscar en cualquier campo de los registro de un formulario cuando haga click en un botón de buscar.
Es como la función buscar que incorpora access, pero fuera de la barra de herramientas, es decir como el típico recuadro que existe en casi todas las páginas web en el que introducimos la palabra a buscar y posteriormente ejecutamos con el botón que tiene al lado (buscar).

6 Respuestas

Respuesta
1
Primero te pido excusa por tardar en responder a tu pregunta, lo que debes de hacer es lo siguiente:
1 - dentro del formulario colocas un campo txt temporal, es decir que este campo no pertenezca a ninguna tabla
2- En el evento clic del botón buscar colocas la siguiente instrucción
Me.RecordSource = "SELECT Afiliados.Carnet, Afiliados.TipoId, Afiliados.NumId, Afiliados.Ficha, Afiliados.Apellido1, Afiliados.Apellido2, Afiliados.Nombre1, Afiliados.Nombre2, Afiliados.Carnetizado, Afiliados.FeEntCar,Afiliados.TipNov, Afiliados.fecNov,Afiliados.MarcaCarnetizacion FROM Afiliados " _
& "WHERE Afiliados.Carnet = Forms!Afiliados!txtTemp "
La anterior instrucción la pegue de un formulario que yo trabajo, por lo que usted debe de cambiar el nombre de la tabla y los nombres de los campos de acurdo al proyecto que esta trabajando
JJ77
Respuesta
Recuerda que en el buscar de Access, tu seleccionas lacolumna en que deseas hacer la búsqueda.
Quizá en un cuadro combinado podrías listar los campos y luego de seleccionar uno, creas la consulta de búsqueda.
Ej.
En el listado dice nombre, apellido1, apellido2
Si busca "ferna" y selecciona nombre podría encontrar "Fernando", si selecciona apellido podría encontrar "Fernandez" etc.
Respuesta
En el formulario en vista de diseño, en la barra de diseño esta la opción botón de comando. Dale click y luego click en cualquier parte del formulario, debe activarse el wizard y debes quedar automáticamente posesionado en la opción de búsqueda. Solo dale finalizar y luego coloca el botón donde te parezca mejor.
Con esto puedes buscar por el campo que sea. La búsqueda es por registro.
Esta opción ya sé que existe, pero no es eso lo que estoy pidiendo.
Gracias
Debes explicarte mejor.
Donde quieres buscar en el mismo registro entre campos.
O entre registros de la tabla por el campo donde estas posesionado.
No se te puede responder lo que quieres sino te explicas como debes...
La pregunta es si me puedes ayudar a construir un código para incorporar a un botón de un formulario y que haga lo siguiente:
Yo escribo en un cuadro de texto independiente una cadena de caracteres p.ej. "nice".
Pulso el botón buscar.
Me busca en los campos del primer registro las coincidencias con "nice", y se para en el campo nombre que contiene "Aniceto", vuelvo a pulsar el botón buscar y se detiene en el campo artículo que contiene "Cenicero", vuelvo a pulsar el botón buscar y continúa la búsqueda por los diferentes campos y en caso de no tener coincidencia pasa al siguiente registro realizando la búsqueda por sus campos hasta el p.ej. el campo profesión en el que se para si contiene "Carnicero", y así sucesivamente hasta el último registro.
Como ya te decía en el mensaje inicial, es como la función que incorpora access en su barra de herramientas pero hecha de forma manual.
Gracias.
La verdad jamas he tenido que buscar entre campos de esa forma pero quizás esto te ayuda.
Utilizar caracteres comodín en comparaciones de cadenas :
Los modelos de coincidencia integrados proporcionan una herramienta versátil para la comparación de cadenas. La tabla siguiente muestra los caracteres comodín que puede utilizar con el operador Como y el número de dígitos o cadenas que hacen coincidir.
Carácter(es) en modelo Coincidencias en expresión
? o _ (subrayado) Cualquier carácter
* o % Cero o más caracteres
# Un dígito cualquiera (0- 9)
[listacaracteres] Cualquier carácter de listacaracteres
[!listacaracteres] Cualquier carácter que no esté en listacaracteres
Puede utilizar un grupo de uno o varios caracteres (listacaracteres) entre corchetes ([ ]) para hacer coincidir un carácter cualquiera de expresión, y listacaracteres puede incluir casi cualquier carácter del conjunto de caracteres ANSI, dígitos incluidos. ¿Puede utilizar los caracteres especiales corchete de apertura ([ ), signo de interrogación (?), signo de almohadilla (#) y asterisco (*) para hacerlos coincidir con ellos mismos directamente sólo si están entre corchetes. No puede utilizar el corchete de cierre ( ]) dentro de un grupo para que coincida consigo mismo, pero sí puede utilizarlo fuera de un grupo como carácter individual.
Además de una lista de caracteres simples entre corchetes, listacaracteres puede especificar un intervalo de caracteres utilizando un guión (-) para separar el límite superior e inferior del intervalo. Por ejemplo, utilizar [A-Z] en un modelo da como resultado una coincidencia si la posición del carácter correspondiente en la expresión contiene cualquier letra mayúscula en el intervalo de la A a la Z. Puede incluir varios intervalos dentro de los corchetes sin delimitarlos. Por ejemplo, [a-zA-Z0-9] hace coincidir cualquier carácter alfanumérico.
Es importante tener en cuenta que los caracteres comodín (%) y (_) de ANSI SQL sólo están disponibles con Microsoft® Jet versión 4.X y el proveedor de Microsoft OLE DB para Jet. Si se utilizan a través de Microsoft Access o DAO se tratarán como literales.
Otras reglas importantes para la coincidencia de modelos incluyen las siguientes:
Un signo de exclamación (!) Al principio de listacaracteres significa que se hace una coincidencia de cualquier carácter a no ser que aquéllos que están en listacaracteres se encuentren en expresión. Cuando se utiliza fuera de los corchetes, el signo de exclamación coincide consigo mismo.
Puede utilizar el guión (-) tanto al principio (después de un signo de exclamación si lo hay) tanto como al final de listacaracteres para que coincida consigo mismo. En cualquier otra posición, el guión identifica un intervalo de caracteres ANSI.
Cuando especifica un intervalo de caracteres, éstos deben aparecer en orden ascendente (A-Z o 0-100). [A-Z] Es un modelo válido, pero [Z-A] no lo es.
La secuencia de caracteres [ ] se pasa por alto; se considera una cadena de longitud cero ("").
Respuesta

Yo no soy un gran experto, pero se me ocurre que creando una "consulta de unión" incorporando todos los campos que deseas y unificándolos en uno a lo mejor te funciona

Respuesta
-1
Quieres buscar un campo en especifico como factura numero --- cliente
O varios campos aclarame para responderte
Hola, lo que quiero es introducir en un cuadro de texto una cadena de caracteres por ejemplo "nice" y que se vaya al campo que contenga esa cadena, por ejemplo se podría parar en el campo nombre si éste fuera "Aniceto" y al pulsar de nuevo en buscar podría pararse en el siguiente campo del mismo registro el cual contiene artículo si éste fuera "Cenicero", y así sucesivamente por todos los registros hasta el último.
No se si me he explicado con claridad.
Gracias.
Bueno lo que puedes hacer es una búsqueda inteligente pero tendrías que crear un indicador es decir opciones de búsqueda
ejemplo
en un formulario que trae una tabla de clientes
le pones cuatro opciones que cuando la marques busque por lo que marcaste
si marcas tel busca en el campo tel si marcas nombre busca por nombre si marcas notas busca por notas me entiendes
Respuesta
-1
¿Cuál es la pregunta en si?
¿En dónde tienes dudas?
La pregunta es si me puedes ayudar a construir un código para incorporar a un botón de un formulario y que haga lo siguiente:
Yo escribo en un cuadro de texto independiente una cadena de caracteres p.ej. "nice".
Pulso el botón buscar.
Me busca en los campos del primer registro las coincidencias con "nice", y se para en el campo nombre que contiene "Aniceto", vuelvo a pulsar el botón buscar y se detiene en el campo artículo que contiene "Cenicero", vuelvo a pulsar el botón buscar y continúa la búsqueda por los diferentes campos y en caso de no tener coincidencia pasa al siguiente registro realizando la búsqueda por sus campos hasta el p.ej. el campo profesión en el que se para si contiene "Carnicero", y así sucesivamente hasta el último registro.
Como ya te decía en el mensaje inicial, es como la función que incorpora access en su barra de herramientas pero hecha de forma manual.
Gracias.
Lo siento mucho pero no te puedo ayudar de esa manera, si quieres aprender a crear este tipo de cosas, deberías estudiar, busca en internet y veras que hay mucho material.
Mi deber como experto es ayudarte a aclarar dudas y resolver problemas al momento de hacer lo que que dices, pero no hacerlo por ti.
Soy una persona muy autodidacta y te aseguro que antes de haber recurrido a ti para que me prestaras ayuda, he investigado, probado y estudiado ese supuesto con muchas opciones durante al menos un mes y cuando ya me he visto desahuciada porque no me ha servido nada de lo intentado (macros, findrecord, etc. etc.) es cuando he intentado recurrir a este foro.
Creo que antes de prejuzgar a las personas se las debe de conocer, y en el caso que nos ocupa como bien te he explicado, no sabes los quebraderos de cabeza que esta cuestión me ha provocado y la investigación de muchas horas que he realizado.
Yo nunca he pedido que me hagan el trabajo, tan sólo me hubiera servido un ejemplo o una orientación de por dónde tenía que haber enfocado mi trabajo, de hecho en mi consulta lo que pido es ayuda no un arrendamiento de servicios.
No obstante tu respuesta ha sido muy clarificadora en cuanto a tu personalidad y honestamente creo que deberías de bajarte de esa nube de prepotencia en la que vives o como mínimo abandonar este foro en el que te anuncias como experto y en el que proclamas tu ayuda a los demás.
También pienso que después de haber pedido una aclaración a mi primera pregunta, la cual estaba muy clara, llego a la conclusión que esta cuestión también te ha desbordado a ti, por lo que además de todo lo anterior te recomendaría un baño de humildad.
Gracias y perdona las molestias que te haya podido causar y el derroche de tu maravilloso tiempo.
Elena.
Te pido disculpas si te ofendí, te aseguro que no era mi intención.
Mira el problema es que mucha gente cree que access es algo fácil, por que así lo han tratado de vender y en realidad para muchas tareas es algo muy sencillo, pero cuando tratamos de hacer algo no tan sencillo sino se tiene entrenamiento se puede volver algo imposible.
Creo que la forma en que formulaste la pregunta fue demasiado abierta, si por el contrario hubieras empezado mostrando que habías tratado de hacer y que no te funcionaba, seria más fácil para cualquier experto del foro poder ayudarte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas