Access - exportar a excel dos consultas

   
Vista:

exportar a excel dos consultas

Publicado por jhean carlos (9 intervenciones) el 04/08/2011 22:52:41
como estan

tengo un problema

Tengo en un formulario con un subformulario de consulta entro en ella y me muestra la consulta que quiero ver.

Pero dentro de ella hay otra consulta que se muestra segun la relacion por codigo de otra tabla.

desplieguo el signo + del lado IZ de mi consulta principal de mi Subformulario y me fuestra su relacion.

ahora

quiero exportar a excel utilizo una macro para exportar a excel mi consulta principal

pero

la otra que se despliegua del lado IZ con el signo +

NO puedo exportarla a excel

sera que alguna forma para exportar esas dos cunsultas a la vez

o talvez exportar una a la Hoja1 de excel y la otra a la Hoja2 excel

o abra otras formas para que no se pierda esas relaciones de consulta.

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

exportar a excel dos consultas

Publicado por JOSE (741 intervenciones) el 07/08/2011 11:04:53
CREA UNA CONSULTA COMO NECESITES

en un boton al hacer clic en una etiqueta que en en este caso se llama Etiqueta70

abres la consulta
lees las cabeceras para oponerlas como mobre de columna
luego vas pasando las lineas para ir generando la tabla con los datos de la consulta que desees

un saludo





Private Sub Etiqueta70_Click()

Set RS = CreateObject("ADODB.RecordSet")
Set con = Application.CurrentProject.Connection
C11 = "": c21 = "": c31 = "": c41 = "": c51 = ""
C11 = "SELECT personal1.Nombre, personal1.Municipio, personal1.Teléfono_1, personal1.Teléfono_2, personal1.Fecha_antiguedad FROM personal1 "
c21 = " WHERE ( ( (personal1.Código_categoría)= " & Str$(130) & " ) AND ((personal1.Fecha_Baja) Is Null) AND ((personal1.Emp)= " & Str$(5) & " ) AND ((personal1.Cent)= " & Str$(3) & " )) "
c31 = " ORDER BY personal1.Nombre "


'c11 = "SELECT * FROM [personal1]"
consulta = C11 & c21 & c31 & c41 & c51
'MsgBox consulta
'rs.Open consulta, con, 1
RS.Open consulta, con, adOpenDynamic, adLockOptimistic

RS.MoveLast: Rem MsgBox Rs.RecordCount
RS.MoveFirst: Rem MsgBox Rs.RecordCount
'RS.MoveNext





Dim objExcel As Object
Dim libro As Object

Const xlHairline = 1
Const xlMedium = -4138
Const xlThick = 4
Const xlThin = 2
Const xlWBATWorksheet = -4167

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set libro = objExcel.Workbooks.Add

' creo un libro con una sola hoja
'libro.Workbooks.Add xlWBATWorksheet
strHoja = libro.ActiveSheet.Name
'libro.ActiveSheet.Name = "jose"



Rem ----cabecera
libro.ActiveSheet.Cells(1, 1) = "LISTADO DE TELEFONOS EMPRESA S.L.U "
libro.ActiveSheet.Cells(2, 1) = "AUXILIARES FECHA " & Now()




libro.ActiveSheet.Cells(4, 1) = RS.Fields(0).Name
libro.ActiveSheet.Cells(4, 2) = RS.Fields(1).Name
libro.ActiveSheet.Cells(4, 3) = RS.Fields(2).Name
libro.ActiveSheet.Cells(4, 4) = RS.Fields(3).Name
libro.ActiveSheet.Cells(4, 5) = RS.Fields(4).Name
'libro.ActiveSheet.Cells(1, 6) = RS.Fields(5).Name
'libro.ActiveSheet.Cells(1, 7) = RS.Fields(6).Name
'libro.ActiveSheet.Cells(1, 8) = RS.Fields(7).Name
'libro.ActiveSheet.Cells(1, 9) = RS.Fields(8).Name
'libro.ActiveSheet.Cells(1, 10) = RS.Fields(9).Name

'libro.ActiveSheet.Cells(1, 11) = RS.Fields(10).Name
'libro.ActiveSheet.Cells(1, 12) = RS.Fields(11).Name
'libro.ActiveSheet.Cells(1, 13) = RS.Fields(12).Name
'libro.ActiveSheet.Cells(1, 14) = RS.Fields(13).Name
'libro.ActiveSheet.Cells(1, 15) = RS.Fields(14).Name
'libro.ActiveSheet.Cells(1, 16) = RS.Fields(15).Name
'libro.ActiveSheet.Cells(1, 17) = RS.Fields(16).Name
'libro.ActiveSheet.Cells(1, 18) = RS.Fields(17).Name
'libro.ActiveSheet.Cells(1, 19) = RS.Fields(18).Name
'libro.ActiveSheet.Cells(1, 20) = RS.Fields(19).Name

'libro.ActiveSheet.Cells(1, 21) = RS.Fields(20).Name
'libro.ActiveSheet.Cells(1, 22) = RS.Fields(21).Name
'libro.ActiveSheet.Cells(1, 23) = RS.Fields(22).Name
'libro.ActiveSheet.Cells(1, 24) = RS.Fields(23).Name
'libro.ActiveSheet.Cells(1, 25) = RS.Fields(24).Name
'libro.ActiveSheet.Cells(1, 26) = RS.Fields(25).Name

'libro.ActiveSheet.Cells(1, 27) = RS.Fields(26).Name

'libro.ActiveSheet.Cells(1, 28) = Rs.Fields(27).Name
'libro.ActiveSheet.Cells(1, 29) = Rs.Fields(28).Name
'libro.ActiveSheet.Cells(1, 30) = Rs.Fields(29).Name






N = 5

Do While RS.EOF = False
'MsgBox Rs.Fields(4).Value
' escribo los datos en la hoja
libro.ActiveSheet.Cells(N, 1) = RS.Fields(0).Value
libro.ActiveSheet.Cells(N, 2) = RS.Fields(1).Value
libro.ActiveSheet.Cells(N, 3) = RS.Fields(2).Value
libro.ActiveSheet.Cells(N, 4) = RS.Fields(3).Value
libro.ActiveSheet.Cells(N, 5) = RS.Fields(4).Value
' libro.ActiveSheet.Cells(n, 6) = RS.Fields(5).Value
' libro.ActiveSheet.Cells(n, 7) = RS.Fields(6).Value
' libro.ActiveSheet.Cells(n, 8) = RS.Fields(7).Value
' libro.ActiveSheet.Cells(n, 9) = RS.Fields(8).Value
' libro.ActiveSheet.Cells(n, 10) = RS.Fields(9).Value

' libro.ActiveSheet.Cells(n, 11) = RS.Fields(10).Value
' libro.ActiveSheet.Cells(n, 12) = RS.Fields(11).Value
' libro.ActiveSheet.Cells(n, 13) = RS.Fields(12).Value
' libro.ActiveSheet.Cells(n, 14) = RS.Fields(13).Value
' libro.ActiveSheet.Cells(n, 15) = RS.Fields(14).Value
' libro.ActiveSheet.Cells(n, 16) = RS.Fields(15).Value
' libro.ActiveSheet.Cells(n, 17) = RS.Fields(16).Value
' libro.ActiveSheet.Cells(n, 18) = RS.Fields(17).Value
' libro.ActiveSheet.Cells(n, 19) = RS.Fields(18).Value
' libro.ActiveSheet.Cells(n, 20) = RS.Fields(19).Value

' libro.ActiveSheet.Cells(n, 21) = RS.Fields(20).Value
' libro.ActiveSheet.Cells(n, 22) = RS.Fields(21).Value
' libro.ActiveSheet.Cells(n, 23) = RS.Fields(22).Value
' libro.ActiveSheet.Cells(n, 24) = RS.Fields(23).Value
' libro.ActiveSheet.Cells(n, 25) = RS.Fields(24).Value
' libro.ActiveSheet.Cells(n, 26) = RS.Fields(25).Value
' libro.ActiveSheet.Cells(n, 27) = RS.Fields(26).Value

' libro.ActiveSheet.Cells(n, 28) = Rs.Fields(27).Value
'libro.ActiveSheet.Cells(n, 29) = Rs.Fields(28).Value
'libro.ActiveSheet.Cells(n, 30) = Rs.Fields(29).Value



'libro.ActiveSheet.Cells(n, 1).CopyFromRecordset Rs
'xls.ActiveSheet.Cells(2, 1).CopyFromRecordset rstPedidos





RS.MoveNext
N = N + 1

Loop


' ajusto el tamaño de las columnas
'libro.Columns("A:j").EntireColumn.AutoFit
libro.Columns("j:k").EntireColumn.AutoFit








libro.Close True, "c:\milibroexcel"




End Sub
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