Access

Buen día,
Desde un formulario usando un campo numérico quisiera crear tanto registros como indique en el campo con los datos que predetermine.
Es decir: cant: 30 tipo: pase rojo beneficiario: pedro perez vencimiento: 03/11/08
y debería usar un botón que diga: ejecutar
que luego me genere en una tabla (según el ejemplo) 30 registros (con su id autonumérico distinto) con los datos ingresados en la tabla anterior.

1 Respuesta

Respuesta
1
Creo que tengo la solución con código vb:
Private Sub Comando5_Click()
On Error GoTo Err_Añadir
DoCmd.SetWarnings False
Dim contador As Integer
Do While Me.REPETICIONES > 0
DoCmd.RunSQL "INSERT INTO TCLIENTES(Cliente, Tipo, F_Alta)VALUES ([Forms]![FRMGENERARCLIENTES]![CLIENTE], [Forms]![FRMGENERARCLIENTES]![TIPO], [Forms]![FRMGENERARCLIENTES]![FECHA])"
contador = contador + 1
If contador = Me.REPETICIONES Then
MsgBox "Se ha añadido a la tabla clientes " & Me.REPETICIONES & " registros", vbInformation
Exit Do
End If
Loop
Err_Añadir:
If Err.Number > 0 Then
MsgBox Err.Description, vbCritical, "Error al añadir datos"
End If
End Sub
Te explico la idea (después de buscar otras soluciones esta me parece la más simple):
He utilizado un formulario al que he llamado FRMGENERARCLIENTES como plantilla que tiene los siguientes controles independientes:
REPETICIONES (Aquí coloco el número de veces que quiero insertar la información)
Cliente (texto)
Tipo (combo)
Fecha (fecha)
Con un botón de comando denominado Comando5.
Para comentar el código vamos a ir por partes:
DoCmd. SetWarnings False (Desactivo las advertencias para que no pida la confirmación cada vez que inserte un registro)
Do Wile Me. Repeticiones > 0 (Traducido Mientras el control repeticiones tenga un valor mayor que cero) debe realizar la consulta.
¿Cuál es el problema de la instrucción Do Wile? Detenerla cuando cumpla una condición esto lo he conseguido mediante un truco (He declarado Contador como tipo numérico y he ido sumando 1 hasta que coincida con el número de registros que quiero introducir)
¿Esto soluciona tu problema? Lo he probado con una BD que te puedo enviar si lo requieres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas