Vinzfloz1
Messages postés21Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention 3 avril 2007
-
22 févr. 2007 à 16:26
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 2011
-
23 févr. 2007 à 11:16
Bonjour à toutes et à tous,
Une petite question qui ne devrait pas posé trop de difficultés pour certains, comme d'hab.
Je travaille sur un fichier excel, une macro Update les données vers une Table ACCESS.
Jusqu'ici ca passe.
Maintenant je veux ajouter de nouveaux enregistrements dans ma table.
Je pensais à AddNew, ou Insert To, je n'arrive pas à les écrire correctement dans le code suivant :
ChDir ActiveWorkbook.Path
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=LicenseData2007.mdb"
Dim rs As New ADODB.Recordset
Dim fld As ADODB.Field
rs.Open "licensor", cnn, adOpenKeyset, adLockOptimistic
Dim SQL As String
Dim str1 As String
str1 = Sheets("ExportToAccess").Range("G5")
Dim str2 As String
str2 = Sheets("ExportToAccess").Range("A5")
Dim Plage As Range
Dim Array1 As Variant
Dim x As Variant
Set Plage = Worksheets("ExportToAccess").Range("A6").CurrentRegion.Offset(1, 0)
Set Plage = Plage.Resize(Plage.Rows.Count - 1, Plage.Columns.Count)
Plage.Select
Array1 = Plage.Value
For x = 1 To UBound(Array1, 1)
SQL "UPDATE licensor SET " & str1 & "'" & Array1(x, 7) & "'WHERE " & str2 & " ='" & Array1(x, 1) & "'"
Attention, ne pas oublier de vérifier la compatibilité des types et de savoir si les cellules Array(x,n) sont vides ou pas avant de les affecter à tes rs, sinon yaura propabement erreur!
Tu peux aussi faire un insert into
Tous les chemins mènent à Rome...