Bonjour le forum,
J'utilise le code ci-dessous afin d'importer des données d'un fichier excel à une table MS Access. Mes connaissance sont limitées sur la méthode ADODB, est-il possbile de modifier ce code afin qu'il élimine les données existante de la table "NPDO_test" avant d'importer les nouvelles dans la même table ?
J'ai essayé d'introduire la ligne de code sql = "Delete * from NPDI_test" mais cela n'a pas l'aire de fonctionnner.
	
	
	
	
	
		
Merci pour votre aide.
Soleil11😕
	
		
			
		
		
	
				
			J'utilise le code ci-dessous afin d'importer des données d'un fichier excel à une table MS Access. Mes connaissance sont limitées sur la méthode ADODB, est-il possbile de modifier ce code afin qu'il élimine les données existante de la table "NPDO_test" avant d'importer les nouvelles dans la même table ?
J'ai essayé d'introduire la ligne de code sql = "Delete * from NPDI_test" mais cela n'a pas l'aire de fonctionnner.
		Code:
	
	
	Sub TransferNPDIdata()
' exports data from the active worksheet to a table in an Access database
Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long, sql As String  
  ' connect to the Access database
    Set cn = New ADODB.Connection
    'cn.Open "Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=N:\05 - NBS CSS\PFC\BTC (Eric)\Gtime structure.accdb;"
    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=N:\05 - NBS CSS\PFC\BTC (Eric)\Gtime structure.accdb;Persist Security Info=False"
   '=======>Ajouter sql = "Delete * from NPDI_test"
    ' open a recordset
    Set rs = New ADODB.Recordset
    rs.Open "NPDI_test", cn, adOpenKeyset, adLockOptimistic, adCmdTable
    ' all records in a table
    r = 2 ' the start row in the worksheet
    Do While Len(Range("A" & r).Formula) > 0
    ' repeat until first empty cell in column A
        With rs
            .AddNew ' create a new record
            ' add values to each field in the record
            .Fields("ID") = Range("A" & r).Value
            .Fields("Name") = Range("B" & r).Value
            .Fields("Project Manager") = Range("C" & r).Value
            .Fields("Responsible Stream") = Range("D" & r).Value
            .Fields("Accountable Entity") = Range("E" & r).Value
            .Fields("Product Category") = Range("F" & r).Value
            .Fields("Market or Region") = Range("G" & r).Value
            .Fields("Overall Project Status") = Range("H" & r).Value
            .Fields("status") = Range("I" & r).Value
            .Fields("Next Gate") = Range("J" & r).Value
            .Fields("Next Gate Status") = Range("K" & r).Value
            .Fields("Planned Decision Date") = Range("L" & r).Value
            .Fields("Escalation") = Range("M" & r).Value
            .Fields("Escalation Reason") = Range("N" & r).Value
            .Fields("Desired Kick-Off date") = Range("O" & r).Value
            .Fields("Planned Kick-Off date") = Range("P" & r).Value
            .Fields("Desired Go-Live date") = Range("Q" & r).Value
            .Fields("Planned Go-Live date") = Range("R" & r).Value
            .Fields("Commited Go-Live date") = Range("S" & r).Value
            .Fields("Approval Category") = Range("T" & r).Value
            .Fields("OPL Activity Type") = Range("U" & r).Value
            .Fields("MultiProject") = Range("V" & r).Value
            .Fields("Originating Source") = Range("W" & r).Value
            .Fields("Type") = Range("X" & r).Value
            
            .Update ' stores the new record
        End With
        r = r + 1 ' next row
    Loop
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
End Sub
	Merci pour votre aide.
Soleil11😕