Consulta en access con sql desde vb

Buenas tardes,
Antes de nada te pongo un poco en situación, cada día del mes se crea un txt, este se importa a excel, se trata y crea un archivo de excel con el nombre ML13-día
Desde un formulario de access al pulsar un botón de actualizar datos se vincula una tabla de access a cada archivo excel existente en la carpeta.
De esta forma tengo varias tablas en access vinculadas a archivos excel, de la forma que dispongo de 28-30-31 tablas (depende de los días del mes y del día a que le doy a actualizar datos).
Las tablas vinculadas se llaman, T_ML13-1, T_ML13-2, T_ML13-n 
Las tablas contienen 5 columnas: Número de ciclos, Ciclos OK. Tiempo medio (OK), Ciclos NG y Tiempo medio (NG) y una sola fila con diferentes resultados (uno para cada columna), al vincular las tablas me salen 5 filas en blanco por debajo de la que contiene datos.
Ahora deseo que en el mismo botón de actualizar
1.) Eliminar las filas en blanco
2.) Incluir una primera columna que se llamara "ML13"
3.) Unir todas las tablas en una nueva
La union de tablas quedaría de esta forma:
ML13, Número de ciclos, Ciclos OK. Tiempo medio (OK), Ciclos NG y Tiempo medio (NG)
1, 600, 500, 20, 100, 40 
2, ..., ..., ..., ...,
3, ...,
Yo había empezado de la siguiente manera (no esta incluido la primera parte de vincular las tablas)
-----------------------------------------------------------------------------------------------------------
Private Sub Consultatablas()
Dim dbs As Database
Dim qdf As QueryDef
    ' Abrimos la base de datos        
    Set dbs = OpenDatabase("C:\Documents and Settings\esfernajoa\Desktop\pruebaaccesp1.mdb")
    ' Recorremos el for creando una tabla nueva sin valores para cada tabla existente
    For dias = 1 To 31 Step 1
    dbs.Execute "SELECT * INTO TABLE [TF_ML13-" & dias & "] FROM [T_ML13-" & dias & "]; WHERE [Número de ciclos] = is not Null"
    dbs.Close
    Next dias
End Sub
Private Sub Consultatablas()
Dim dbs As DatabaseDim qdf As QueryDef
    ' Abrimos la base de datos        
    Set dbs = OpenDatabase("C:\Documents and Settings\esfernajoa\Desktop\pruebaaccesp1.mdb")
    ' Recorremos el for creando una tabla nueva sin valores para cada tabla existente
    For dias = 1 To 31 Step 1        dbs.Execute "SELECT * INTO TABLE [TF_ML13-" & dias & "] FROM [T_ML13-" & dias & "]; WHERE [Número de ciclos] = is not Null"       dbs.Close    Next dias
End Sub
---------------------------------------------------------------------------------------------------------------
LLevo varias semanas peleándome con esto pero solo me da errores o no cuando no lo hace no veo que se realize ninguna operación..
Haber si pudieras orientarme un poco porque ando bastante perdido.
Muchas gracias.

1 Respuesta

Respuesta
1
Si vas almacenar los datos en access no deberías hacer el link a archiovos excel pues tu aplicación va a ser lenta por este tema, crea un rutina que llene los datos a la tabla correspondiente de acuerdo al día.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas