Access - crear consulta a través de un formulario

   
Vista:

crear consulta a través de un formulario

Publicado por roy (18 intervenciones) el 25/09/2013 03:29:24
Hola, mi problema es que tengo que hacer un formulario que pase los datos filtrados de una tabla y esos datos filtrados a excel, pero leí que solo se puede hacer mediante una consulta, para eso necesito que los datos filtrados se vayan a una consulta y de ahí a excel.

Espero puedan ayudarme, gracias de antemano
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

crear consulta a través de un formulario

Publicado por jose (741 intervenciones) el 25/09/2013 22:29:02
saludos Roy


en el evento de al hacer clic de un boton de comando o una etiqueta debes poner el codigo que te indico

modifica esta linea para crear la consulta que quieras
strSQL = "SELECT * FROM [cuentas-2D] WHERE ANIO = '" & "2007" & "' "

con ello imprimirás la cabecera y el texto de la consulta o tabla

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
rem PASAR  A EXCEL  UNA TABLA O CONSULTA DE ACCESS
 
 
Dim rst As DAO.Recordset, _
strSQL As String
 
Rem  pasa datos  a excell
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 = "  "
 
' construyo la cadena de la SELECT
strSQL = "SELECT * FROM [cuentas-2D]  WHERE ANIO = '" & "2007" & "'  "
 
' abro el recordset
 
PASAR  A EXCEL  UNA TABLA O CONSULTA DE ACCESS
 
 
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
 
Rem  grabo  la cabecera -----------------------------
'copiar rótulos
lngCampos = rst.Fields.Count
For i = 0 To lngCampos - 1
libro.ActiveSheet.Cells(1, (i + 1)).Value = rst.Fields(i).Name
Next
Rem ---------
 
rst.MoveFirst
N = 2
' si el recordset no está vacio
 Do While rst.EOF = False
 
 
lngCampos = rst.Fields.Count
For i = 0 To lngCampos - 1
libro.ActiveSheet.Cells(N, i + 1).Value = rst.Fields(i).Value
Next
rst.MoveNext
N = N + 1
 
 
 
Loop
 
' ajusto el tamaño de las columnas
 
'libro.ActiveSheet.Range("A:Z").Select
libro.ActiveSheet.Columns(1, rst.Fields.Count).EntireColumn.AutoFit
 
      'Range("").EntireColumn.AutoFit
 
      'libro.Columns(1, rst.Fields.Count).EntireColumn.AutoFit
 
'     Range("").EntireColumn.AutoFit
 
rst.Close



Jose manuel desde EL ASTILLERO
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

crear consulta a través de un formulario

Publicado por roy (18 intervenciones) el 26/09/2013 02:33:49
muchas gracias, aunque ya me salió con el generador de macros mediante una consulta, ahora solo tengo que saber como filtrar con criterios la consulta. Pero agradezco tu tiempo y tu atención
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