Comment activer une application access à partir de excel:URGENT!!!!!!! - VB/VBA/VBS - Programmation
Marsh Posté le 07-05-2004 à 11:41:43
Je pose cette question depuis plus de 2 semaine et personne ne me donne de reponse, personne donc sur ce forum ne connais la reponse !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Marsh Posté le 07-05-2004 à 12:37:10
Pour ceux qui aime le code en vba voici le code de la fonction acces que j'aarive pas à executer à partir d'excel
Public Sub LOAD_FILES()
Const col_File = 0
Const col_Table = 1
Const col_Spec = 2
Const col_Path = 4
Dim strSql As String
Dim varReturn As Long
DoCmd.SetWarnings False
With CurrentDb.OpenRecordset(TableFileName)
' On efface toutes les tables avant le chargement
varReturn = SysCmd(acSysCmdSetStatus, strDeleting)
Do While Not .EOF
If .Fields("Enable" ) = True Then
DoCmd.RunSQL ("DELETE FROM " & .Fields(col_Table))
End If
.MoveNext
Loop
' On charge les tables
.MoveFirst
DoCmd.SetWarnings True
Do While Not .EOF
If .Fields("Enable" ) = True Then
varReturn = SysCmd(acSysCmdSetStatus, "Loading: " & .Fields(col_Path) & .Fields(col_File))
If .Fields(col_Spec) <> strExcelSpecification Then
DoCmd.TransferText acImportFixed, .Fields(col_Spec), .Fields(col_Table), .Fields(col_Path) & .Fields(col_File), False
Else
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, .Fields(col_Table), .Fields(col_Path) & .Fields(col_File), True
End If
End If
.MoveNext
Loop
End With
varReturn = SysCmd(acSysCmdSetStatus, strSuccessLoading)
DoCmd.SetWarnings True
End Sub
si qcq à une proposition pour la changer en une fonction qui peut etre appelé à partir d'exel ca sera aussi sympas
Marsh Posté le 07-05-2004 à 10:30:17
Ce que j'essaye de faire c'est d'activer une procedure appartenant à un module access à partir de vb sur exel
Cette procedure doit mettre à jour le contenu de ma base sur la quelle je recupére mes donnée.
J'ai essayer d'enregistrer cette Procedure sur exel mais exel ne reconnais pas les librairie qu'elle utilise est access ne reconnais pas les lybrairie non plus.
Si qcq à une idée cela pourrais m'etre tres utile.
MERCI