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
| '*********** relations d'une table - 12.8 : export txt - 14.4b ajout index
'source http://warin.developpez.com/access/dao/?page=partie_4#L4.4.4.2
Public Sub ChampsDansRelation()
Dim odb As DAO.Database, oRlt As DAO.Relation, oFld As DAO.Field, oTbl As DAO.TableDef, oind As DAO.Index
Dim FSO As New Scripting.FileSystemObject, FileText As Scripting.TextStream
Dim T As String, c As String, i As Integer, OK As Boolean, n As Integer
'100 Set wrk =
102 Set odb = DBEngine.Workspaces(0).OpenDatabase(Client_path & Planet_db, False, False, "MS Access;PWD=" & DB_pwd)
'table & champ à chercher - à modifier aussi ligne 144 !!
104 n = 0: T = "": c = "code"
105 If T = "" Then Set FileText = FSO.OpenTextFile(Client_path & "R_" & Planet_cli & ".txt", ForWriting, True)
'Parcourt les relations
106 For Each oRlt In odb.Relations
108 If oRlt.table = T Or T = "" Then
110 For Each oFld In oRlt.Fields
'MsgBox "Table=" & oRlt.table & " " & oRlt.Name & "] lié à [" & oFld.ForeignName & "]"
111 If T = "" Then
112 If Left(oRlt.Name, 1) = "{" Then
'113 oRlt.Name = oFld.Name & "_" & oFld.ForeignName
114 odb.Relations.refresh
End If
115 n = n + 1
116 FileText.WriteLine Left(oRlt.Name & " ", 38) & "= " & Left(oRlt.table & "." & oFld.Name & " ", 20) & "> " & oRlt.ForeignTable & "." & oFld.ForeignName
Else
117 MsgBox Left(oRlt.Name & " ", 38) & "= " & Left(oRlt.table & "." & oFld.Name & " ", 20) & "> " & oRlt.ForeignTable & "." & oFld.ForeignName
End If
Next oFld
End If
Next oRlt
118 If T = "" Then FileText.WriteLine n & " relations.": n = 0
... |
Partager