Access - Ejecutar una macro

 
Vista:

Ejecutar una macro

Publicado por Leonardo (2 intervenciones) el 05/05/2005 23:57:04
Hola necesito ayuda. Tengo una base de datos hechas de un registro de almacen y una macro q ejecuta un codigo limpia() al cargar el formulario pedido, para q cuando habra el formalario pedido y me salga la relacionde todos los productos se me ponga la cantidad a pedir a cero y esto me funciona cuando tengo metidos los productos q caben en una pantalla del formulario pero cuando meto mas agrego mas articulos a la base de datos me deja de funcionar,
Saludos
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

Problema con la macro limpia() al cargar el formulario pedido

Publicado por Alejandro (4142 intervenciones) el 02/06/2023 00:10:46
El problema que estás experimentando puede estar relacionado con la forma en que estás accediendo a los registros en tu formulario y actualizando la cantidad a cero. Es posible que al agregar más artículos a la base de datos, el formulario muestre más registros de los que puedes ver en la pantalla, lo que afecta el funcionamiento de tu macro.

Para solucionar esto, te sugiero utilizar un enfoque diferente para actualizar la cantidad a cero en todos los registros del formulario. En lugar de confiar en la visibilidad de los registros en la pantalla, puedes utilizar una consulta de actualización para establecer la cantidad a cero en todos los registros del formulario.

Aquí tienes un ejemplo de cómo podrías hacerlo:

1. Abre el formulario en modo Diseño.
2. Agrega un botón de comando al formulario y nómbralo "Limpiar Cantidad".
3. Haz clic derecho en el botón y selecciona "Generador de eventos".
4. En la ventana del generador de eventos, haz doble clic en el evento "Al hacer clic".
5. En el editor de código VBA que se abre, agrega el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Limpiar_Cantidad_Click()
    Dim strSQL As String
 
    ' Construir la consulta de actualización
    strSQL = "UPDATE TuTabla SET Cantidad = 0"
 
    ' Ejecutar la consulta de actualización
    CurrentDb.Execute strSQL
 
    ' Volver a cargar los registros del formulario para reflejar los cambios
    Me.Requery
End Sub

Guarda los cambios en el editor de código y ciérralo. Ahora, cuando hagas clic en el botón "Limpiar Cantidad" en tu formulario, se ejecutará la consulta de actualización para establecer la cantidad a cero en todos los registros de la tabla. Luego, se volverán a cargar los registros del formulario para reflejar los cambios.

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