Scaricare dati da Fogli Google nel mio database di access

di il
1 risposte

Scaricare dati da Fogli Google nel mio database di access

Ciao, per farla breve, io ho questo database che nella mia società sportiva usiamo per le iscrizioni dei nostri soci, volevamo introdurre la possibilità di effettuare le iscrizioni online, l'anno scorso abbiamo utilizzato Jotform come piattaforma ed era andato tutto sommato bene, l'unico problema è che dovevamo inserire tutti i dati delle iscrizioni online, a mano dentro il nostro db.

Ora, volevamo comunque tenere Jotform per le iscrizioni dato che ci abbiamo sudato parecchio, volevo però capire se è possibile scaricare in automatico i dati di queste iscrizioni ed inserirli all'interno del mio db.

Allora, le cose sono due:

  1. Scarico i dati delle iscrizioni direttamente da Jotform
  2. Scarico i dati delle iscrizioni da un foglio google

In entrambi i casi non so come procedere, ho creato questo breve codice vba, ma ritengo esserci qualcosa di sbagliato, già solo dal fatto che devo selezionare ogni singola cella per inserirla, credo che non vada bene:


Dim urlFoglio As String
urlFoglio = “https://docs.google.com/spreadsheets/d/1z1qkZHqZxPNSPkdIDwq4FX6e63CetQYiXDLpcEEKg0o/edit?usp=sharing”

Dim tabellaDestinazione As String
tabellaDestinazione = "Ricevute"

Dim objSheet As Object
Set objSheet = CreateObject("Excel.Application")

objSheet.Workbooks.Open urlFoglio

Dim data As Variant
data = objSheet.Sheets(1).Range("A1:G1").Value ' Assicurati che l'intervallo sia corretto

objSheet.Quit

Dim conn As Object
Set conn = CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Steeb1\GestioneCircoli\GestioneCircoli_be.accdb;"

Dim strSql As String
strSql = "INSERT INTO " & tabellaDestinazione & " (SubmissionDate, DataOdierna, Esercizio, QuotaAssociativa, QuotaTotaleCorsi, QuotaVisitaMedica, Totale) VALUES (" & _
        "#" & data(1, 1) & "#, #" & data(1, 2) & "#, " & data(1, 3) & ", " & data(1, 4) & ", " & data(1, 5) & ", " & data(1, 6) & ", " & data(1, 7) & ");"
i
conn.Execute strSql

conn.Close

Set objSheet = Nothing
Set conn = Nothing

1 Risposte

  • Re: Scaricare dati da Fogli Google nel mio database di access

    Ciao,

    se provi ad impostare un range più ampio? 
    per esempio:

    data = objSheet.Sheets(1).Range("A1:G20").Value 

    a questo punto stai leggendo 20 righe del foglio excel.

    quindi:

    • determina quante righe ci sono da leggere e in G poni l'ultimo numero di riga utile
    • itera le varie righe per esegui Insert Into… ti basta eseguire un ciclo For Next e per ogni riga fai l'inserimento del record nella tabella

    Per esempio una implementazione al tuo codice potrebbe essere di questo tipo:

    Dim lastRow As Long
    lastRow = objSheet.Sheets(1).UsedRange.Rows.Count
    
    Dim data() As Variant
    data = objSheet.Sheets(1).Range("A1:G" & lastRow).Value
    
    For i = 1 To lastRow
        strSql = "INSERT INTO ....
        ...
        ..
        .
Devi accedere o registrarti per scrivere nel forum
1 risposte