Access - agregar registros a traves de cuadro combinado

 
Vista:

agregar registros a traves de cuadro combinado

Publicado por sargvid (5 intervenciones) el 13/03/2007 23:16:30
Buenas Tardes

Tengo un Formulario basado en una Tabla. Quisiera que a traves de un Cuadro Combinado en dicho Formulario me dijera si dicho cliente esta en la tabla, si es asi que me cargue los correspondientes datos en el Formulario, y si no estuviera, que me dejase agregar dicho cliente a la tabla.

Gracias por la ayuda
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

Validar y cargar datos de cliente desde cuadro combinado en formulario

Publicado por Alejandro (4142 intervenciones) el 04/08/2023 18:47:50
Para lograr lo que deseas, puedes seguir estos pasos:

1. Agrega un cuadro combinado al formulario y asegúrate de que esté vinculado a la tabla de clientes que deseas consultar. El cuadro combinado debe mostrar el campo que identifica de manera única a cada cliente, por ejemplo, el número de cliente o el nombre.

2. Abre la ventana de propiedades del cuadro combinado y configura la propiedad "ColumnCount" para que muestre el número de columnas necesarias para la consulta. Por ejemplo, si solo necesitas mostrar el número de cliente y el nombre, establece "ColumnCount" en 2.

3. En la propiedad "RowSource", define la consulta SQL que obtendrá los datos de los clientes. Por ejemplo:

1
SELECT NumeroCliente, NombreCliente FROM TablaClientes;

Reemplaza "NumeroCliente" y "NombreCliente" con los nombres de los campos que deseas mostrar en el cuadro combinado.

4. A continuación, necesitas agregar código al evento "AfterUpdate" del cuadro combinado para cargar los datos del cliente seleccionado en el formulario.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private Sub TuCuadroCombinado_AfterUpdate()
    Dim rs As DAO.Recordset
    Dim strSQL As String
 
    ' Construir la consulta SQL para buscar el cliente seleccionado
    strSQL = "SELECT * FROM TablaClientes WHERE NumeroCliente='" & Me.TuCuadroCombinado & "';"
 
    ' Ejecutar la consulta y abrir el recordset
    Set rs = CurrentDb.OpenRecordset(strSQL)
 
    ' Verificar si se encontró el cliente en la tabla
    If Not rs.EOF Then
        ' Cargar los datos del cliente en el formulario
        Me.NombreClienteTextBox = rs!NombreCliente
        Me.DireccionClienteTextBox = rs!DireccionCliente
        ' Continúa con el resto de campos del formulario
    Else
        ' Si no se encontró el cliente, permitir agregarlo
        If MsgBox("El cliente seleccionado no existe. ¿Deseas agregarlo?", vbQuestion + vbYesNo, "Agregar Cliente") = vbYes Then
            ' Abre el formulario de ingreso de nuevo cliente y agrega el código necesario para agregar el nuevo cliente a la tabla
            ' Puedes usar el método DoCmd.OpenForm para abrir el formulario de ingreso de nuevo cliente.
            ' Por ejemplo: DoCmd.OpenForm "FormularioNuevoCliente", acNormal, , , acFormAdd
        End If
    End If
 
    rs.Close
    Set rs = Nothing
End Sub

Asegúrate de cambiar los nombres de los controles del formulario y los campos de la tabla de acuerdo con tu diseño.

Con estos pasos, cuando selecciones un cliente en el cuadro combinado, los datos del cliente se cargarán automáticamente en el formulario. Si el cliente no existe en la tabla, se te preguntará si deseas agregarlo, y si confirmas, se abrirá un formulario para ingresar el nuevo cliente.

Espero que esta solución te sea útil. ¡Buena suerte!
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