Access - INSERTAR REGISTROS EN UN CICLO

 
Vista:

INSERTAR REGISTROS EN UN CICLO

Publicado por coloro (2 intervenciones) el 25/11/2004 22:06:36
Hola amigos :

Estoy muy complicado con una insercion de datos desde un formulario , me explico , tengo n campos en un formulario y cada uno de estos campos los quiero ingresar en la misma tabla como registros independientes , osea , necetito recorrer los campos del formulario y hacer un insert por cada uno de estos que tendra un id relacionado con el campo ingresado .
No se si esta es la manera correcta o existe otra , si es que existe .
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

Inserción de datos desde un formulario en registros independientes

Publicado por Alejandro (4142 intervenciones) el 18/05/2023 22:32:51
Si deseas insertar los datos de varios campos de un formulario en registros independientes en una tabla de Access, hay varias opciones que puedes considerar. Aquí te presento dos enfoques posibles:

1. Utilizar un bucle para recorrer los campos del formulario: Puedes utilizar un bucle en VBA (Visual Basic for Applications) para recorrer los campos del formulario y realizar un insert en la tabla por cada campo. El código podría ser similar al siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim ctl As Control
 
Set db = CurrentDb
Set rs = db.OpenRecordset("NombreTabla")
 
For Each ctl In Me.Controls
    If ctl.ControlType = acTextBox Then ' Verificar si es un campo de texto
        If Not IsNull(ctl.Value) Then ' Verificar si el campo tiene un valor
            rs.AddNew
            rs("CampoRelacionado") = ctl.Value ' Asignar valor al campo relacionado
            rs.Update
        End If
    End If
Next ctl
 
rs.Close
Set rs = Nothing
Set db = Nothing

Este código recorre todos los controles del formulario y verifica si son campos de texto. Luego, realiza un insert en la tabla por cada campo que tenga un valor, asignando el valor al campo relacionado. Asegúrate de reemplazar "NombreTabla" con el nombre de tu tabla y "CampoRelacionado" con el nombre del campo relacionado.

2. Utilizar un formulario continuo o subformulario: En lugar de insertar registros independientes, puedes considerar utilizar un formulario continuo o un subformulario enlazado a la tabla. De esta manera, cada campo del formulario se mostrará como un registro en la vista de formulario. Esto te permitirá ingresar los datos en cada campo y guardarlos directamente en la tabla sin necesidad de recorrer los campos y realizar inserts individuales.

La elección entre estos enfoques dependerá de tus necesidades específicas y del diseño de tu aplicación. Si deseas mantener los campos como registros independientes, el primer enfoque puede ser adecuado. Si prefieres visualizar los campos como registros en un formulario continuo, el segundo enfoque puede ser más conveniente.

Espero que esta información te sea útil y te ayude a resolver tu problema. Recuerda adaptar el código según tus requerimientos y estructura de la base de datos.
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