Access - Consultas de anexión de datos

 
Vista:

Consultas de anexión de datos

Publicado por Daniel (1 intervención) el 24/07/2007 16:31:04
Buenas, quiero hacer una consulta de anexión de datos de manera iterada, es decir, X veces (variables) al hacer clic en un botón solo cambiando ciertos campos, de que manera lo hago? si se hace mediante VBA, como me refiero a la consulta en dicho entorno?

Cómo manejo una fecha en el entorno VBA, sacada de un campo de la BD y sumandole días? (es uno de los datos que varía en la iteración)

Gracias.
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

Consulta de anexión iterada y manipulación de fechas en VBA

Publicado por Alejandro (4142 intervenciones) el 16/08/2023 20:20:32
Para realizar una consulta de anexión de datos de manera iterada en Microsoft Access y manejar fechas en el entorno VBA, puedes seguir estos pasos:

Paso 1: Crear la consulta de anexión en Access

1. Crea una consulta de anexión normal en Access para anexar los datos según tus requisitos. Asegúrate de que la consulta utilice parámetros que puedas modificar en el futuro.

Paso 2: Crear el botón y el evento VBA

1. Crea un formulario que contenga el botón desde el cual ejecutarás la consulta iterada.

2. Abre el formulario en modo diseño y doble clic en el botón para abrir el editor de código VBA.

3. Agrega el código VBA para ejecutar la consulta iterada:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub btnEjecutarConsulta_Click()
    Dim i As Integer
    Dim fechaInicial As Date
    Dim diasASumar As Integer
    Dim strSQL As String
 
    ' Valores iniciales para la iteración
    fechaInicial = Me!txtFechaInicial ' Cambia txtFechaInicial al nombre real del control
    diasASumar = Me!txtDiasASumar ' Cambia txtDiasASumar al nombre real del control
 
    For i = 1 To Me!txtIteraciones ' Cambia txtIteraciones al nombre real del control
        ' Construir la consulta de anexión con los parámetros
        strSQL = "INSERT INTO TablaDestino (Campo1, Campo2, Fecha) " _
            & "SELECT Campo1, Campo2, DateAdd('d', " & diasASumar & ", #" & fechaInicial & "#') FROM TablaOrigen;"
 
        ' Ejecutar la consulta
        CurrentDb.Execute strSQL
 
        ' Actualizar la fecha para la próxima iteración
        fechaInicial = DateAdd("d", diasASumar, fechaInicial)
    Next i
End Sub
```

Paso 3: Manipular fechas en VBA

El código VBA utiliza la función `DateAdd()` para manipular fechas. En este caso, se suma una cantidad específica de días a una fecha. Puedes ajustar el código según tus necesidades y las estructuras de tus tablas y campos.

Asegúrate de ajustar los nombres de tablas, campos y controles en el formulario según tu base de datos real. Este ejemplo es una guía general y puede requerir modificaciones adicionales para satisfacer tus requisitos exactos.
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