22-03-2009, 18:52
Merhaba Arkadaşlar Yabancı sitelerde MDE-MDB Dosyaları Dönüşüm Ararken Şötle Bir Kod Yapısı Buldum Acaba Konuyla Alakalımı Yardım Ederseniz Sevinirim...
Kaynak Kod: Bir Northwind 2000 MDE veritabanı () from
Visual Basic
- Alt FixAllDataAccessPages ()
-
- 'Değişmeze: FixAllDataAccessPages
- 'Amaç: hepsi için geçerli veritabanında veri erişim sayfaları üzerinden gider:
- Onların bağlantı dizeleri doğru ve emin olun *
- '* Eğer sayfaya veritabanı konteyner gelen bağlantı güncelleştirme gerekli.
-
- Dim CurrentPath geçerli veritabanına String 'Yol gibi
- Dim FullPath String 'Yol ve geçerli Veritabanı Adı gibi
- Dim DPName uzatma dahil Sayfa Dizesi 'adı olarak
- Dim dbname mevcut veritabanı dizgi 'adı olarak
- Dim Pgs String 'Array () olarak sayfaların listesini tutun
- Dim FullNames String 'Array () gibi sayfanın tam adı tutun
- Dim İsimler Dizesi 'Array () olarak Sayfa Adı tutun
- Dim NUMPAGES Tamsayı olarak
- Dim i tamsayı 'Basit Sayaç olarak
- Dim WasFixed 'Boole gibi
- Dim NumErrors Tamsayı 'Sayı hata olarak karşılaştı
- Dim NumDBCUnfixed çözülmüş DBC link sayısına Tamsayı 'olarak ayarlayın
-
- = "Tespit Sayfa Bağlantılar strStatusMsg" İnşaat
-
- İnşaat strFixErrPrefix = "There were"
- İnşaat strFixErrSuffix = "hata veri erişim sayfası bağlantıları tespit." & _
- "Bazı sayfaları çalışmaz Mayıs beklendiği gibi."
- İnşaat strFixErrTitle = "Can't Fix Sayfalar!"
-
- İnşaat strMDEMsgPrefix = "Bu dosya, bir MDE ve içerir"
- Veri erişim sayfalarını da sabit edilememiştir için İnşaat strMDEMsgSuffix = "link." & _
- "Sayfa kaynakları kontrol edildi."
- İnşaat strMDEMsgTitle = "Can't Fix DBC Linkler!"
-
- 'Eğer veritabanı okumak, sadece, o zaman düzeltmek durumunda kontrol edin
- 'Bir şey, şimdi çıkın.
- Eğer (GetAttr (Application.CurrentProject.FullName) Ve vbReadOnly) Sonra Çıkış Alt
-
- FullPath = CurrentDb.Name
-
- Dbname = Mid (FullPath, InStrRev (FullPath, "\",,) vbBinaryCompare + 1)
-
- CurrentPath = Left $ (FullPath, InStrRev (FullPath, "\",,) vbBinaryCompare - 1)
-
- 'Veri Erişim Sayfaları sayısı alın
- NUMPAGES = CurrentProject.AllDataAccessPages.Count
-
- 'Ayarlayın dizi sayfa adlarını tutar
- ReDim Preserve FullNames (NUMPAGES - 1)
- ReDim Preserve İsimler (NUMPAGES - 1)
-
- 'Ve yolları ile (Adı) tüm Sayfa İsimler ve FullNames alın
- I = 0 için NUMPAGES için - 1
- FullNames (i) = CurrentProject.AllDataAccessPages (i). FullName
- İsimler (i) = CurrentProject.AllDataAccessPages (i). Adı
- Ardından
-
- Application.Echo Yanlış, strStatusMsg
-
- NumErrors = 0
- NumDBCUnfixed = 0
-
- I = 0 için NUMPAGES için - 1
- Dizinin her sayfasından 'Adım
- 'Yolu kaldırma (eğer uzantısı koruyarak varsa)
-
- DPName = Right (FullNames (i), Len (FullNames (i)) - InStrRev (FullNames (i) _
- "\",,)) VbBinaryCompare
- WasFixed = FixPageConnection (CurrentPath, FullNames (i) DPName, dbname, _
- İsimler (i) NumDBCUnfixed)
- Eğer () Sonra WasFixed
- NumErrors = NumErrors + 1
- End If
- Sonraki
-
- NumErrors <> 0 Then If
- MsgBox strFixErrPrefix & NumErrors & strFixErrSuffix, _
- , strFixErrTitle vbCritical
- End If
-
- 'Eğer mümkün olmayan bazı DBC bağlantıları düzeltmek için, bizim kötü bağlantılar bir MDE ettiğiniz anlamına gelir
- Eğer NumDBCUnfixed <> 0 Then
- MsgBox strMDEMsgPrefix & NumDBCUnfixed & strMDEMsgSuffix, _
- , strMDEMsgTitle vbCritical
- End If
-
- Application.Echo Doğru
-
- End Sub
Kaynak Kod: Bir Northwind 2000 MDE veritabanı () from
Visual Basic
- Kamu Alt FixAllDataAccessPages ()
-
- Dim i tamsayı olarak
- Dim DPName Dizesi olarak
- Dim FullPath Dizesi olarak
- Dim dbname Dizesi olarak
- Dim CurrentPath Dizesi olarak
- Dim FullNames Dize () gibi
- Dim NUMPAGES Tamsayı olarak
- Dim NumDBCUnfixed Tamsayı olarak
- Dim Pgs Dize () gibi
- Dim WasFixed Boole gibi
- Dim İsimler Dize () gibi
- Dim NumErrors Tamsayı olarak
-
- Dize = "vardı olarak İnşaat strFixErrPrefix"
- Veri erişim sayfalarını da sabit edilememiştir için Dize = "link olarak İnşaat strMDEMsgSuffix." & _
- "Sayfa kaynakları kontrol edildi."
- Dize = "Can't Fix Sayfalar olarak İnşaat strFixErrTitle!"
- Dize = "Tespit Sayfa Bağlantılar olarak İnşaat strStatusMsg"
- Dize = "Bu dosya, bir MDE ve içerir olarak İnşaat strMDEMsgPrefix"
- Dize = "hata veri erişim sayfası bağlantıları tespit olarak İnşaat strFixErrSuffix." & _
- "Bazı sayfaları çalışmaz Mayıs beklendiği gibi."
- Dize = "Can't Fix DBC Linkler olarak İnşaat strMDEMsgTitle!"
-
- Eğer GetAttr (CurrentProject.FullName) Ve 1 Sonra
-
- Çıkış Alt
-
- End If
-
- FullPath = CurrentDb.Name
- Dbname = Mid (FullPath, InStrRev (FullPath, "\") + 1)
- CurrentPath = Left $ (FullPath, InStrRev (FullPath, "\") - 1)
- NUMPAGES = CurrentProject.AllDataAccessPages.Count
- Redim Koruma FullNames (NUMPAGES - 1)
- Redim Koruma İsimler (NUMPAGES - 1)
-
- I = 0 için NUMPAGES için - 1
-
- FullNames (i) = CurrentProject.AllDataAccessPages (i). FullName
- İsimler (i) = CurrentProject.AllDataAccessPages (i). Adı
-
- Ardından
-
- Echo 0, strStatusMsg
- NumErrors = 0
- NumDBCUnfixed = 0
-
- I = 0 için NUMPAGES için - 1
-
- DPName = Right (FullNames (i), Len (FullNames (i)) - InStrRev (FullNames (i), "\"))
- WasFixed = FixPageConnection (CurrentPath, FullNames (i) DPName, dbname, _
- İsimler (i) NumDBCUnfixed)
-
- Eğer WasFixed
-
- NumErrors = NumErrors + 1
-
- End If
-
- Ardından
-
- NumErrors <> 0 Then If
-
- MsgBox strFixErrPrefix & NumErrors & strFixErrSuffix, vbCritical, strFixErrTitle
-
- End If
-
- Eğer NumDBCUnfixed <> 0 Then
-
- MsgBox strMDEMsgPrefix & NumDBCUnfixed & strMDEMsgSuffix, vbCritical strMDEMsgTitle
-
- End If
-
- Echo -1, vbNullString
-
- End Sub



