De Access a Excel

Hola marbet63, ojala pueda plantear de manera clara y correcta mi pregunta y puedas ayudarme...
Tengo una tabla en access y exporto determinados campos a excel mediante código... Uno de estos campos o registros es de fecha, ¿quisiera qué me exportara solo los registros mediante un intervalo de fechas que ye le especifique... Me explico?
Esto lo puedo hacer en un informe de access, ya que en el origen de registro pongo en el criterio del campo "fecha" lo siguiente... >=[forms]![Intervalo de fechas del informe]! [Fecha Inicio] Y <=[Forms]![Intervalo de fechas del informe]![Fecha fina]
Ya que como podrás ver tengo un formulario llamado intervalo de fechas del informe y este lo pongo en el criertio del campo "fecha" en cuqluier informe y es fácil, pero quiero hacer esto mismo cuando exporto los datos a excel... Pego parte del código que tengo para que te des una idea más clara, ojala me haya podido explicar, saludos y gracias
Private Sub AccessExcell_Click()
    Dim H As Long
    Dim V As Long
    Dim FechaSol As Date
    Dim MiBase As Database
    Dim MiTabla As Recordset
    On Error GoTo ErrorExcel
    Dim objExcel As Excel.Application
    Set MiBase = CurrentDb
    Set MiTabla = MiBase.OpenRecordset("SELECT * FROM TblInvestigaciones ORDER BY FechaSol ASC", dbOpenDynaset)
    If MiTabla.RecordCount = 0 Then
        MsgBox "La base de datos esta vacia", vbCritical + vbOKOnly, "AVISO"
        Exit Sub
    End If
    Set objExcel = New Excel.Application
    objExcel.Visible = True
    objExcel.SheetsInNewWorkbook = 1
    objExcel.Workbooks.Add
    With objExcel.ActiveSheet
        .Range(.Cells(1, 1), .Cells(1, 5)).Borders.LineStyle = xlContinuous
        .Range(.Cells(1, 1), .Cells(1, 5)).HorizontalAlignment = xlHAlignCenterAcrossSelection
        .Cells(1, 1) = "FOLIO"
        .Cells(1, 2) = "NOMBRE"
        .Cells(1, 3) = "RADIOS"
        .Cells(1, 4) = "CIUDAD"
        .Cells(1, 5) = "FECHA SOLICITUD"
        .Range(.Cells(1, 1), .Cells(1, 5)).Font.Bold = True
        .Range(.Cells(1, 1), .Cells(1, 5)).Interior.Color = &H8080808F
        .Columns("A").ColumnWidth = 15
        .Columns("B").ColumnWidth = 30
        .Columns("C").ColumnWidth = 10
        .Columns("D").ColumnWidth = 10
        .Columns("E").ColumnWidth = 20
    End With
    V = 2
    H = 1
    Do While Not MiTabla.EOF
        DoEvents
        objExcel.ActiveSheet.Cells(V, H).Borders.LineStyle = xlContinuous
        objExcel.ActiveSheet.Cells(V, H + 1).Borders.LineStyle = xlContinuous
        objExcel.ActiveSheet.Cells(V, H + 2).Borders.LineStyle = xlContinuous
        objExcel.ActiveSheet.Cells(V, H + 3).Borders.LineStyle = xlContinuous
        objExcel.ActiveSheet.Cells(V, H + 4).Borders.LineStyle = xlContinuous
        objExcel.ActiveSheet.Cells(V, H) = MiTabla.Fields!Folio
        objExcel.ActiveSheet.Cells(V, H + 1) = MiTabla.Fields!Nombre
        objExcel.ActiveSheet.Cells(V, H + 2) = MiTabla.Fields!Radios
        objExcel.ActiveSheet.Cells(V, H + 3) = MiTabla.Fields!Estado
        objExcel.ActiveSheet.Cells(V, H + 4) = MiTabla.Fields!FechaSol & Format("")

1 Respuesta

Respuesta
1
la solucion esta en el select tienes que ponerle la condicion where
Set MiTabla = MiBase.OpenRecordset("SELECT * FROM TblInvestigaciones Where >=[forms]![Intervalo de fechas del informe]![Fecha Inicio] Y <=[Forms]![Intervalo de fechas del informe]![Fecha fina] ORDER BY FechaSol ASC", dbOpenDynaset)
No trabajo mucho con exel pero creo que es así
espero que te sirva

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas