Bonjour j'ai trouvé une fonction pour liée une tableLorsque je teste la fonction dans la fenêtre d'exécution avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 ' --- ' LIAISON D'UNE TABLE DORSALE ' --- ' Function LierTable( _ ByVal strTable As String, _ ByVal strBase As String) _ As String Dim db As DAO.Database Dim tdf As DAO.TableDef Dim intI As Integer Dim strNomLocal As String ' Vérifier que la base de données pointée existe bien If Dir(strBase) = "" Then MsgBox "Base introuvable !", vbExclamation LierTable = "" Exit Function End If ' Trouver un nom pour la table liée ' (dans la base actuelle) Set db = CurrentDb strNomLocal = strTable intI = 1 While TableExiste(db, strNomLocal) strNomLocal = strTable & intI intI = intI + 1 Wend ' Créer une table liée On Error GoTo LierTableErr Set tdf = New DAO.TableDef With tdf .Name = strNomLocal .SourceTableName = strTable .Connect = ";DATABASE=" & strBase End With ' Ajouter la liaison à la base actuelle db.TableDefs.Append tdf db.TableDefs.Refresh Application.RefreshDatabaseWindow ' Libérer les objets utilisés Set tdf = Nothing Set db = Nothing LierTable = strNomLocal Exit Function LierTableErr: MsgBox "Erreur : " & err.description Exit Function Exit Functionça fonctionne, la table est liée. Cependant, je ne sais pas comment faire pour que la table se lie en cliquant sur un bouton. J'ai fait différents tests, comme d'essayer de transformer la fonction en SUB ou d'essayer d'écrire une ligne de code en SQL mais, mes connaissances en VBA et SQL ne sont pas très bonnes, je n'y arrive pas. J'apprécierai grandement votre aide pour avancer dans mon projet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ? LierTable ("projet98", "C:\Mes documents\Transport\Transporteur.accdb")
Merci à l'avance de votre aide.
Partager