Scrivere su Database
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

L'esempio che segue mostra come sia possibile molto semplicemente, oltre che leggere i dati, scriverli su di un database.

La macro sotto cancella tutti i dati dalla tabella "listino" sul database e riscrive interamente i valori presenti sul file Excel (nell'esempio trovate anche la parte che legge i dati):
Sub ScriviSuDatabase()
  ' per collegare la libreria ADO:
  ' Strumenti --> Riferimenti --> Microsoft ActiveX Data Objects Recordset 2.8 library
  Dim Cn As ADODB.Connection
  Dim T1 As ADODB.Recordset
  
  '--- Percorso del DB in Access nella stesa cartella in cui รจ contenuto il file in Excel ---
  FileDB = Application.ThisWorkbook.Path & "\DbDemo.accdb"
  
  '--- Link ADO al DB Access---
  Set Cn = New ADODB.Connection
  Provider = "Microsoft.ACE.OLEDB.12.0"
  DataLink = "Provider=" + Provider + ";Data Source=" + FileDB + ";Persist Security Info=False"
  Cn.Open DataLink
  
  '--- Cancella i dati precedenti ---
  StQ = "Delete from Listino"
  Cn.Execute StQ
  
  '--- Crea la query ---
  Set T1 = New ADODB.Recordset
  StQ = "SELECT * From Listino"
  T1.Open StQ, Cn, adOpenKeyset, adLockOptimistic, adCmdText
  
  '--- Scrive i dati sulla tabella ---
  r = 5
  While Cells(r, 2) <> ""
    T1.AddNew
    T1.Fields("CodiceArticolo") = Cells(r, 2)
    T1.Fields("Prezzo") = Cells(r, 4)
    T1.Update
    
    r = r + 1
  Wend
  
  T1.Close
  Cn.Close
End Sub
 

data4idea srls - PIva 01881000937 - info@data4idea.it