Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 6 su 6

Esportare dati in excel da access

  1. #1
    gaetano66 non è in linea Scolaretto
    Buongiorno a tutti, ho un problema, non so come fare ad inserire un ordine selezionato, in un foglio excel.
    Mi spiego meglio, ho creato un applicativo che mi crea un ordine da una selezione di articoli.
    Ora da una maschera, selezionando l’ordine che mi interessa, vorrei con un tasto comando richiamare un foglio excel “Esempio.xls”, precedentemente impostato con costanti che mi servono nella parte superiore del foglio, chiamiamola intestazione, dove ci sono dati generici del cliente, e l’intestazione delle colonne che mi identificano:

    Q.TA ISBN AUTORE TITOLO DEL LIBRO PREZZO

    Ora a partire, diciamo, dalla riga 8, in corrispondenza di ogni colonna, dovrei inserire i campi appartenenti ad ogni record.

    Il codice qui sotto, mi fa aprire il foglio excel e mi inserisce determinati campi in caselle ben precise.
    Per i record selezionati dell'ordine come posso fare?

    Vi chiedo aiuto.
    Grazie in anticipo
    Gaetano

    Dim xlApp As Excel.Application '<---- riferimento all'applicazione Excel
    Dim xlBook As Excel.Workbook '<---- riferimento al Workbook
    Dim xlSheet As Excel.Worksheet '<---- riferimento al Worksheet
    Dim Intervallo As Integer
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Open("C:\Esempio.xls")
    Set xlSheet = xlBook.Worksheets(1)
    xlApp.Visible = True
    xlSheet.Activate

    xlSheet.range("E1").Value = "ORDINE ELETTRONICO"
    xlSheet.range("B2").Value = "Cod.Ordine:"
    xlSheet.range("B3").Value = "Libreria:"
    xlSheet.range("B4").Value = "Data:"
    xlSheet.range("F4").Value = "Partita Iva:"
    xlSheet.range("D3").Value = Forms!Ordine!smkOrdine!Ordi_Ragione_Sociale
    xlSheet.range("C2").Value = Forms!Ordine!smkOrdine!Ordi_Numero
    xlSheet.range("D4").Value = Now()
    xlSheet.range("G4").Value = Forms!Ordine!smkOrdine!Ordi_Partita_Iva

    xlSheet.range("A1:G200").Select

    Intervallo = xlApp.selection.Address
    Intervallo = Replace$(Intervallo, "$", "")


    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing

  2. #2
    L'avatar di dragone bianco
    dragone bianco non è in linea Certosino
    utilizza un ciclo del tipo con il codice Range

    Es
    For i=8 to 20
          xlSheet.range("B" & i).Value = "Cod.Ordine:"
    NEXT I
    
    questo esempio scrive un valore dalla riga 8 alla 20

    il ciclo lo fai anche con un loop

    Es:
    Dim Contatore as longo
    Dim DBCorrente ad database
    Dim Tabella Dao.recordset
    
    Set DBCorrente=CurrentDB
    Set Tabella.DBCOrrente.openrecordset("Tabella1")
    
    Contatore=8
    Do Until Tabella.eof
        
        xlSheet.range("B" & Contatore).Value = tabella.fields("Campo1")
    
        contatore=contatore+1
        tabella.movenext
    loop
    
    in questo esempio scrive dalla riga 8 colonna A tutti i valori contenuti nella tabella 1 campo1

    ciao
    ℹ️ Leggi di più su dragone bianco ...

  3. #3
    gaetano66 non è in linea Scolaretto
    Il ciclo semplice l'ho applicato e funziona.

    Stavo inserendo ora il loop che fa riferimento al database.

    ma su questa istruzione:

    Dim DBCorrente as database

    in esecuzione mi da errore:

    ERRORE DI COMPILAZIONE
    IMPOSSIBILE TROVARE IL PROGETTO O LA LIBRERIA.

    mettendo in reverse "DBCorrente as database"

    mi manca qualche riferimento? ma quale?

  4. #4
    gaetano66 non è in linea Scolaretto
    Tutto perfetto dovevo indicare DAO.DATABASE
    e DAO.RECORDSET

    Mi hai risolto un problema veramente grande grazie ancora

    A presto.

  5. #5
    L'avatar di Albus!
    Albus! non è in linea Scolaretto
    ciao
    utilizzando il codice riportato ho creato una procedura che esporta alcuni dati in un foglio excel
    tutto funziona bene, scrittura e salvataggio, però quando vado ad aprire il file excel che ho generato mi compare un messaggio di errore
    il documento 01 Dati.xls è gia aperto.
    come se il file fosse rimasto "appeso" dalla procedura di access
    sapete dirmi dove sto sbagliando?

    grazie

    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Open("C:\cartella\Modello.xlt")
    Set xlSheet = xlBook.Worksheets("foglio1")
    
    
    xlApp.Visible = False
    xlSheet.Activate
    
        
        xlSheet.Range("D5").Value = rs.Fields("numero")
        xlSheet.Range("F5").Value = rs.Fields("titolo")
        xlSheet.Range("I5").Value = "Edizione del " & rs.Fields("data")
            
            
        percorso = "C:\cartella\
        NomeFile = "01" & " Dati"
        
        xlBook.SaveAs percorso & "\" & nomeFile  & ".xls"
        
        xlBook.Close
        xlApp.Quit
        
        Set xlSheet = Nothing
        Set xlBook = Nothing
        Set xlApp = Nothing
    
    N.B. Access97 Excel 97

  6. #6
    L'avatar di Albus!
    Albus! non è in linea Scolaretto
    qualcuno sa darmi una risposta?

    grazie

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Esportare dati da Access ad Excel
    Da faoineag nel forum Microsoft Access
    Risposte: 15
    Ultimo Post: 13-11-2020, 16:32
  2. Esportare dati da Access ad Excel
    Da federicodi84 nel forum Microsoft Access
    Risposte: 13
    Ultimo Post: 13-08-2014, 13:05
  3. Articolo: [Access] Esportare dati in Excel e/o XML
    Da @Alex nel forum Microsoft Access
    Risposte: 0
    Ultimo Post: 25-12-2010, 21:37
  4. esportare dati da access ad excel
    Da chris77 nel forum Microsoft Excel
    Risposte: 6
    Ultimo Post: 24-09-2009, 17:04
  5. Esportare dati da Access a Excel
    Da Fabio63 nel forum Microsoft Access
    Risposte: 14
    Ultimo Post: 24-11-2007, 21:47