Acquista i nostri libri consigliati su Amazon.it
Discussione chiusa
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Esportare su excel dati maschera filtrati

  1. #1
    maxs84 non  in linea Scribacchino
    Ciao a tutti,
    avrei l'esigenza di esportare i dati filtrati di una maschera su un file excel.
    All'inizio avevo usato la funzione
    DoCmd.TransferSpreadsheet acExport, , Me.RecordSource, "C:\Lnome_file.xls"
    
    Ma se la maschera non basata su una query salvata ottengo errore 7871 "il nome di tabella immesso non rispetta le regola per la denominazione degli oggetti"

    Allora, facendo delle ricerce sul web ho trovato una funzione che svolge bene il suo lavoro ma purtroppo esporta tutti i dati senza tenere conto dei filtri attivi sulla maschera.
    La funzione questa:
    Function ExportToExcel(ByVal strSQL, ByVal strRange)
    On Error GoTo error_Handler
     
    Dim rs As DAO.Recordset
    Dim xlApp As Object
    Dim xlWB As Object
    Dim xlWS As Object
     
    Set xlApp = CreateObject("Excel.Application")
    Set xlWB = xlApp.Workbooks.add
    Set xlWS = xlWB.Worksheets(1)
     
    Set rs = CurrentDb.OpenRecordset(strSQL)
     
    xlWS.Range(strRange).CopyFromRecordset rs
     
    xlApp.Visible = True
     
    Set rs = Nothing
    Set xlWS = Nothing
    Set xlWB = Nothing
    Set xlApp = Nothing
     
    ExportToExcel = True
    Exit Function
     
    error_Handler:
        Debug.Print Err.Description
        ExportToExcel = False
    End Function
    
    Che richiamo con:
    ExportToExcel Dynaset, "A1"
    
    Potete aiutarmi a fare in modo che i dati esportati siano limitati al numero di record filtrati sulla maschera?
    Grazie.

  2. #2
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Prova a vedere se questo primo esempio pu aiutarti:
    http://forum.masterdrive.it/access-7...cel-xml-50060/
    Questa una variante complocata
    http://forum.masterdrive.it/access-7...n-excel-54294/
    ℹ️ Leggi di pi su @Alex ...

  3. #3
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Ovviamente aggiungo che se a quella funzione invece di passare la Stringa SQL passi direttamente il Recordset di FORM, ti semplifichi la vita e tiene contro dei Filtri...
    Function ExportToExcel(rs As DAO.Recordset, ByVal strRange)
    On Error GoTo error_Handler
    Dim xlApp As Object
    Dim xlWB As Object
    Dim xlWS As Object
     
    Set xlApp = CreateObject("Excel.Application")
    Set xlWB = xlApp.Workbooks.add
    Set xlWS = xlWB.Worksheets(1)
     
    xlWS.Range(strRange).CopyFromRecordset rs
     
    xlApp.Visible = True
     
    Set rs = Nothing
    Set xlWS = Nothing
    Set xlWB = Nothing
    Set xlApp = Nothing
     
    ExportToExcel = True
    Exit Function
     
    error_Handler:
        Debug.Print Err.Description
        ExportToExcel = False
    End Function
    
    Da richiamare cos
       Call ExportToExcel(Me.RecordsetClone, "A1")
    
    ℹ️ Leggi di pi su @Alex ...

  4. #4
    maxs84 non  in linea Scribacchino
    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Prova a vedere se questo primo esempio pu aiutarti:
    http://forum.masterdrive.it/access-7...cel-xml-50060/
    Questa una variante complocata
    http://forum.masterdrive.it/access-7...n-excel-54294/
    Si avevo gi visto e letto questa discussione...
    la trovo molto complicata o meglio pi di quello che serve a me...

    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Ovviamente aggiungo che se a quella funzione invece di passare la Stringa SQL passi direttamente il Recordset di FORM, ti semplifichi la vita e tiene contro dei Filtri...
    Quella che ho postato fa il suo dovere se solo riuscissi a passare i record filtrati e non tutti i dati del recordset

  5. #5
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Quote Originariamente inviato da maxs84 Visualizza il messaggio
    Si avevo gi visto e letto questa discussione...
    la trovo molto complicata o meglio pi di quello che serve a me...


    Quella che ho postato fa il suo dovere se solo riuscissi a passare i record filtrati e non tutti i dati del recordset
    Guarda che un Recordset di maschera a cui hai applicato il Filtro(Me.Filter restituisce il Filtro), gi Filtrato come serve a te... quindi il suggerimento che ti ho dato assolve pienamente a questo...!
    Cosa non hai capito...?
    Perch continui a voler usare la Stringa SQL...?

    Nel caso tu abbia un RS esterno, sempre semplice perch ti basta filtrare il Recordset usando il metodo Filter sempre e passare direttamente quello al metodo CopyFromRcordset... ti stai perdendo in un bicchiere di H2O...

    https://msdn.microsoft.com/en-us/lib.../ff837300.aspx
    ℹ️ Leggi di pi su @Alex ...

  6. #6
    maxs84 non  in linea Scribacchino
    Non ho capito cosa passo con il comando ExportToExcel Dynaset, "A1" e come invece dovrei passare il recordset
    ...a dirla tutta adesso non riesco pi a far funzionare il codice postato... mi da "tipo non corrispondente"

    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Guarda che un Recordset di maschera a cui hai applicato il Filtro(Me.Filter restituisce il Filtro), gi Filtrato come serve a te... quindi il suggerimento che ti ho dato assolve pienamente a questo...!
    Cosa non hai capito...?
    Perch continui a voler usare la Stringa SQL...?

    Nel caso tu abbia un RS esterno, sempre semplice perch ti basta filtrare il Recordset usando il metodo Filter sempre e passare direttamente quello al metodo CopyFromRcordset... ti stai perdendo in un bicchiere di H2O...

    https://msdn.microsoft.com/en-us/lib.../ff837300.aspx

  7. #7
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Quote Originariamente inviato da maxs84 Visualizza il messaggio
    Non ho capito cosa passo con il comando ExportToExcel Dynaset, "A1" e come invece dovrei passare il recordset
    ...a dirla tutta adesso non riesco pi a far funzionare il codice postato... mi da "tipo non corrispondente"
    Cosa sarebbe per te [Dynaset]...?
    Secondo me non hai capito il codice... quindi quello che ti ho detto immagino sia arabo...?
    ℹ️ Leggi di pi su @Alex ...

  8. #8
    maxs84 non  in linea Scribacchino
    Si sicuramente mi mancano dei pezzi, come premesso ho preso una funzione bella e fatta...

    Adesso stavo provando a seguire la strada suggerita da te, ma non riesco:
    Call ExportToExcel(Me.RecordsetClone)
    
    Function ExportToExcel(DAO)
    On Error GoTo error_Handler
     
    Dim rs As DAO.Recordset
    Dim xlApp As Object
    Dim xlWB As Object
    Dim xlWS As Object
     
    Set xlApp = CreateObject("Excel.Application")
    Set xlWB = xlApp.Workbooks.add
    Set xlWS = xlWB.Worksheets(1)
     
    Set rs = CurrentDb.OpenRecordset(DAO)
     
    xlWS.Range("A1").CopyFromRecordset rs
     
    xlApp.Visible = True
     
    Set rs = Nothing
    Set xlWS = Nothing
    Set xlWB = Nothing
    Set xlApp = Nothing
     
    ExportToExcel = True
    Exit Function
     
    error_Handler:
        Debug.Print Err.Description
        ExportToExcel = False
    End Function
    

  9. #9
    maxs84 non  in linea Scribacchino
    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Cosa sarebbe per te [Dynaset]...?
    Secondo me non hai capito il codice... quindi quello che ti ho detto immagino sia arabo...?
    Dynaset:- A Dynaset is temporary set of data from one or more tables. A Dynaset may be a query. Like a table, a Dynaset is updatable if file is not locked or open for read only.

  10. #10
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Maxs84, fermati perch stai scrivendo cose che nemmeno si possono sentire...

    Le funzioni richiedono Parametri, oppure Oggetti... tu cosa fai passi un Testo che poi vuoi farci credere essere una propriet di un Recordset...?
    DAO poi una Libreria non un Type...

    Insomma... io penso che va bene copiare... ma se non cerchi di comprendere, con un minimo di basi, qualsiasi suggerimento ti venga dato che non sia la Pappa pronta rischia di crearti solo confusione mi pare...!

    Peraltro il codice come te lo avevo modificato io, era PAPPAPRONTA, e funzionante... e nemmeno quello sufficiente.
    Ultima modifica di @Alex; 10-11-2017 11:05 
    ℹ️ Leggi di pi su @Alex ...

Discussione chiusa
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. [Access] Esportare in XLS record filtrati di una maschera
    Da peoweb nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 10-07-2015, 18:44
  2. Anteprima Report da Maschera con dati filtrati
    Da Pilotino nel forum Microsoft Word
    Risposte: 15
    Ultimo Post: 26-09-2012, 19:19
  3. [Access] Pulsante che apre una maschera con dati filtrati
    Da Callicrate nel forum Microsoft Access
    Risposte: 5
    Ultimo Post: 05-01-2010, 18:39
  4. esportare risultati maschera in excel
    Da niclo nel forum Microsoft Excel
    Risposte: 8
    Ultimo Post: 12-11-2007, 11:45
  5. Esportare i dati di una maschera
    Da ross nel forum Microsoft Word
    Risposte: 2
    Ultimo Post: 10-09-2007, 11:19