1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| Private Sub Commande108_Click()
DoCmd.SetWarnings False
Dim oApp As Excel.Application
Dim oWkb As Excel.Workbook
Dim oWSht As Excel.Worksheet
Dim Sql, NomTable, Feuille As String
Feuille = Forms!FormUpdate!ChoixFeuille
NomTable = Forms!FormUpdate!ChoixQualite.Column(1)
Set oApp = CreateObject("Excel.application")
Set oWkb = oApp.Workbooks.Open(Chemin)
Set oWSht = oWkb.Worksheets(Feuille)
Sql = "Delete * from " & NomTable
DoCmd.RunSQL Sql
i = 1
'While oWSht.Range("I" & i).Value <> "" 'tant qu'on ne rencontre pas une case vide
'requète SQL (avec en paramètre la ligne i et le numéro de la colonne comme précisé au-dessus)
Sql = "insert into " & NomTable & "( [Identite], [Qualite] , [Precision] ) values (" & Chr(34) & oWSht.Cells(i, 1) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 2) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 3) & Chr(34) & ");"
'ici, on ne prend que les colonnes A (=1) et B (=2) et C (=3).
DoCmd.RunSQL Sql
'on incrémente la variable i pour passer à la ligne suivante
i = i + 1
'Wend
Sql = "INSERT INTO TableUpdateUsagers ( Identite, Qualite, Precision, DateMAJ ) SELECT Identite, Qualite, Precision, DateMAJ FROM " & NomTable
DoCmd.RunSQL Sql
RecordSource = "select * from TableUpdateUsagers order by identite"
End Sub |
Partager