En este grupo En todos

Grupo de Access



Combobox en tablas de neptuno?

Andry
Escrito por Andry
el 02/06/2009 | Nivel Básico

Hola Hector Guzman.

Te comento que es lo que tiene hecho en la tabla productos de la base de datos neptuno con un ejemplo:

Mira, crea dos tablas.

Tabla 1:
A
B
D1

Tabla 2:
D2
C

Debes poner A y D2 llaves primarias de cada tabla y D1 llave externa de la tabla 2.

Luego abres las tablas le introduces datos que tengan el mismo formato. Por ejemplo A que sea autonumérico tipo llave principal y D2 igual en el caso de D1 que sea numérico, luego relacionas las tablas.

Como Relacionas las tablas:

Tabla 1 con tabla 2 por los campos D1 y D2.

Como relacionas tablas, busca arriba en la parte superior del Access que no se cual de las versiones tienes pero me imagino que ha de ser el Microsoft Access 2003, porque estas hablando de la BD Neptuno , una opción que dice Herramientas , luego allí aparece la opción que dice Relaciones y allí das un clic en la opción Mostrar Tablas , seleccionas las tablas 1 y 2, luego arrastras el campo D2 de la tabla 2 encima del campo D1 de la tabla 1, te debe salir un asistente de relaciones le das aceptar y vas a observar entre ambas tablas una línea que une ambos campos, cerrar la ventana de las relaciones y guardas las relaciones de tablas.

Donde A y D2 son llaves primarias de las tablas 1 y 2, pero D1 es llave externa de la tabla 2 por lo tanto es una relación de 1:N.

Luego abres la tabla 1 y te paras encima de la columna D y das un clic derecho, te va salir un menú contextual donde aparece una opción que dice Columna de búsqueda , escoges esa y te sale un asistente que va a buscar los valores de la tabla 2 de del campo D para mostrarlos en la tabla 1 en el campo D usando un cuadro combinado como aparece en la tabla productos de la base de datos Neptuno.

Creo que un poco complicado porque no tengo un ejemplo ahora para que lo veas, esperando que haya sido de ayuda lo explicado.

Un saludo.

Hector Guzman
Ingenieria en sistemas universidad de ...
Escrito por Hector Guzman
el 03/06/2009 | Nivel Básico

Buenisima tu respuesta gracias miles me ayudaste como no tenes idea

Andry
Escrito por Andry
el 03/06/2009 | Nivel Básico

Hola Hector Guzman.

De nada man, para eso estamos y me alegro mucho que te haya servido de ayuda mi explicación.

Un saludo.

Werner Ketterer
Santiago, Chile
Escrito por Werner Ketterer
el 31/07/2009 | Nivel Básico

Hola amigos,

Un gusto saludarlos por primera vez ya que estoy empezando con esto de access y como es usual ya empiezan presentarse los primeros inconvenientes. Bueno les cuento. Al gual que Hector estoy tratando de aprender con la base Neptuno Access 2003 sobre este programa.
En ella Hay una Tabla pedidos y una Clientes entre otras. Un formulario Pedidos y Una consulta Pedidos que relaciona las dos tablas mencionadas. La tabla clientes tiene como llave a IdClientes que asu vez esta incorporada como un campo mas en la tabla pedidos, en una relación uno a muchos (Muchos pedidos para un cliente). El formulario pedidos refleja esto utilizando un cuadro combinado entregando la lista desplegable respectiva de las empresas a las que corresponde el IdCliente (guardando este valor IdCliente como dato para el correspondiente pedido. Algo así como un Rut o Número de Seguro social). Bueno hasta aqui todo bien. El problema es que cuando se selecciona la empresa otros datos deben mostrarse automaticamente, todo estos atributos de la Tabla clientes para el respectivo IdCliente por ejemplo Ciudad, Región, etc. En el formulario estos datos se ingresan en forma de cuadro de tecto. Automaticamente.

He seleccionado la opción "Generar Evento" pinchado sobre el cuadro combinado de los clientes para ver que programacion hace esto posible, siendo esta:

Private Sub IdCliente_AfterUpdate()
' Actualizar los controles basados en FacturarA con el valor seleccionado en el cuadro combinado IdCliente.

Me! Destinatario = Me! [IDCliente]. Column(1)
Me! DirecciónDestinatario = Me! Dirección
Me! CiudadDestinatario = Me! Ciudad
Me! RegiónDestinatario = Me! Región
Me! CódPostalDestinatario = Me! CódPostal
Me! PaísDestinatario = Me! País

End Sub

El lado izquierdo de las respectivas igualdades creo que hace referencia a la consulta compuesta, mientras que el lado derecho al objeto cuadro de texto donde deberian mostrarse los valores.

He tratado de replicar esto para mi caso pero no resulta.
Ademas en la opcion lista de campos tampoco no me aparecen todo estos a diferencia de como ocurre en el ejemplo.

En verdad amigos estoy perdido. Llevo horas tratando de buscar solución a esto pero no la encuentro. Espero no haberme extendido mucho ni haber resultado tedioso, pero uff la frustación me supera jaja.

Espero me puedan ayudar, y gracias desde ya.


Werner Ketterer S. Chile

Chile

Werner Ketterer
Santiago, Chile
Escrito por Werner Ketterer
el 31/07/2009 | Nivel Básico

Hola amigos,

Un gusto saludarlos por primera vez ya que estoy empezando con esto de access y como es usual ya empiezan presentarse los primeros inconvenientes. Bueno les cuento. Al gual que Hector estoy tratando de aprender con la base Neptuno Access 2003 sobre este programa.
En ella Hay una Tabla pedidos y una Clientes entre otras. Un formulario Pedidos y Una consulta Pedidos que relaciona las dos tablas mencionadas. La tabla clientes tiene como llave a IdClientes que asu vez esta incorporada como un campo mas en la tabla pedidos, en una relación uno a muchos (Muchos pedidos para un cliente). El formulario pedidos refleja esto utilizando un cuadro combinado entregando la lista desplegable respectiva de las empresas a las que corresponde el IdCliente (guardando este valor IdCliente como dato para el correspondiente pedido. Algo así como un Rut o Número de Seguro social). Bueno hasta aqui todo bien. El problema es que cuando se selecciona la empresa otros datos deben mostrarse automaticamente, todo estos atributos de la Tabla clientes para el respectivo IdCliente por ejemplo Ciudad, Región, etc. En el formulario estos datos se ingresan en forma de cuadro de tecto. Automaticamente.

He seleccionado la opción "Generar Evento" pinchado sobre el cuadro combinado de los clientes para ver que programacion hace esto posible, siendo esta:

Private Sub IdCliente_AfterUpdate()
' Actualizar los controles basados en FacturarA con el valor seleccionado en el cuadro combinado IdCliente.

Me! Destinatario = Me! [IDCliente]. Column(1)
Me! DirecciónDestinatario = Me! Dirección
Me! CiudadDestinatario = Me! Ciudad
Me! RegiónDestinatario = Me! Región
Me! CódPostalDestinatario = Me! CódPostal
Me! PaísDestinatario = Me! País

End Sub

El lado izquierdo de las respectivas igualdades creo que hace referencia a la consulta compuesta, mientras que el lado derecho al objeto cuadro de texto donde deberian mostrarse los valores.

He tratado de replicar esto para mi caso pero no resulta.
Ademas en la opcion lista de campos tampoco no me aparecen todo estos a diferencia de como ocurre en el ejemplo.

En verdad amigos estoy perdido. Llevo horas tratando de buscar solución a esto pero no la encuentro. Espero no haberme extendido mucho ni haber resultado tedioso, pero uff la frustación me supera jaja.

Espero me puedan ayudar, y gracias desde ya.


Werner Ketterer S. Chile

Chile

Ramon Peralta
Tecnico profesional en elctronica cent...
Escrito por Ramon Peralta
el 09/09/2009 | Nivel Básico

<! -- @page { margin: 2cm } P { margin-bottom: 0. 21cm } -->

Hola.. Seguimos aprendiendo

No debemos olvidar que los motores que manejan las bases de datos en Micos.... T RDO, DAO ADO etc. Siempre han presentado BUGS o falta de estabilidad en las llamadas de los controles.

Te sugiero que intentes en otro evento, es decir change(), lost_focus() o algun boton cercano que tenga la etiqueta Actualizar y con el evento CLICK() se ejecute tu codigo.

El código Visual Basic en la versión 5 propone para actualizar los controles que apuntes al primer registro y luego al ultimo, el problema se presentaba cuando tu registro a actualizar era el ultimo o el primero. Puedes probar moviéndote al registro anterior y luego al siguiente que es el registro en el que estas trabajando.

Para solucionar el problema pusieron un código parecido a esto.

Sub Boton_Moveprevious_Click()

recordset.table.moveprevious

If recorcordset. Table BOF() then

recordset.table.movefirst

Endif

Endsub

Sub Boton_Movenext_Click()

recordset.table.movenext

If recorcordset. Table EOF() then

recorsset.table.movelast

Endif

La forma mas fácil es usar el asistente para combo box teniendo activado el botón de (Wizard).

Elige tu combo box y dibujalo en el formulario, si esta activado el asistente se presenta un cuadro de dialogo que te pregunta si quieres buscar los datos en una tabla o consulta, ahí tu elijes la opción.

Lee detenidamente los mensajes y seguro solucionas tu problema.

La base de datos Neptuno es ciertamente compleja estudia la estructura de las relaciones de las tablas y la comprenderás mejor. También te sugiero que intentes con un ejemplo mas sencillo que puedes generar con datos de ejemplo.

Para mi gusto una de las mejores versiones para aprender Access es la versión 2003 y todo lo que ahí se aprende se puede aplicar al Access 2007


Espero que esto te ayude.

Seguimos aprendiendo....


Saludos.

Jaime Antonio Godoy Barbosa
Contador público unan managua
Escrito por Jaime Antonio Godoy Barbosa
el 14/09/2009 | Nivel Básico

Don Werner:

Revise el formulario pedidos de Neptuno:

En el origen del formulario tiene la consulta para las dos tablas clientes y Pedidos, observe que esta consulta además del idcliente tiene incluidas la dirección, la ciudad, la región, el código postal y el país del cliente. Por lo tanto en el formulario también se incluyen estos campos con el mismo nombre.

Asegúrese de que lo hecho por usted en la consulta de datos de origen incluya los campos que usted necesita del cliente y que también el formulario los tenga.

Así el evento afterupdate () le tiene que funcionar.