Access 2007 kullanıyorum ve bu davranış aşağıdaki gibi çoğaltılabilir.Annoying vba adlandırma davranışı
1) Yeni erişim veritabanı accdb dosyası oluşturun.
2) Veritabanını açın ve yeni vba modülü oluşturun. 2 altprogram Sub2 oluştur)
Sub sub1()
Msgbox Err.Description
End Sub
4:
3) 1 altprogram sub1 oluşturma Bu noktada her şey son
Sub sub2(Description as String)
Msgbox Description
End Sub
normaldir.
5) Ama gitmeden ve Sub2 değiştirirseniz o 'Açıklama' şöyle 'd' ile 'açıklamasına', yani değişim 'D' okur böylece: Bu aynı zamanda bir vuruş-üzerindeki etkisi ve değişikliklere sahip
Sub sub2(description as String)
Msgbox description
End Sub
alt1 de! Böylece abon1 şimdi okur:
Sub sub1()
Msgbox Err.description
End Sub
Neden Err.Description ' 'Err.Description' olarak değişti?
Bu davranış kodun gerçek işlevselliği üzerinde hiçbir etkiye sahip gibi görünmüyor, bu yüzden sorun yok. Sahip olduğum en büyük sorun, vba modülümü metin dosyaları olarak ihraç edip SVN kontrolü altına almam. Ve son zamanlarda tam anlamıyla bir 'değişme' yükü bu yüzden depoya işledi.
Bunun yapılmasını nasıl engelleyeceğiniz hakkında herhangi bir fikir var mı?
Vba'ya karşı savaşan tek kişi olmadığına sevindim! Senaryo fikrini deneyebilirim. Ama şimdi bu "özellik" hakkında biliyorum, sadece onunla yaşayabilirim ve şu andan itibaren tutarlı bir şekilde Pascal vakasını kullanan vbadaki tüm değişkenlerim. Pascal vakası, standart vba kitaplıklarının kullandığı şeydir, bu yüzden bu, herhangi bir vaka duyarlılığı adlandırma çakışmaları ortadan kaldırmalıdır. Her ne kadar rahatsız edici olsa da, bu, yöntem parametrelerinin küçük harf kullanımını tercih etmeme rağmen! – David