2009-03-06 8 views
3

Nispeten küçük bir MS Jet (Access'te oluşturulan) veritabanına bağlı olan bir kodum var. Kaynak kontrol sürecimiz, olabileceği/olması gereken bir şeyden çok uzaktır (bu, hemen çözülmesi gereken bir sorundur) ve aynı veritabanının iki versiyonu ile sonuçlanmıştır. "Diğer" sürümü düzenleyen kişi artık ne değiştiğine dair ipucu vermek için etrafta değil. Bir veritabanının iki sürümünde bulunan gerçek verilerin farklılıklarını bulmanın en iyi yolu nedir?İki Jet (.mdb) veritabanında bir fark raporu almanın bir yolu var mı?

+0

tarafından sağlanan yöntem bu veri veya uygulama soru mu otomatik hale? Yani, bir Jet MDB'de saklanan veri tablolarını karşılaştırmanız gerektiği anlamına mı geliyor, yoksa formları/raporları/vs'yi karşılaştırmanız gerektiği anlamına mı geliyor? ikisinin arasında? İkincisi ise, Remou tarafından SaveAsText önerisi en iyi çözümdür. –

+0

Her tablo için benzersiz bir anahtarınız var mı? – Fionnuala

+0

Her tablonun birincil anahtarı olup olmadığını mı soruyorsunuz? Varsa, evet her tablonun bir birincil anahtarı vardır. Aksi halde, ne istediğini bilmiyorum. Üzgünüm, veritabanları çok fazla deneyime sahip olduğum bir yer değil. –

cevap

2

Tüm formları ve modülleri metin dosyalarına çıkış ve bir metin karşılaştırma yardımcı programı kullanın. Örneğin

:

Sub ToText() 
Dim frm, mdl 

For Each frm In CurrentProject.AllForms 
    Application.SaveAsText acForm, frm.Name, "c:\docs\" _ 
     & frm.Name & ".txt" 

SO

Next 
End Sub 
+0

Bu 'SO biçimlendirme' yorumlarıyla yaptığımız anlaşma mükemmel cevabımıza sıkışmış durumda mı? –

+0

Bunları koydum çünkü SO VBA tuhaf bir şekilde formatlandı. Ve mükemmel için teşekkürler :) – Fionnuala

+0

Remou - Niçin yorumları da girintili değil? Öyle mi ki, SO, kesme işaretini bir dizgenin başlangıcı olarak yorumluyor ve yanlış mı oluyor? – BIBD

0

Ther bir göz atın biçimlendirme 'SO

Next 

For Each mdl In CurrentProject.AllModules 
    Application.SaveAsText acModule, mdl.Name, "c:\docs\" _ 
     & mdl.Name & ".txt" 

biçimlendirme' yapabileceği araçlardır Böyle: http://www.fmsinc.com/MicrosoftAccess/DatabaseCompare.html

Yoksa bunu sana bir ipucu

(ayrıntıları göstermek için veritabanı penceresini değiştirme) Yoksa/Araçlar çalıştırmak/Documenter Analiz ve bakabilirsiniz verir görmek için oluşturulan/değiştirilmiş tarihlerde bakabilirsiniz nesne özelliklerinde.

+0

Bu paranın karşılığını alabiliyorsan, BÜYÜK bir seçenektir ... fm araçları pahalıdır fakat erişimi hedefler ve çok iyi çalışırlar. Seth –

0

İki Microsoft Access dosyası (mdb veya accdb) arasında veritabanı nesnelerini karşılaştırma ve içe aktarma/verme olanağı sağlayan bir uygulama geliştirdim. "AccdbMerge" denir ve buradan indirilebilir: https://sites.google.com/site/accdbmerge/

Temelde, Remou