Datos externos Access
Recientemente elabore un macro que consulta en una base de datos access una información y la vacía en una tabla dinámica. Elaborando la tabla dinámica yo puedo elegir el periodo de tiempo del cual quiero obtener los datos. Eso funciona muy bien, pero ahora quiero modificar el macro de manera tal que colocando la fecha de inicio y final en dos celdas de excel, el código del macro tome estos dos datos.
Te envío parte del código, podrás ver las fechas que refieren al periodo que yo asigne en la macro. Estos valores yo quisiera sustituirlos desde dos celdas de excel o un cuadro de dialogo. Yo intente haciendo lo siguiente:
Dim name As String
Dim nome As String
Range("C1").Select
name = ActiveCell.Value
Range("C2").Select
nome = ActiveCell.Value
Y colocando el registro name y nome en el lugar de la fecha, pero no resulto!
Parte del Codigo de la macro, podras ver las fechas en un lado de (ts):
With ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal)
.Connection = Array(Array( _
"ODBC;DBQ=\\VPCU_REPORTES\RSVIEW\CRU_REPORTE_02.mdb;DefaultDir=\\VPCU_REPORTES\RSVIEW\;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;MaxBufferSize=2048;" _
), Array( _
"MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;") _
)
.CommandType = xlCmdSql
.CommandText = Array( _
"SELECT FloatTable.DateAndTime, FloatTable.TagIndex, FloatTable.Val, TagTable.TagName, TagTable.TagIndex" & Chr(13) & "" & Chr(10) & "FROM `Z:\CRU_REPORTE_02`.FloatTable FloatTable, `Z:\CRU_REPORTE_02`.TagTable TagTable" & Chr(13) & "" & Chr(10) & "WHERE Fl" _
, _
"oatTable.TagIndex = TagTable.TagIndex AND ((FloatTable.DateAndTime>={ts '2003-06-01 00:01:01'} And FloatTable.DateAndTime<={ts '2003-06-01 23:59:47'}))" & Chr(13) & "" & Chr(10) & "ORDER BY FloatTable.DateAndTime" _
)
.CreatePivotTable TableDestination:= _
"'[REPORTE PRODUCCION CRD.xls]Hoja1'!R10C1", TableName:="TABLA PRODUCCION", _
DefaultVersion:=xlPivotTableVersion10
Gracias
Te envío parte del código, podrás ver las fechas que refieren al periodo que yo asigne en la macro. Estos valores yo quisiera sustituirlos desde dos celdas de excel o un cuadro de dialogo. Yo intente haciendo lo siguiente:
Dim name As String
Dim nome As String
Range("C1").Select
name = ActiveCell.Value
Range("C2").Select
nome = ActiveCell.Value
Y colocando el registro name y nome en el lugar de la fecha, pero no resulto!
Parte del Codigo de la macro, podras ver las fechas en un lado de (ts):
With ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal)
.Connection = Array(Array( _
"ODBC;DBQ=\\VPCU_REPORTES\RSVIEW\CRU_REPORTE_02.mdb;DefaultDir=\\VPCU_REPORTES\RSVIEW\;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;MaxBufferSize=2048;" _
), Array( _
"MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;") _
)
.CommandType = xlCmdSql
.CommandText = Array( _
"SELECT FloatTable.DateAndTime, FloatTable.TagIndex, FloatTable.Val, TagTable.TagName, TagTable.TagIndex" & Chr(13) & "" & Chr(10) & "FROM `Z:\CRU_REPORTE_02`.FloatTable FloatTable, `Z:\CRU_REPORTE_02`.TagTable TagTable" & Chr(13) & "" & Chr(10) & "WHERE Fl" _
, _
"oatTable.TagIndex = TagTable.TagIndex AND ((FloatTable.DateAndTime>={ts '2003-06-01 00:01:01'} And FloatTable.DateAndTime<={ts '2003-06-01 23:59:47'}))" & Chr(13) & "" & Chr(10) & "ORDER BY FloatTable.DateAndTime" _
)
.CreatePivotTable TableDestination:= _
"'[REPORTE PRODUCCION CRD.xls]Hoja1'!R10C1", TableName:="TABLA PRODUCCION", _
DefaultVersion:=xlPivotTableVersion10
Gracias
Respuesta de valedor
1
1 respuesta más de otro experto
Respuesta de fejoal