Access - Repetir Registros de 1 a n...

 
Vista:

Repetir Registros de 1 a n...

Publicado por Anali (19 intervenciones) el 24/08/2005 18:59:23
Necesito que una tabla repita n... registros en base a un ingreso en un campo formulario.
es para repetir Ej: 100 ticket $2, 50 ticket $5, n...Ticket $10.
para no tener que crear n.. tickets...
Gracias por todo.
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

Repetición de registros en base a un campo de formulario

Publicado por Alejandro (4142 intervenciones) el 07/06/2023 16:39:09
Hola, Analí.

Para repetir n registros en una tabla en base a un valor ingresado en un campo de formulario en Access, puedes utilizar una consulta de inserción para generar los registros adicionales automáticamente. Aquí tienes una solución que puedes aplicar:

1. Crea una tabla auxiliar: En tu base de datos, crea una tabla auxiliar que tenga al menos un campo para almacenar el número de repeticiones que deseas realizar. Por ejemplo, puedes tener una tabla llamada "TablaAuxiliar" con un campo "NumRepeticiones" de tipo Numérico.

2. Diseña un formulario: Crea un formulario en Access con un campo de entrada para el número de repeticiones y un botón para ejecutar el proceso de repetición.

3. Código VBA: En el evento "Al hacer clic" del botón del formulario, agrega el siguiente código VBA:

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
29
30
31
32
Private Sub btnRepetir_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim strSQL As String
    Dim i As Integer
 
    'Obtener el número de repeticiones ingresado en el campo del formulario
    Dim numRepeticiones As Integer
    numRepeticiones = Me.txtNumRepeticiones.Value
 
    'Establecer la cadena de consulta de inserción
    strSQL = "INSERT INTO TuTabla (CampoTicket) VALUES ('Ticket $10')"
 
    'Iniciar la transacción
    Set db = CurrentDb
    db.BeginTrans
 
    'Ejecutar la consulta de inserción n veces
    For i = 1 To numRepeticiones
        db.Execute strSQL, dbFailOnError
    Next i
 
    'Confirmar la transacción
    db.CommitTrans
 
    'Cerrar la base de datos y liberar los objetos
    Set rs = Nothing
    Set db = Nothing
 
    'Mostrar mensaje de éxito
    MsgBox "Se han agregado " & numRepeticiones & " registros de Ticket $10", vbInformation
End Sub

Asegúrate de reemplazar "TuTabla" con el nombre real de tu tabla donde deseas repetir los registros.

En este código, se utiliza una consulta de inserción para agregar registros a la tabla, repetidos n veces según el número ingresado en el campo del formulario. La consulta inserta registros con el valor "Ticket $10" (puedes modificarlo según tus necesidades).

El código utiliza una transacción para asegurar la integridad de los datos y confirmar los cambios solo si todas las inserciones se realizan correctamente. Además, muestra un mensaje de éxito al finalizar el proceso.

4. Asocia el formulario: Asocia el código VBA del botón al evento "Al hacer clic" como se describió anteriormente.

Con esta solución, al ingresar un número en el campo del formulario y hacer clic en el botón, se agregarán automáticamente los registros repetidos en la tabla especificada.

Puedes adaptar este enfoque para repetir registros con otros valores y en otras tablas según tus necesidades.

¡Espero que esto resuelva tu consulta!

¡Saludos!
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