Envoyer données vers Access en VBA

majidbxl

XLDnaute Nouveau
Bonjour à tous,

J'espère que vous pourrez m'aider, j'ai une feuille avec quelque données qui doivent être envoyées vers Access, j'ai trouvé une macro sympa, seulement j'aimerais remplacer les valeurs qui étaient dans Access par celles d'Excel et non rajouter une lignes avec ces valeurs...

De plus, j'envoi des dates mais dans access il m'affiche les dates dans leurs formats chiffre 35148 etc...

voici le code

Sub DAOFromExcelToAccess()
' exports data from the active worksheet to a table in an Access database
' this procedure must be edited before use
Dim db As Database, rs As Recordset, r As Long
Set db = OpenDatabase("C:\Documents and Settings\chakirm\My Documents\PNS_Open_Orders_report_updated010208.mdb")
' open the database
Set rs = db.OpenRecordset("PNS_Dates", dbOpenTable)
' get all records in a table
r = 3 ' the start row in the worksheet
Do While Len(Range("B" & 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("Day-1") = Range("B" & r).Value
.Fields("Month+1 First Day") = Range("C" & r).Value
.Fields("Month+1 Last Day") = Range("D" & r).Value
.Fields("Month+2 First Day") = Range("E" & r).Value
.Fields("Month+2 Last Day") = Range("F" & r).Value
.Fields("Month+3 First Day") = Range("G" & r).Value
.Fields("Month+3 Last Day") = Range("H" & r).Value
' add more fields if necessary...
.Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
End Sub

Je sais que c'est le .AddNew qui pose problème mais par quoi le remplacer???

En vous remerciant par avance pour votre aide!

Majid
 

RENAUDER

Nous a quitté
Repose en paix
Re : Envoyer données vers Access en VBA

Bonjour,
J'ai fait un test rapide et ça fonctionne parfaitement.
Déjà tu effaces les données de la table
Code:
Set db = OpenDatabase("C:\Excel\bd2.mdb")
    Sql = "DELETE PNS_Dates.* FROM PNS_Dates;"
    db.Execute Sql
Ensuite tes erreurs peuvent être liées à la taille des champs de la base et au type de champ.

Dans Excel, j'ai mis des dates pour tester et elles sont bien restituées dans Access.
Sans fichier, ce n'est simple de t'aider davantage
 

Discussions similaires

Réponses
0
Affichages
1 K
  • Résolu(e)
Microsoft 365 Autorisation
Réponses
2
Affichages
750

Statistiques des forums

Discussions
312 215
Messages
2 086 318
Membres
103 176
dernier inscrit
jean.yvesjean.yves