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ı?
cevap
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
Bu 'SO biçimlendirme' yorumlarıyla yaptığımız anlaşma mükemmel cevabımıza sıkışmış durumda mı? –
Bunları koydum çünkü SO VBA tuhaf bir şekilde formatlandı. Ve mükemmel için teşekkürler :) – Fionnuala
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
Bu, yalnızca bir Access uygulaması hakkında değil, soru DATA ile ilgili ise yararlı olacaktır. Bu, elbette StackOverflow.com'da endemik olan ve insanların Access ve Jet arasında ayrım yapmadığı bir karışıklık noktasıdır. –
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.
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 –
İ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
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. –
Her tablo için benzersiz bir anahtarınız var mı? – Fionnuala
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. –