Seleccionar un registro de una lista y consultar

Y no se si será posible o tendré que hacerlo con otro recurso. En mi formulario access hago una consulta y me salen varios resultados dentro de una lista. ¿Podría con alguna función seleccionar uno de los registros de la consulta y a través de un botón consulta lanzar a un formulario nuevo todos los datos del registro.

2 respuestas

Respuesta
2

Por partes, ¿los resultados te salen en un formulario continuo o en un cuadro de lista?

Es que no veo necesaria la consulta. Vamos a suponer que tienes una tabla Loquesea con Nombreamigo, Hermano, Pueblo Y Nación y quieres que desde otra tabla Clientes con Nombrecompañia, nombrecontacto, Ciudad, Pais. Y desde un formulario quieres que te pase a la tabla Loquesea, aquel registro de la tabla Clientes cuyo Nombrecontacto se llame Jose Lopez. En algún evento, por ejemplo, al hacer clic de un botón podrías poner

Docmd.setwarnings false

docmd.runsql"insert into loquesea(nombreamigo,hermano,pueblo,nacion) select nombrecompañia, nombrecontacto,ciudad,pais from clientes where nombrecontacto=""Jose Lopez"""

Es decir, que mientras haya un campo que identifique a un registro en particular puedes decirle lo que quieras. En caso de que en el formulario hubiera un cuadro de texto donde estuviera el nombrecontacto lo podrías poner como

..................where nombrecontacto='" & me.nombrecuadrotexto & "'"

Si pudieras concretar algo más te podría decir algo más aproximado

Buenas tardes

Mi idea es en un formulario buscar por dni, o por nombre apellido o apellido dos dentro de la tabla clientes, pero claro el usuario que busca igual solo sabe el apellido 1, con lo cual igual tengo dos registros con el mismo apellido. Por eso quiero saber si en la lista en la que vuelco estas consultas podría seleccionar un registro y a partir de aquí obtener por ejemplo el dni de este, para más tarde a través de un botón lanzar una consulta más completa de este cliente en otro formulario. Solo quiero saber si es posible lo de seleccionar dentro de la lista el registro y obtener algún dato de lo seleccionado.

Muchas gracias y siento no poder haber calificado antes

Puedes hacerlo de 7 millones de formas(eso sin exagerar, exagerando 40) de hacerlo. Por no extenderme aquí, si quieres, repito, si quieres, mándame un mensaje(sólo el mensaje) a [email protected] y te mando unos ejemplos. Si lo haces, en el asunto del mensaje pon tu alias Rcme, ya que si no sé quien me escribe ni los abro.

Respuesta
1

Claro que puedes hacerlo.

Yo crearía una variable global (o sea Public) alojada en un modulo la cual recoja el valor del campo en concreto ya este en un listbox o datagridview. Al pulsar el botón que dices mostraría el otro formulario y en el activate de ese formulario haría la consulta select que me mostrara los datos que quiera de ese campo y los mostraría en cajas de texto o en un datagridview.

Esta en una lista, pero supongo que para obtener por ejemplo el dni de un registro seleccionado, habrá una función especifica no??.

Muchas gracias 

No hay una función especifica en la cual recojas todos los datos de la lista y los pases a otro formulario si entiendo que es eso lo que quieres. Si la lista es de una sola columna (listbox), tendrás que hacer una sql que te devuelva de la base de datos o dependiendo de donde tengas guardado el dni tendrías que hacer otra cosa. Si la lista la has hecho con varias columnas estas con un listview y si en ella también has guardado el dni y demas campos solo tendrás que recorrer la lista y en el indice que encuentres el nombre, recupera de su columna correspondiente el dni y demás datos.

Entonces guardaría en una variable global string todos los campos del indice de la lista separado cada campo por ";" por ejemplo y luego en el otro formulario tendría que recorrer el string y separar cada campo y mostrarlos en cada caja.

Otra cosa que podrías hacer es hacer global la variable donde has recuperado los registros y al guardar en una global el dato, solo tendrias que recorrer en el otro formulario esa variable donde estan todos los registros, buscar el elegido y mostrarlo en cajas los campos deseados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas