Access - Entrada de datos

 
Vista:

Entrada de datos

Publicado por Toni (12 intervenciones) el 08/05/2007 18:58:39
Buenas.
Estoy haciendo una pequeña aplicacion en access y me surge la siguiente cuestion.
Es un formulario principal del que cuelgan dos tablas y un subformulario.

La tabla 1 y la Tabla 2 estan relacionadas por el campo clave de la tabla 2.
La tabla 1 y el formulario de entrada de datos estan relacionados por el campo clave de la tabla 1.

Lo que yo quiero es lo siguiente. Tengo un combo en el que aparezcan los campos clave de la tabla 1 que tengo introducidos, si seleccionase uno de los registros que aparecen en el combo
que se rellenen todos los datos relacionados con el campo clave de la tabla 1, y tambien los de la tabla 2 ya que estan relacionados. Hasta ahi todo va bien.

Aqui surge el problema: cuando yo introduzco por teclado en el combo un campo clave que no se encuentra en la tabla 1 da error o no deja continuar.
¿Como puedo hacer para que si access detecta que el campo que estoy introduciendo es un dato nuevo me deje insertar datos en los cuadros de texto y luego los inserte en sus correspondientes tablas?

Creo que la pregunta es un poco liosa, contactarme y os explico.

Un saludo y muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Manejar selección de datos en un combo box para formularios y tablas relacionadas

Publicado por Alejandro (4142 intervenciones) el 09/08/2023 23:16:20
Entiendo tu situación y puedo ayudarte a abordarla de manera efectiva. Parece que estás tratando de usar un combo box en tu formulario para seleccionar un registro de la Tabla 1, y luego llenar automáticamente los datos relacionados de la Tabla 1 y Tabla 2 en los campos de texto del formulario.

Para manejar esta situación, puedes seguir estos pasos:

1. Configuración del combo box:

- Crea un combo box en tu formulario.
- Establece la fuente de datos del combo box para mostrar los valores de los campos clave de la Tabla 1.

2. Manejo de selección en el combo box:

- En el evento "Después de actualizar" del combo box, es donde manejarás la selección del usuario y llenarás los datos relacionados.

3. Código en el evento "Después de actualizar" del combo box:

Aquí hay un ejemplo de cómo podrías escribir el código en el evento "Después de actualizar" del combo box:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub cmbCampoClave_AfterUpdate()
    Dim rs As DAO.Recordset
    Dim strSQL As String
 
    ' Verifica si se seleccionó un valor válido en el combo box
    If Not IsNull(Me.cmbCampoClave) Then
        ' Consulta la Tabla 1 usando el valor seleccionado en el combo box
        strSQL = "SELECT * FROM Tabla1 WHERE CampoClave = '" & Me.cmbCampoClave & "'"
        Set rs = CurrentDb.OpenRecordset(strSQL)
 
        ' Llena los campos de texto con los valores obtenidos de la Tabla 1
        If Not rs.EOF Then
            Me.txtCampo1 = rs!Campo1
            Me.txtCampo2 = rs!Campo2
        End If
 
        ' Cierra el recordset
        rs.Close
        Set rs = Nothing
    End If
End Sub

Este código consulta la Tabla 1 utilizando el valor seleccionado en el combo box y llena los campos de texto en el formulario con los valores correspondientes.

4. Manejo de inserción de datos nuevos:

Si el usuario introduce un valor en el combo box que no existe en la Tabla 1, puedes agregar lógica adicional para manejar la inserción de datos nuevos. Puedes agregar un botón "Agregar Nuevo" o un evento similar que abra un formulario de entrada para agregar un nuevo registro a la Tabla 1. Luego, una vez que se haya agregado el nuevo registro, puedes actualizar el combo box para mostrar el nuevo valor y llenar los campos de texto como se describió anteriormente.

Recuerda ajustar los nombres de los campos, tablas y controles según tu diseño específico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar