Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Update de excel vers Access

3 réponses
Avatar
remigo
Bonjour je recois des fichiers en excel, et en acces, j'ai une banque de
données qui attend ces résultats.
Je veux updater ma banque directement a partir d'excel, comment faire?

J'ai essayer le code suivant, sans succes:

Sub M-A-J_ExcelAccess()
Dim bd As DAO.Database
Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel 8.0")
Sql = "UPDATE fichier in 'Chemin et base de données' Select champ1,champ2"
bd.Execute Sql
bd.Close
Set bd = Nothing
End Sub

Merci à l'avance

3 réponses

Avatar
JB
Bonsoir,

La syntaxe de Update me semble curieuse.

Exemple Maj en sql :

Sub MajAccessUpdate()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As DAO.Database
Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel
8.0")
Sql = "UPDATE client IN '" & ActiveWorkbook.Path & "access2000.mdb'
SET Nom_Client=Ucase(Nom_Client) "
bd.Execute Sql
bd.Close
Set bd = Nothing
End Sub

Exemple avec Recordset:

Sub MajAccess()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb")
' Set rs = bd.OpenRecordset("Select * From Client Order By
Nom_Client")
Set rs = bd.OpenRecordset("Select * From Client")
Do While Not rs.EOF
rs.Edit
rs!nom_client = UCase(rs!nom_client)
rs.Update
rs.MoveNext
Loop
End Sub

Cordialement JB


On 15 mai, 19:31, remigo wrote:
Bonjour je recois des fichiers en excel, et en acces, j'ai une banque de
données qui attend ces résultats.
Je veux updater ma banque directement a partir d'excel, comment faire?

J'ai essayer le code suivant, sans succes:

Sub M-A-J_ExcelAccess()
Dim bd As DAO.Database
Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel 8 .0")
Sql = "UPDATE fichier in 'Chemin et base de données' Select champ1, champ2"
bd.Execute Sql
bd.Close
Set bd = Nothing
End Sub

Merci à l'avance


Avatar
JB
Export en DAO

Exporte une BD Excel dans Access:

Sub ExporterAccessDAO()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As DAO.Database
ChDir ActiveWorkbook.Path
Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel
8.0")
bd.Execute "DELETE FROM client IN '" & ActiveWorkbook.Path &
"access2000.mdb'"
Sql = "INSERT INTO client IN '" & ActiveWorkbook.Path &
"access2000.mdb' SELECT * FROM [mabd]"
bd.Execute Sql
bd.Close
Set bd = Nothing
End Sub

http://boisgontierjacques.free.fr/fichiers/jb-ExelAccess.zip

JB


On 15 mai, 19:31, remigo wrote:
Bonjour je recois des fichiers en excel, et en acces, j'ai une banque de
données qui attend ces résultats.
Je veux updater ma banque directement a partir d'excel, comment faire?

J'ai essayer le code suivant, sans succes:

Sub M-A-J_ExcelAccess()
Dim bd As DAO.Database
Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel 8 .0")
Sql = "UPDATE fichier in 'Chemin et base de données' Select champ1, champ2"
bd.Execute Sql
bd.Close
Set bd = Nothing
End Sub

Merci à l'avance


Avatar
remigo
Ça fonctionne si je mets une valeur fixe à Client, mais je ne peux pas
choisir un champ dans mon fichier excel et le mettre à jour dans access par
rapport a une valeur commune (Ex valeur d'analyse : Excel => NoAnalayse,
AnalyseCu, AnalyseAg

1 2.0 35.0

2 3.5 42.0

Access=>NoAnalyse,
AnalyseCu, AnalyseAg

1

2
Dans mon exemple le NoAnalyse est la valeur commune, et les champanalyseCu
et AnalyseAg sont les champ que je veux mettre a jour dans access


Merci à l'avance!!

Bonsoir,

La syntaxe de Update me semble curieuse.

Exemple Maj en sql :

Sub MajAccessUpdate()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As DAO.Database
Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel
8.0")
Sql = "UPDATE client IN '" & ActiveWorkbook.Path & "access2000.mdb'
SET Nom_Client=Ucase(Nom_Client) "
bd.Execute Sql
bd.Close
Set bd = Nothing
End Sub

Exemple avec Recordset:

Sub MajAccess()
'cocher Microsoft DAO 3.6 dans Outils/Références
Dim bd As Database
Dim rs As Recordset
Set bd = OpenDatabase(ActiveWorkbook.Path & "access2000.mdb")
' Set rs = bd.OpenRecordset("Select * From Client Order By
Nom_Client")
Set rs = bd.OpenRecordset("Select * From Client")
Do While Not rs.EOF
rs.Edit
rs!nom_client = UCase(rs!nom_client)
rs.Update
rs.MoveNext
Loop
End Sub

Cordialement JB


On 15 mai, 19:31, remigo wrote:
Bonjour je recois des fichiers en excel, et en acces, j'ai une banque de
données qui attend ces résultats.
Je veux updater ma banque directement a partir d'excel, comment faire?

J'ai essayer le code suivant, sans succes:

Sub M-A-J_ExcelAccess()
Dim bd As DAO.Database
Set bd = OpenDatabase(ActiveWorkbook.FullName, False, False, "excel 8..0")
Sql = "UPDATE fichier in 'Chemin et base de données' Select champ1,champ2"
bd.Execute Sql
bd.Close
Set bd = Nothing
End Sub

Merci à l'avance