OVH Cloud OVH Cloud

communication Excel-Access

2 réponses
Avatar
Nicolas
Bonjour je voudrais mettre =E0 jour un champ d'une table=20
access avec les donn=E9es d'un fichhier excel.
La fonction suivante, utilisant le DDE, plante =E0 la ligne :
lCanal =3D DDEInitiate("Excel", "ListeDossiers")
msg : "impossible d'ouvrir le canal DDE"
Sachant qu'il existe bien un fichier ListeDossiers.xls=20
dans le m=EAme r=E9pertoire que le fichier access qui execute=20
ce code...

Function MAJBillCode() As Integer
'mettre =E0 jour les noms de client =E0 partir d'un export=20
excel
Dim i As Integer
Dim Sql As String
Dim Rq As QueryDef
Dim Rs As Recordset
Dim sCodeCli As String 'code client
Dim sNomCli As String 'libell=E9 client
Dim lCanal As Long 'num=E9ro de canal DDE
=20
On Error GoTo lblErreur
=20
MAJBillCode =3D 0
=20
'connexion au fichier d'import excel
lCanal =3D DDEInitiate("Excel", "ListeDossiers")
sCodeCli =3D DDERequest(lCanal, "L1C1")
=20
Set Rq =3D CurrentDb.QueryDefs("MAJBillCode")
For i =3D 1 To 2 '5812
sCodeCli =3D DDERequest(lCanal, "L" & i & "C1")
sNomCli =3D DDERequest(lCanal, "L" & i & "C2")
'Met =E0 jour la description du code de facturation
Sql =3D "UPDATE BillCode AS Bc"
Sql =3D Sql & "Set Bc.Description =3D """ & sNomCli=20
& """"
Sql =3D Sql & " WHERE Bc.BillcodeID =3D """ & sCodeCli=20
& """;"
Rq.Sql =3D Sql
Rq.Execute
Next i
Set Rq =3D Nothing
DDETerminate (lCanal)
MAJBillCode =3D 1

lblErreur:
MAJBillCode =3D -1
End Function

2 réponses

Avatar
user
Nicolas wrote:
Bonjour je voudrais mettre à jour un champ d'une table
access avec les données d'un fichhier excel.


pourquoi tu n'attaches pas le fichier xls en table ?
avec une requete MAJ

A+
Roland

Avatar
merci je vais faire comme ça, je ne savais pas que c'était
possible

-----Message d'origine-----
Nicolas wrote:
Bonjour je voudrais mettre à jour un champ d'une table
access avec les données d'un fichhier excel.


pourquoi tu n'attaches pas le fichier xls en table ?
avec une requete MAJ

A+
Roland

.