Tengo un formulario con combobox y deseo que al cargar la información del formulario se cargue la información de los combobox

    

Cuando ingreso el número Cod de equipo se me actualiza el formulario menos los combobox de fabricante y subregión

3 respuestas

Respuesta
2

Es posible que sí se actualicen, pero hayas modificado alguna propiedad de los combos que haga que no se muestre su valor (por ejemplo el número de columnas, su ancho o la columna dependiente). Habría que revisarlo, por si ese es el problema.

Independientemente de lo anterior, y aunque sean independientes sí los puedes actualizar por código, ya que en laguna tabla tendrás guardados esos valores (presumiblemente en la misma tabla que el resto de datos del formulario). Una forma sería en el evento "Después de actualizar" del campo Cod, con algo como esto:

Me.Fabricante=DLookUp("Fabricante","NombreTabla","Cod=" & Me.Cod)
Me.Subregion=DLookUp("Subregion","NombreTabla","Cod=" & Me.Cod)

El primer parámetro del DLookup es el nombre del campo que buscas, el segundo la tabla/consulta donde está ese campo, y el tercero el criterio de búsqueda, en tu caso que el campo Cod coincida con el valor del campo Cod del formulario.

Si el formulario también lo usas para navegar entre registros, pon el mismo código en el evento "Al activar registro" del formulario.

Un saludo.


Me muestra este error podridas ayudarme

Sin ver tu BD, solo te puedo dar dos indicaciones, a ver si alguna soluciona tu problema:

1º/ Comprueba que tu combobox se llama efectivamente así (Fabricantes)

2º/ Depurar el código, a ver si tienes algún error en algún otro sitio que impide que se ejecuten los procedimientos correctamente. Para eso vete al editor de VBA ->menú depuración -> Compilar...

Una cosa que me llama la atención, es que buscas los datos en dos tablas distintas. Asegúrate de que en esas tablas exista el campo "id_equipo", pues de lo contrario te dará error.

Te podría enviar la BD para que me colabores?

Me muestra este error, disculpa es que soy muy novata en el tema, estoy realizando mi practica

El error te indica que en el formulario en el que pones el código no hay ningún control (cuadro de texto, combinado...) que se llame id_fabricante.

Entiendo que estás usando mal la función DLookup. Te explico: esa función tiene tres argumentos: el primero es el nombre del campo del que quieres obtener un valor (en tu caso el fabricante y la subregion). El segundo es la tabla (o consulta) donde está ese campo ( en tu caso ya no sé dónde tiene que buscarlos, pero lo lógico sería en la misma tabla que tienes el resto de campos del formulario). Y el tercer parámetro es un criterio para buscar un registro concreto, pues de lo contrario te devolvería uno cualquiera. En tu caso el criterio de búsqueda debería ser que el código (campo Cod que indicas en tu pregunta)coincida con el código que pones en tu formulario, lo que significa que en la la tabla donde está el campo fabricante (y lo mismo para la subregión) tiene que existir el campo Cod. De lo contrario, mal vamos...

Si quieres sube tu BD (sin datos que puedan ser confidenciales) a cualquier nube y pon aquí un enlace para que la descargue.

https://drive.google.com/file/d/1hBSHbcF8aGO_sCZ6lubH0pC0LIw1v1un/view?usp=drivesdk 

te agradezco me colabores

Acabo de ojear tu archivo, y como me temía, los errores que ibas comentando eran por los nombres de los controles, que no existen en el formulario.

Además, en tu tabla "equipos" no existen los campos que buscas,, y ni siquiera están en una tabla vinculada a ella directamente, si no que lo están a través de una o dos tablas, lo que complicará la escritura del código, para localizar esos datos no relacionados con el registro.

La mejor solución (para ti que casi no hay que programar, como para mi, que no pierdo tiempo probando códigos hasta dar con la solución) sería que creases una consulta multitabla (una consulta con varias tablas relacionadas) con los campos que quieras mostrar, y hagas el formulario sobre esa consulta en vez de sobre la tabla equipos y añadiendo.

Y para hacer el buscador, mira este respuesta de Julián González Cabarcos : Mostrar el ultimo registro si cumple con el criterio (Baseara control de actividades, Inicio/Fin)

Respuesta
1

Si no se actualizan es porque no existe una relación entre estos campos y la tabla de códigos.

pero seria posible a través de código o debe ser solo por relación

Por relación

Esto sucede cuando estamos trabajando con un formulario dependiente, es decir, depende de una tabla o consulta. Verifique el origen de los datos de cada combobox y el número de columna dependiente, es claro que estos campos deben existir en la respectiva tabla. Si no hay problema y me envía la base de datos a [email protected] con gusto miro en detalle.

Estuve revisando su base de datos veo que su pregunta la hace desde Colombia, mi país, lo que me permite ubicarme mejor toda vez que entiendo la división territorial. Veo que en la tabla EQUIPOS le hace falta el campo id_fabricante, por esto cuando pasa de un registro a otro le aparece sin información, no recomiendo hacer un Dlookup() esto hace más lento el cargue del formulario a medida que aumentan los datos. Los campos Subregion y municipio sobran solo se requiere el campo id_vereda, ya que la vereda está relacionada con el municipio y este a la vez con la Subregion. Información que se puede obtener mediante una consulta. Hay muchas cosas por mejorar.

En lo que me puedas colaborar te agradezco 

Si le queda fácil contácteme al celular 3185612588 y le doy una explicación más completa.

Respuesta
1

Lograste dar solución a tu problema si deseas puedo ayudarte con esto. Saludos. Me hablas a nuestro WhatsApp +56983511034.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas