Makale numarası: 241728 - Son Gözden Geçirme: 28 Haziran 2004 Pazartesi - Gözden geçirme: 3.0 SORUN: beklenmeyen sonuçlar ısdate ile 2 basamaklı yılları kullanma 1.000.000
Bu SayfadaBelirtiler2 Haneli içeren bir tarih aktarılırsa, IsDate() işlevi beklenmedik sonuçlar döndürebilir. NedenVBA tarih işlevleri ısdate, Biçim ve CDateCVDate OLE Otomasyonu içinde (OleAut32.dll) bulunan bir işlevi kullanır. Bu işlev tüm olası tarih biçimleri, tarih gösteren dize ayrılmış değerleri tokenizing arar ve Giriş bir tarihi temsil edilebilir olup olmadığını gösteren bir Boole değeri döndürür. Bu işlevi, bir 2 haneli yıl içeren bir tarihi yorumlamak için kullanırken hatırlamanız önemlidir. Çeşitli tarih biçimleri (yani, aa/gg/yy, yy/aa/gg, "Gg AAA YY", "YY AAA GG" vb.) farklı yerel ayarlar'ı kullanın ve işlevi geçerli bir tarih bulunamadı veya tüm olasılıklarını adres kalmadı kadar tüm pozisyonlar rakamları işlevi bu nedenle çalışır. Şubat 29 belirli bir yıla ait geçerli bir tarih olup olmad???n? çek ısdate iletme işlevi, 2 haneli içeren bir tarih, beklenmeyen sonuçlar elde edebilirsiniz bir örnektir. Daha belirli için <a0></a0>, ısdate Fonksiyonun belirsiz bir geçirmeden "29-Şub-01 gibi" tarihi, tüm kullanılabilir tarih biçimlerini denetimi ısdate neden ve Şubat 1, 2029 geçerli bir tarih olduğundan DOğRU dönün. Ancak, tam yıl içinde "29-Şub-2001", ardından ısdate geçirilir bu geçersiz bir tarihi ve bu nedenle YANLıŞ döndürür belirleyebilirsiniz. Çözümısdate işlevi, dönüştürülmüş tarihi IsDate() işlevine geçirmeden önce 4 basamaklı bir yıl tarihi dönüştürmek için geçici bir sarmalayıcı fonksiyon oluştur. DurumBu davranış tasarım yüzündendir. Daha fazla bilgiOleAut32.dll fonksiyonlarında "yıl kayan" bir standart varsayılan olarak, tüm aralığı 0 - 2 basamaklı yılda 29 2000s düşünülür ve 30-99 arasındaki aralığın içinde 1900s dosyaları, kullanın. Bu, kolayca aşağıdaki sarmalayıcı işleviyle kılınabilir. ısdate işlevi ile ilgili belgelere, tanımladığı davranış tasarlanmış. IsDate(expression) Ifade gerekli bir tarihi ifade ya da bir tarih veya saat olarak tanınabilir dize deyimi içeren bir Variant ' dir. Davranışı yeniden oluşturma adımları
Adımları, sorun kaçının.
Bu makaledeki bilginin uygulandığı durum:
Otomatik TercümeÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir. Makalenin İngilizcesi aşağıdaki gibidir:241728
(http://support.microsoft.com/kb/241728/en-us/
)
| Diğer Kaynaklar Diğer Destek Siteleri
ToplulukHemen Yardım AlMakale çevirileri |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Üste