CAMBIAR DE DAO A ADO
Publicado por AMADO (6 intervenciones) el 21/06/2019 02:27:25
ENCONTRE EN LA WEB ESTE CODIGO PERO NO ME FUNCIONA POR QUE UTILIZO ADO Y NO DAO ALGUIN ME PODRIA AYUDAR PARA CAMBIAR LAS SENTENCIAS QUE NO RECONOCE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Private Sub Comando5_Click()
Dim dbs As DAO.Database
Dim Qdf As DAO.QueryDef
Dim StrSQL As String
Dim StrQry As String
Dim RutaExport As String, NombExcel As String, NombFichero As String
StrSQL = Me.Lista0.RowSource 'Nombre de la Consulta capturada como RowSorce del Cuadro de Lista. En éste caso el ListBox se llama Lista0
StrQry = "QryTemporal" 'Nombre de la Consulta que se crea con el CreateQry de abajo
RutaExport = CurrentProject.Path & "\Export\" 'Export será una carpeta que cuelga de la que está la BBD (Se puede cambiar)
NombExcel = "ExcelTemp" & Format(Now(), "yymmddhhnn") 'ExcelTem es el comienzo del Nombre del FicheroExcel que obtendremos. y el Format...para detectar Fecha y hora
NombFichero = RutaExport & NombExcel & ".xlsx" 'NombFichero es la Ruta completa que se necesita. Aquí por ejemplo Obtenemos >> "C:\DirectorisBBDS\Export\ExcelTemp1904301524.xlsx"
'Sondeo si por alguna maniobra se ha quedado creada y sin Borrar la Consulta >> "QryTemporal" -----
ObjetoDestino = "QryTemporal"
Call ExisteObjeto(ObjetoDestino)
If Existe = True And EsConsulta = True Then 'En principio no debe existir porque se borra al Exportar, pero por si acaso
DoCmd.DeleteObject acQuery, StrQry
Else
Set dbs = CurrentDb
Set Qdf = dbs.CreateQueryDef(StrQry, StrSQL)
'Aegurar que la Consulta tiene Registros
If Nz(DCount("*", "QryTemporal"), 0) > 0 Then 'Si la Consulta tiene Registros seguimos el Proceso
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, StrQry, NombFichero, True
MsgBox "El Fichero de Excel generado es: " & NombFichero, vbInformation, "EXCEL GENERADO"
Else
MsgBox "La lista de valores no puede estar vacía. Asegura que tiene valores", vbCritical, "FALTAN DATOS"
End If
DoCmd.DeleteObject acQuery, StrQry 'Elimino la Consulta Temporal
Set dbs = Nothing
Set Qdf = Nothing
End If
End Sub
Valora esta pregunta
0