Ich versuche, den Vorgang des Hinzufügens einer verknüpften Tabelle in MS Access zu automatisieren.Auswählen einer eindeutigen Datensatzkennung dynamisch mit vba?
ich habe es bekommen, wie das Hinzufügen der verknüpfte Tabelle in so weit zu arbeiten,
' RUN ME
Sub testItOut()
Dim loginInfo As New AuthInfoz
loginInfo.workgroup = "E:\xxxdatas\SEC\Secured.mdw"
loginInfo.username = "XXXXX"
loginInfo.password = "XXXX"
loginInfo.dbs = "E:\xxxdatas\username\Report.mdb"
Call DeleteRelinkToViewAndRename(loginInfo, "sometable", "ServiceProvision_Schema.hrpersnl")
End Sub
' Deletes the old table and relinks it
' to the new schema
Sub DeleteRelinkToViewAndRename(loginInfo As AuthInfoz, tblName, tblTarget)
Dim objAccess As Access.application
Dim view_ucp_consumers2_qf As DAO.QueryDef
' Open the thing manually first...
'Shell """C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE""" & " " & loginInfo.dbs
Set objAccess = GetObject(loginInfo.dbs).application
objAccess.CurrentDb
' Delete the Linked Table...THIS WORKS UNCOMMENT LATER...
objAccess.DoCmd.DeleteObject acTable, tblName
' Relink the old table to the new schema
' THIS IS WHERE THE DIALOG APPEARS
objAccess.DoCmd.TransferDatabase _
acLink, _
"ODBC Database", _
"ODBC;DSN=MEDSN;Database=MEDATABASE;Trusted_Connection=Yes", _
acTable, _
tblTarget, _
tblName
' Close out...
objAccess.Quit acQuitSaveAll
End Sub
... aber dann ein Dialogfeld erscheint, einen Primärschlüssel anfordert oder wie sie nennt es einen Eindeutigen Datensatzbezeichner . Gibt es das überhaupt?
Hat 'tblTarget' ein PK und Access ignoriert es? oder gibt es überhaupt keinen PK? – Brad
Nein wirklich alt db. – leeand00
'Mid $ (CreateObject (" Scriptlet.TypeLib "). GUID, 2, 36)' gibt als GUID zurück. – Jeeped