2013-10-06 135 views
0

我嘗試創建類似於分佈式部署數據庫的東西。從我的主數據庫創建一個小型數據庫,然後附加到郵件併發送給其他人。 爲什麼我必須這樣做是漫長的故事,但我必須這樣做。MS ACCESS通過數據庫屬性創建新的數據庫?

我可以創建數據庫轉移表查詢,但我不知道如何發送屬性,如下所示。如果有人有另一種做法,那也很好。 必須分佈在10個不同的地方。但我需要在鎖定模式下進入並自動彈出窗體。

Public Function fnc_CreateAccessChicago()  
    Dim acApp As Access.Application 
    Set acApp = New Access.Application 
    acApp.Application.NewCurrentDatabase ("C:\TestTest\ChicagpDatabase") 

------ acApp.Properties("StartupForm") = "frmAssetChicago" ---- 

    acApp.Quit 
End Function 

Public Function fnc_Transfers() 
    DoCmd.TransferDatabase acExport, "Microsoft Access", "C:\TestTest\ChicagoDatabase.accdb", acTable, "tblAllAsset", "tblAllAsset" 
    DoCmd.TransferDatabase acExport, "Microsoft Access", "C:\TestTest\ChicagoDatabase.accdb", acQuery, "QryAssetChicago", "QryAssetChicago" 
    DoCmd.TransferDatabase acExport, "Microsoft Access", "C:\TestTest\ChicagoDatabase.accdb", acForm, "frmAssetChicago", "frmAssetChicagoF" 
End Function 

回答

1

試試這個

Public Sub CopyProperties(dstDBname As String) 
' copy properties from currentdb() to dstDBname 
    Dim dstDB As Database 
    Dim srcDB As Database 
    Dim ws As Workspace 
    Dim srcP As Property 
    Dim dstP As Property 

    Set srcDB = CurrDB() 
    Set ws = DefaultWorkspaceClone() 
    Set dstDB = ws.OpenDatabase(dstDBname) 

    For Each srcP In srcDB.Properties 
     Debug.Print srcP.Name, 
     If (srcP.Name <> "Name") And (srcP.Name <> "Connection") Then 
      If (Nz(srcP.value, "") <> "") Then 
       Set dstP = dstDB.CreateProperty(srcP.Name, srcP.Type, Nz(srcP.value, "")) 
       On Error Resume Next 
       dstDB.Properties.Append dstP 
       dstDB.Properties(srcP.Name).value = srcP.value 
       On Error GoTo 0 
      End If 
      Debug.Print "set", srcP.value 
     End If 
     Debug.Print 
    Next srcP 
    dstDB.Properties.Refresh 
    dstDB.Close 
    Set dstDB = Nothing 
    Set srcDB = Nothing 
    Set ws = Nothing 
End Sub