Microsoft Takvim Denetimi 10.0 ve sonraki sürümler FirstDay özelliği için yanlış bir değer kullanıyor
Özgün KB numarası: 826761
Not
Bu makale, Microsoft Access veritabanı (.mdb) dosyası veya Microsoft Access veritabanı (.accdb) dosyası için geçerlidir. Temel makro, kodlama ve birlikte çalışabilirlik becerileri gerektirir.
Belirtiler
Microsoft Access'te Takvim Denetimi'nin ilk günü için yanlış bir gün görüntülenir. Microsoft Takvim Denetimi 10.0 veya sonraki bir sürümü bir forma veya rapora eklediğinizde ve ardından Microsoft Visual Basic for Applications (VBA) iç sabitlerini kullanarak Takvim Denetimi özelliğini ayarladığınızda FirstDay
bu sorun oluşur.
Örneğin, Takvim Denetimi özelliğini vbMonday veya vbTuesday olarak ayarlarsınızFirstDay
. Takvim Denetimi özelliğini vbTuesday olarak ayarladığınızdaFirstDay
, takvim haftanın ilk günü olarak Çarşamba'yı kullanır.
Not
Takvim Denetiminin önceki sürümlerini kullandığınızda, özelliği doğru ayarlayabilirsiniz FirstDay
.
Neden
Bu sorun, VbSunday ve vbMonday gibi Microsoft Visual Basic'te tanımlanan günlerin iç sabitleri doğru gün değeriyle ilişkilendirilmediğinden oluşur.
Geçici Çözüm
Bu soruna geçici bir çözüm bulmak için şu adımları uygulayın:
Gün, VBA iç sabitleri ve doğru gün değerleri ve VBA iç sabitleriyle ilişkili sayısal değerler arasındaki ilişkiyi belirleyin. Bunu yapmak için şu adımları uygulayın:
Access'i başlatın.
Northwind örnek veritabanını açın.
Veritabanı penceresinde, Nesneler'in altındaki Formlar'a tıklayın.
Not
Access 2007'de Oluştur sekmesine tıklayın ve ardından Formlar grubunda Form Tasarımı'na tıklayın.
Sağ bölmede Tasarım görünümünde Form oluştur'a çift tıklayın.
Not
Access 2007'de bu adımı atlayın.
Ekle menüsünde ActiveX Denetimi'ne tıklayın.
Not
Access 2007'de Tasarım sekmesine tıklayın ve ardından Denetimler grubunda ActiveX Denetimi Ekle'ye tıklayın.
ActiveX Denetimi Ekle iletişim kutusunda, ActiveX Denetimi Seç liste kutusunda Takvim Denetimi 10.0 veya sonraki bir sürümü seçmek için tıklayın ve ardından Tamam'a tıklayın.
Özellikleri aşağıdaki gibi ayarlanmış forma bir komut düğmesi ekleyin:
Özellik Değer Name
testFD Caption
İlk Günü Değiştir Dosya menüsünde Kaydet'e tıklayın.
Not
Access 2007'de , Microsoft Office Düğmesi'ne ve ardından Kaydet'e tıklayın.
Farklı Kaydet iletişim kutusunda, Form Adı kutusuna Form1 yazın ve ardından Form1 formunu kaydetmek için Tamam'a tıklayın.
Görünüm menüsünde Kod'a tıklayın.
Not
Access 2007'de Tasarım sekmesine ve ardından Araçlar grubunda Kodu Görüntüle'ye tıklayın.
Visual Basic Düzenleyici aşağıdaki kodu yazın veya yapıştırın:
Option Compare Database Private Sub testFD_Click() Calendar0.FirstDay = vbTuesday End Sub
Form görünümünde Form1'i açın.
İlk Günü Değiştir düğmesine tıklayın.
Not
Takvim Denetiminin ilk sütunu Salı olarak ayarlı değilse, ilk sütundaki günü not edin.
Visual Basic Düzenleyici Görünüm menüsünde Hemen Pencere'ye tıklayın.
Anlık penceresinde ?vbTuesday yazın ve ENTER tuşuna basın.
Sayısal değere dikkat edin.
vbTuesday'i vbMonday ve vbWednesday gibi diğer vbA iç sabitleriyle değiştirerek j adımlarını o adımında yineleyin.
Gün arasındaki ilişkiyi, VBA iç sabitlerini ve doğru gün değerleriyle ve VBA iç sabitleriyle ilişkili sayısal değerleri göstermek için aşağıdaki tabloya sahip olacağınıza dikkat edin.
Hafta Günü VBA İç Sabiti İlişkili Sayısal Değer Pazartesi Vbsunday 1 Salı vbMonday 2 Çarşamba vbTuesday 3 Perşembe vbWednesday 4 Cuma vbThursday 5 Cumartesi vbFriday 6 Pazar vbSaturday 7
Hafta günlerine doğru şekilde eşlenmiş genel bir özel sabit listesi oluşturun. Bunu yapmak için şu adımları uygulayın:
Veritabanı penceresinde, Nesneler'in altında Modül'e tıklayın.
Not
Access 2007'de Oluştur sekmesine tıklayın, Diğer grubundaki Makro'nun altındaki oka tıklayın ve ardından Modül'e tıklayın.
Ekle menüsünden Modül'e tıklayın.
Not
Access 2007'de bu adımı atlayın.
Visual Basic Düzenleyici aşağıdaki kodu yazın veya yapıştırın:
Option Explicit Public Enum nwFirstDay nwMonday = 1 nwTuesday = 2 nwWednesday = 3 nwThursday = 4 nwFriday = 5 nwSaturday = 6 nwSunday = 7 End Enum
Not
"Hafta Günü" sütununda ve 1. adımda yer alan tablonun karşılık gelen "Sayısal Değer İlişkili" sütununda açıklandığı gibi numaralandırmayı oluşturun.
Modül Day_Association adlandırın ve kaydedin.
Visual Basic Düzenleyici kapatın.
Uygulamanızdaki VBA iç sabitlerini, 2. adımda açıklanan özel sabit listesindeki sabitlerle değiştirin.
Örneğin, özgün kodunuz
Calendar0.FirstDay = vbTuesday
kodunuzu aşağıdaki gibi özel numaralandırma kullanacak şekilde değiştirin:
Calendar0.FirstDay = nwTuesday
Uygulamayı çalıştırın.
Ek Bilgi
VBA iç sabitleri sistem yerel bilgilerine bağlı değildir. Örneğin, Almanca dilinde yerelleştirilmiş işletim sistemine sahip bir bilgisayarda haftanın ilk günü Pazartesi'dir. Bilgisayardaki Pazartesi ile ilişkili sayısal değer her zaman 0'dır.
Takvim Denetimi 10.0 veya sonraki bir sürüm dünya çapında bir Microsoft ActiveX denetimi olduğundan, bilgisayar belirtimlerinize göre VBA iç sabitleriyle ilişkili sayısal değerleri denetleyemezsiniz. Bu nedenle, bu makalenin "Belirtiler" bölümünde bahsedilen sorun oluşur.
Sorunu yeniden oluşturma adımları
Access'i başlatın.
Northwind örnek veritabanını açın.
Veritabanı penceresinde, Nesneler'in altındaki Formlar'a tıklayın.
Not
Access 2007'de Oluştur sekmesine tıklayın ve ardından Formlar grubunda Form Tasarımı'na tıklayın.
Sağ bölmede Tasarım görünümünde Form oluştur'a çift tıklayın.
Not
Access 2007'de bu adımı atlayın.
Ekle menüsünde ActiveX Denetimi'ne tıklayın.
Not
Access 2007'de Tasarım sekmesine tıklayın ve ardından Denetimler grubunda ActiveX Denetimi Ekle'ye tıklayın.
ActiveX Denetimi Ekle iletişim kutusunda, ActiveX Denetimi Seç liste kutusunda Takvim Denetimi 10.0 veya sonraki bir sürümü seçmek için tıklayın ve ardından Tamam'a tıklayın.
Özellikleri aşağıdaki gibi ayarlanmış forma bir komut düğmesi ekleyin:
Özellik Değer Name
testFD Caption
İlk Günü Değiştir Görünüm menüsünde Kod'a tıklayın.
Not
Access 2007'de Tasarım sekmesine ve ardından Araçlar grubunda Kodu Görüntüle'ye tıklayın.
Visual Basic Düzenleyici aşağıdaki kodu yazın veya yapıştırın:
Option Compare Database Private Sub testFD_Click() Calendar0.FirstDay = vbTuesday End Sub
Dosya menüsünde Kaydet'e tıklayın.
Not
Access 2007'de Microsoft Office Düğmesi'ne ve ardından Farklı Kaydet'e tıklayın.
Farklı Kaydet iletişim kutusunda, Form Adı kutusuna Form1 yazın ve ardından Form1 formunu kaydetmek için Tamam'a tıklayın.
Form görünümünde Form1'i açın.
İlk Günü Değiştir düğmesine tıklayın.
Takvim Denetimi özelliğini vbTuesday olarak ayarlasanız
FirstDay
da, takvim Çarşamba'yı haftanın ilk günü olarak seçer.
Başvurular
Takvim Denetimi ve Takvim Denetimi özellikleri hakkında daha fazla bilgi için Mscal.hlp dosyasını açın ve uygun konuyu arayın. Mscal.hlp aşağıdaki klasörlerde bulunur:
Microsoft Access 2002
Yükleme Sürücüsü: \Program Files\Microsoft Office\Office10
Microsoft Office Access 2003
Yükleme Sürücüsü: \Program Files\Microsoft Office\Office11
Not
Yükleme Sürücüsü , yükleme sürücünüzün adı için bir yer tutucudur.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin