2010-11-22 22 views
1

Hey. Ağa bağlı bağımsız bir PC'de bulunan ana erişim veri tabanına sahibim ve ağa bağlı bilgisayarlarla bağlantılı bağlantılı bir veritabanı var. Tabloları, tek başına PC'ye bir ağ paylaşımı oluşturarak ve bir yol olsa da onları birbirine bağlayarak bağladım. Veritabanı açıldığında, bağlantılı tabloları otomatik olarak güncelleyebilecek şekilde ayarlayabilir miyim. BenErişen bağlantılı tabloları yenileme erişimi

+0

hiçbir müphem kullanarak başka bir şekilde ifade edebilir, bağlantılı bir tabloya bağlantı halinde

, bağlantı kullanmak almak mümkündür şartları? Ön uç nerede ve arka ucun nerede. Yine de, bağlantılı tablolar varsa bunları güncellediğinizde güncellenir. Amaç ne ? –

+0

"Bağlantılı erişimli tabloları güncelle" seçeneğine mi sahipsiniz? Değilse neden olmasın? Bu, var olan en yaygın Access sorularından biridir ve milyonda bir bazilyon kez binlerce farklı şekilde yanıtlanmıştır. –

cevap

1

Yapabilirsiniz. Genellikle, başlangıçta çalışan (başlangıç ​​seçenekleri ile belirlenir) ve bağlantılı tablolar da dahil olmak üzere çeşitli şeyleri kontrol eden küçük bir çek formu kullanmayı uygun buluyorum. Bu amaçla, yerel makinede bir bağlantılı tablolar tablosu da bulunduruyorum, buna rağmen TableDefs koleksiyonunda yinelenerek bağlantılı tabloların bir listesi elde edilebilir, bir listeyi tutmak biraz daha güvenli olduğunu düşünüyorum.

Kontrol formu tüm bağlantıları kontrol edebilir ve bir bağlantı bozuk veya eksikse, kullanıcıdan yeni bir konum sormasını veya sabit bir konum kullanmasını sağlayın. Sorun bulunmazsa, form kendini kapatabilir ve bir menüyü veya başka bir formu açabilir.

İşte
CurrentDB.TableDefs("TableName").Connection 

bazı daha notlar:

Sub RelinkTables(Optional strConnect As String = "") 
Dim db As DAO.Database 
Dim rs As DAO.Recordset 
Dim strSQL 
Dim tdf As DAO.TableDef 

On Error GoTo TrapError 

    Set db = CurrentDb 

    If strConnect = "" Then 
     ''Where Me.txtNewDataDirectory is a control on the check form 
     strConnect = "MS Access;PWD=databasepassword;DATABASE=" & Me.txtNewDataDirectory 
    End If 

    ''Table of tables to be linked with two fields TableName, TableType 
    Set rs = CurrentDb.OpenRecordset("Select TableName From sysTables " _ 
      & "WHERE TableType = 'LINK'") 

    Do While Not RS.EOF 
     ''Check if the table is missing 
     If IsNull(DLookup("[Name]", "MSysObjects", "[Name]='" & rs!TableName & "'")) Then 
      Set tdf = db.CreateTableDef(RS!TableName, dbAttachSavePWD, _ 
       rs!TableName, strConnect) 
      ''If the table is missing, append it 
      db.TableDefs.Append tdf 
     Else 
      ''If it exists, update the connection 
      db.TableDefs(rs!TableName).Connect = strConnect 
     End If 
     db.TableDefs(rs!TableName).RefreshLink 
     RS.MoveNext 
    Loop 

    Set db = Nothing 
    RS.Close 
    Set RS = Nothing 


Exit_Sub: 
    Exit Sub 

TrapError: 
    HandleErr Err.Number, Err.Description, "Relink Tables" 

End Sub