Merhabalar,
Ekteki dosyada taşınır malzemelerin takibi için hazırlamış olduğum uygulamada frm_tasinirlar formunda işlem yaparken Alt Form içerisinde yer alan Kurum Adı ve Miktar kutularında güncelleştirme sonrasında olay var. normalde çalışıyordu. Ancak bugün programı açtım ve kullanırken güncelleme sonrasında
Vba kodu çalışmamaya başladı ve aşağıdaki hata uyarısını verip duruyor. Ne olmuş olabilir?
Ek güncellenmiştir. [attachment=22915] ( Ofis 2003 - 2007 İkisi de var.)
sorunuzda dediğiniz form bende tam olarak problemsiz çalışıyor. dediğiniz alanlarda bir sorun yok.
Bende neden sorun çıkıyor acaba. Düne kadar sıkıntı yoktu. Bugün başladı.
Sayın kursad05,
Eklediğiniz uygulamayı,2007 kullanımı ile inceleme imkanı olmadığından dolayı deneme sureti ile yorumda bulunma durumunda olmamak ile birlikte,aşağıdaki paylaşımlarda bulunmak uygun görülmüştür.
a) tanımlanması gerekli unutulmuş değişkenler olabilir,
b) fonksiyon tanımlamalarında hatalı veri türü belirlenmiş olabilir,
c) denetim kaynaklarında yazılı alan adları ile,form üzerindeki denetim kutuları aynı olabilir,
d) Türkçe ifadeler ile alan adı veya nesne ya da form üzerinde denetim kutuları tanımlama veya komut tanımlamadan kaynaklı da olabilir.
Bütün bu “olabilir” ifadelerini çözüme ulaştırmak adına;kod sayfasında kodlarınızı kontrol etmek ve herhangi bir tanımlama ya da düzeltme gereksinimlerinin olup olmadığını görebilmek için,menüden DEBUG-COMPILE seçeneğini işaretleyiniz ve varsa hataları düzeltme işlemlerini gerçekleştiriniz.
Fakat,eğer kodlarınız genelinde;ilk satırında SADECE Option Compare Database ifadesi yazıyorsa veya Olay Yordamları içerisinde On Error Resume Next ifadesi yer alıyorsa;yukarıda yazılı maddelerdeki hataları görme imkanı vermeksizin uygulamanın işleyişte bulunmasına devam eder.
Bu nedenle,ileride çeşitli nitelikte sorunlara veya hatalara maruz kalmamak adına,her zaman uygulamalarınızdaki kod sayfasında ilk satırda Option Explicit ifadesinin yer almasına önem vererek özen göstermeye gayret ediniz. Option Explicit ifadesinin gerekliliğini belirtmek için,aşağıdaki tanımlamalar yeterli olacaktır kanısındayım.
Option Compare Database (seçenek karşılaştırma);
ikili değer,metin değeri,dize karşılaştırmalarında tanımlı değerlerin karşılaştırmasını yapmak için kullanılır.veritabanının sıralama kodlaması tarafından belirlenir.
Option Explicit (Belirgin seçenek);
uygulamada kullanılmakta olan değişken isimlerinde bir hata söz konusu olduğunda tanımsız bir değişken kullanıldığına dair bu hatayı bildirerek,değişken isimlerinin Dim, Private, Public, ReDim veya Statik deyimi ile doğru tanımlanmasına bir zorunluluk getirir. Böylece,uygulamanın bu hatalardan arınarak sağlıklı çalışmasına imkan sağlar.
Option Explicit ifadesinin her uygulama hazırlayacağınız zaman,kod sayfasında sürekli otomatik olarak yer almasını sağlamak için de,kodlama sayfasında iken,üst menüden TOOLS - OPTIONS - EDITOR sekmesindeki REQUIRE VARIABLE DECLERATION satırını işaretleyip Tamam diyerek çıkınız.
Son olarak, Denetim Masası'ndan BÖLGE VE DİL AYARLARI kısımlarını kontrol ediniz.ilgili format ayarlarını ya da Dil ayarını yeniden düzeltmek gerekebilir.Türkçe tanımlamalardan kaynaklı sorun olabilir.bilginize.
İyi çalışmalar,saygılar.
Sayın Kürşad bey,
Öncelikle bir hususa yönelik tavsiye olması adına belirtmekte fayda var.
Uygulamalarınızdaki Olay Yordamlarında,Katıştırılmış Makro yerine,kodlama bilginizi geliştirmeye imkan sağlamanız amacı ile Kodlama içerikli Olay yordamları kullanmaya özen göstererek önem veriniz.
2003 haline dönüştürerek eklediğiniz uygulamanız incelendiğinde,sorunsuz şekilde bir kullanımın olduğu gözlenmiştir;bahsettiğiniz forma yönelik bir açıklamadır bu sadece.bilginize.
Alıntı:...Denetim Masası'ndan BÖLGE VE DİL AYARLARI kısımlarını kontrol ediniz.ilgili format ayarlarını ya da Dil ayarını yeniden düzeltmek gerekebilir.Türkçe tanımlamalardan kaynaklı sorun olabilir...
bir önceki mesajda yazılı bu öneriyi dikkate almak sureti ile duruma göre İngilizce (A.B.D) olarak Biçim sekmesinden değiştirilebilir.bunu deneme durumunuz oldu mu acaba?
İyi çalışmalar,saygılar.