Access veritabanında başvuru sorunlarını çözme

Orijinal KB numarası: 310803

Özet

Bu makalede, Access veritabanında başvuru kullanımıyla ilgili sorunlar açıklanmıştır.

Başvuru hatalarını anlamanız için hem Access veritabanında kitaplıklara nasıl başvuru yapıldığını anlamanız hem de hedef bilgisayara bu başvuruları bozmadan veritabanını yüklemek için gerekenleri anlamanız gerekir. Bu makale, aşağıdaki konuların bir özetidir:

  • Access veritabanı başvurularını görüntüleme
  • Access'te, Microsoft Visual Basic for Applications başvurularını çözme
  • Başvuru hata iletilerini anlama
  • Geliştirme bilgisayarında başvuru sorunlarını çözme
  • Veritabanı dosyalarını dağıtma
  • Başvuru listesini güncelleştirme
  • ActiveX denetimleri olan veritabanı dosyalarını dağıtma
  • Dosyayı yeniden kaydetme

Access veritabanı başvurularını görüntüleme

Geçerli veritabanı başvurularını görüntülemek için:

  1. Veritabanını açın.
  2. Visual Basic Düzenleyicisi'ni başlatmak için ALT+F11 tuşlarına basın.
  3. Araçlar menüsünde, Başvurular'a tıklayın.

Access'te Visual Basic başvurularını çözme

Access, Başvurular kutusunda görüntülenen bilgilere göre her başvuruyla ilgili dosyayı (örneğin, tür kitaplığı, nesne kitaplığı veya denetim kitaplığı) yükler. Access dosyayı bulamazsa Access dosyayı bulmak için aşağıdaki yordamları çalıştırır:

  1. Access, başvurulan dosyanın şu anda bellekte yüklü olup olmadığını denetler.
  2. Dosya bellekte yüklü değilse Access, RefLibPaths kayıt defteri anahtarının var olduğunu doğrulamaya çalışır. Anahtar varsa Access, başvuruyla aynı adı içeren adlandırılmış bir değer arar. Eşleşme olursa Access, adlandırılmış değerin gösterdiği yoldan başvuruyu yükler.
  3. Ardından Access, başvurulan dosyayı şu sırayla aşağıdaki konumlarda arar:
    1. Uygulama klasörü (Msaccess.exe dosyasının konumu).
    2. Dosya menüsünde 'a tıklarsanız gördüğünüz geçerli klasör.
    3. İşletim sistemi dosyalarının çalıştığı Windows veya Winnt klasörü.
    4. Windows veya Winnt klasörü altındaki System klasörü.
    5. PATH ortam değişkendeki, işletim sistemi tarafından doğrudan erişilebilen klasörler.
  4. Access dosyayı bulamazsa başvuru hatası oluşur.

Başvuru hata iletilerini anlama

Eksik bir dosyayla veya veritabanında kullanılan sürümden farklı bir sürüme sahip bir dosyayla ilgili birkaç hata iletisi vardır. Çoğu durumda, belirli bir hata iletisi için Microsoft Bilgi Bankası'nda bir makale arayabilir ve sonra da makaledeki adımları kullanarak hatayı çözebilirsiniz. Bazı durumlarda, bağımlılık dosyası birincil dosyayla doğru eşleşmemektedir.

Aşağıdaki liste, alabileceğiniz bazı başvuru hata iletilerini açıklar. Ancak listede tüm olası başvuru hata iletilerinin olmadığını unutmayın.

  • "ObjectName Nesnesinin MethodName Yöntemi Başarısız Oldu"

    Programlama türü kitaplığında geçersiz Veri Erişim Nesnesi (DAO) dinamik bağlantı kitaplığı (DLL) dosyası gibi bir programlama türü kitaplığı sorunu varsa sıklıkla bu hata iletisini alabilirsiniz. Microsoft Bilgi Bankası'nda bu hata iletisinin çeşitli biçimlerini açıklayan makaleleri arayabilirsiniz.

  • "İşlev, Kullanım ifadesinde kullanılamaz"

    Programlama türü kitaplığıyla ilgili bir sorun varsa veya kod özellikle doğru kitaplığı çağırmazsa ve dosya, başvuru listesinde aynı işlev adını içeren bir dosyadan daha düşük öncelikli olarak listelenmişse (örneğin DAO kodu, DAO kitaplığından daha yüksek önceliğe sahip olarak listelenmiş ActiveX Veri Nesnesi (ADO) kitaplığıyla birlikte kullanılıyorsa) bu hata iletisini alabilirsiniz. Bir form veya rapor ActiveX denetimi içeriyorsa da bu hata iletisini alabilirsiniz.

  • "Proje veya kitaplık bulunamıyor"

    Access başvuru listesinde bir dosyayı bulamazsa bu hata iletisini alabilirsiniz. Çoğunlukla dosya, Başvurular iletişim kutusunda Kayıp olarak işaretlenir. Bazen dosya geliştirme bilgisayarında mevcuttur ancak hedef bilgisayarda yoktur.

  • "Değişken tanımlı değil" veya "Kullanıcı tanımlı tür tanımlı değil"

    Varsayılan olarak dahil edilen kitaplıklar dışında kitaplıklara başvurulan bir veritabanının güvenliğini sağlamak için Kullanıcı Seviyesi Güvenlik Sihirbazı'nı kullanırsanız bu hata iletilerinden birini alabilirsiniz. Örneğin, güvenli olmayan veritabanında bulunan kitaplıklara yapılan başvurular, otomatik olarak yeni, güvenli veritabanında oluşturulmaz.

  • "Çalışma zamanı hatası 5," "Geçersiz yordam çağrısı veya argüman", "Bu simgeyi içeren kitaplığa geçerli proje tarafından başvurulmuyor" veya "Bu simgeyi içeren kitaplığa geçerli proje tarafından başvurulmuyor dolayısıyla simge tanımlanmamıştır"

    bir veritabanına, bir tür kitaplığına veya Kayıp olarak işaretlenmiş bir nesne kitaplığına başvuru varsa bu hata iletilerinden birini alabilirsiniz.

  • ActiveX bileşeni nesneyi oluşturamıyor

    Bu hata iletisi, illa bir ActiveX denetiminin dahil olduğu anlamına gelmez. Örneğin bunun olası bir nedeni, bir ActiveX bileşeni olan DAO'nun, DAO Otomasyon Sunucusu başlayamadığı için bir nesneyi oluşturamamasıdır. Bunun nedeni genellikle, program için başvurulan işlevler sağlayan DLL'lerin kayıtlı olmaması veya yanlış şekilde kaydedilmiş olmasıdır.

Geliştirme bilgisayarında başvuru sorunlarını çözme

Yeni, boş bir veritabanı oluşturmak ve sonra başka bir veritabanı dosyasından nesneleri içeri aktarmak, kod veya ActiveX denetimleri veritabanına varsayılan olarak dahil edilmemiş başvurulara dayanıyorsa başvuru sorunları oluşturabilir. Access 2000 veritabanının varsayılan başvuruları şöyledir:

  • Visual Basic for Applications
  • Microsoft Access 9.0 nesne kitaplığı
  • OLE Otomasyonu
  • Microsoft ActiveX Veri Nesneleri (ADO) 2.1 kitaplığı

Kaynak başka bir Access 2000 veritabanı ise başvuruların eşleştiğini doğrulayın. Kaynak, Access'in önceki bir sürümünde ise DAO 3.5 veya önceki sürümü büyük olasılıkla kullanımdadır; Bununla birlikte, Access 2000 varsayılan olarak DAO 3.5'i sağlamaz. ADO 2.1 kitaplığı başvurularını kaldırmayı (varsa) ve başvuruyu DAO 3.6 nesne kitaplığına eklemeyi deneyin.

Veritabanını, Access'in önceki bir sürümünden dönüştürdüyseniz ve veritabanı Utility.mda dosyasına başvuru içeriyorsa çoğu durumda bu başvuruyu kaldırabilirsiniz çünkü bu başvurunun çağırdığı işlevler, Access 2000'deki varsayılan başvurulara dahildir. DAO'nun önceki sürümlerine başvurular varsa bu başvuruları da kaldırabilirsiniz çünkü DAO 3.6 bu işlevlere adresleyebilir.

Bir kitaplığa başvuru eklemek için:

  1. Veritabanını açın.
  2. Visual Basic Düzenleyicisi'ni başlatmak için ALT+F11 tuşlarına basın.
  3. Araçlar menüsünde, Başvurular'a tıklayın.
  4. Kullanılabilir Başvurular altında, kitaplık adının yanındaki onay kutusunu seçmek için tıklayın ve sonra da Tamam'a tıklayın.

Bir kitaplıktan bir başvuruyu kaldırmak için:

  1. Veritabanını açın.
  2. Visual Basic Düzenleyicisi'ni başlatmak için ALT+F11 tuşlarına basın.
  3. Araçlar menüsünde, Başvurular'a tıklayın.
  4. Kullanılabilir Başvurular altında, kitaplık adının yanındaki onay kutusunu temizlemek için tıklayın ve sonra da Tamam'a tıklayın.

Veritabanı dosyalarını dağıtma

İki temel veritabanı dosyası dağıtım yöntemi vardır. Dosyayı, geliştirme bilgisayarından hedef bilgisayara kopyalayabilir ya da Paket ve Dağıtım Sihirbazı'nı kullanarak kurulum paketi oluşturabilirsiniz.

Dosyayı, geliştirme bilgisayarından hedef bilgisayara kopyalarsanız yalnızca veritabanı dosyası kopyalanır. Başvuru listesinde listelenen tüm dosyaların, doğru sürüm düzeyinde ve hedef bilgisayarda da geliştirme bilgisayarıyla aynı göreli konumda olduğundan manuel olarak emin olun.

Access'te çalışma zamanı uygulamaları geliştirirken bazı işletim sistemi dosyalarının çalışma zamanı uygulamasıyla birlikte dağıtılması gerektiğinin farkında olmalısınız. Bu dosyaların paketlemesi, Microsoft Office 2000 Developer'ın Paket ve Dağıtım Sihirbazı bileşeni tarafından otomatik olarak gerçekleştirilir. Bazen dahil edilen dosyaların sürümleri, geliştirme bilgisayarına yüklenmiş ve işletim sistemi dosyalarını değiştirmiş olan diğer uygulamalara bağlıdır.

Belirli yönergeleri izlemek, çalışma zamanı uygulamasını yüklediğinizde kullandığınız dosyaların sürümlerinin genellikle hedef bilgisayarda yer alan dosyalarla çakışmamasını sağlar. Yönergeler şunlardır:

  1. Access veritabanını herhangi bir bilgisayarda geliştirin.
  2. Sabit diski yeniden biçimlendirmiş ve geçerli işletim sisteminin, Office'in ve Office 2000 Developer'ın yalnızca en eski sürümünün yüklü olduğu bir bilgisayar ortamı oluşturun. Uygulamanın, çalışma zamanı sürümünü oluşturmak için bu bilgisayarda Paket ve Dağıtım Sihirbazı'nı çalıştırın. Bu, dosyaların revizyon düzeylerinin hedef bilgisayarlardan herhangi biri üzerinde çalışmasını sağlar.
  3. Sabit diski yeniden biçimlendirilmiş ve yalnızca işletim sisteminin yüklü olduğu bir bilgisayar ortamı oluşturun. Bu ortamda çalışma zamanı uygulamasını test edin.
    • Uygulama başarılı bir şekilde çalışmazsa uygulamanın kendisiyle ilgili bir sorun olduğunu bilirsiniz. Uygulamayı dağıtmadan önce sorunu tanımlamanız ve düzeltmeniz gerekir.
    • Uygulama, test bilgisayarda başarılı bir şekilde çalışıyor ancak hedef bilgisayarda çalışmıyorsa uygulama yerine hedef bilgisayarda bir sorun olduğunu bilirsiniz. Hedef bilgisayardaki olası nedeni belirlemeli ve düzeltmelisiniz (büyük olasılıkla uyumsuz veya bozuk bir dosyadır).

Başvuru listesini yenileme

Başvuru sorunu bir ActiveX denetimi içeriyorsa bazen başvuru listesini yenileyerek sorunu çözebilirsiniz. Başvuru listesini yenilemek için:

  1. Visual Basic Düzenleyicisi'nde, Araçlar menüsündeki Başvurular'a tıklayın.
  2. Başvurular iletişim kutusunda, henüz seçilmemiş bir başvuru seçmek için tıklayın, hangisini seçtiğinizi not edin ve ardından Tamam'a tıklayın.
  3. Araçlar menüsünden Başvurular'a yeniden tıklayın.
  4. Başvurunun seçimini kaldırmak için tıklayın ve Tamam'a tıklayın.

ActiveX Denetimlerine sahip veritabanı dosyalarını dağıtma

ActiveX denetimleri için iki tip lisans vardır: tasarım zamanı lisansı ve çalışma zamanı lisansı.

  • Tasarım zamanı lisansı, bir Access veritabanındaki formlara ve raporlara Office 2000 Developer'dan lisanslı ActiveX denetimleri eklemenize izin verir.
  • Çalışma zamanı lisansı, Office 2000 Developer yüklü olmayan bir bilgisayarda Access veritabanındaki ActiveX denetimlerini kullanmanıza izin verir ancak çalışma zamanı lisansı, yeni lisanslı ActiveX denetimleri eklemeye izin vermez. Çalışma zamanı lisansı yüklemek için ActiveX denetimlerini, hedef bilgisayarın kayıt defterindeki denetimler için lisans yazan Paket ve Dağıtım Sihirbazı'nı kullanarak dağıtın.

Tasarım görünümünde bir modülü açıp Araçlar menüsünde Başvurular'a tıkladığınızda görebileceğiniz bir Kayıp işareti, hedef bilgisayardaki Ortak İletişim denetimine yapılan başvurunun, geliştirme bilgisayarındaki veritabanı dosyasındaki kaynakla eşleşmediğini gösterir.

Dağıtılabilir Ortak İletişim denetimini yüklemeden veritabanı dosyasını dağıtırsanız denetimin başvurusu Eksik olarak işaretlenebilir veya hedef bilgisayarda dağıtılamaz denetim zaten yüklüyse "Bu ActiveX denetimini kullanmak için gerekli lisansınız yok" hata iletisini alabilirsiniz.

Veritabanı dosyası bir çalışma zamanı uygulamasının parçası olsa bile, hedef bilgisayarda halihazırda yüklü olan dağıtılamaz denetim, çalışma zamanı uygulamanız tarafından sağlanan denetimden daha sonraki bir sürüme sahipse "Bu ActiveX denetimi kullanmak için gerekli lisansınız yok" hata iletisini alabilirsiniz. Bu sorun, Kurulum programı aynı dosyanın sonraki sürümünü önceki sürümünün üstüne yazmadığı için oluşabilir.

Dosyayı yeniden kaydetme

Bir dosyanın, kayıt defterine doğru bir şekilde kaydedilmeden başvuru listesinde yer alması mümkündür. Böyle bir durumdan şüpheleniyorsanız dosyayı yeniden kaydetmek için şu adımları izleyin:

  1. Microsoft Windows NT 4.0'da, Başlat'a tıklayın, Bul'un üzerine gelin ve Dosyalar veya Klasörler'e tıklayın veya Windows 2000'de Başlat'a tıklayın, Arama'nın üzerine gelin ve ardından Dosyalar ve Klasörler için'e tıklayın.
  2. Adlandırılmış kutusuna veya Adlandırılmış dosyaları ve klasörleri ara kutusuna regsvr32.exe yazın.
  3. İçine Bak kutusunda, sabit diskin kaynağına tıklayın (genellikle C:)
  4. Alt Klasörleri Dahil Et onay kutusunu, halihazırda seçili değilse seçmek için tıklayın ve ardından Şimdi Bul ya da Şimdi Ara'ya tıklayın.
  5. Dosyayı bulduktan sonra, Başlat'a, Çalıştır'a tıklayın ve ardından kutusunda olan her şeyi silin.
  6. Regsvr32.exe dosyasını arama sonuçları bölmesinden kutusuna sürükleyin.
  7. Adım 2'den 6'ya kadar tekrarlayın ancak bu kez - yeniden kaydetmek istediğiniz dosyanın adına DosyaAdı dersek - DosyaAdı.dll'yi arayın.
  8. DosyaAdı.dll dosyası, kutusuna Regsvr32.exe ile birlikte konduktan sonra Tamam'a tıklayın.
  9. Access'te sorunun hala mevcut olup olmadığını test ederek görün.

Bilgisayarınızda Regsvr32.exe dosyası yoksa diğer bilgisayarları bu dosya için kontrol edin. Dosya kullanılamıyorsa dosyayı Microsoft Web sitesinden edinebilirsiniz.

Not

Başvuruları ayarladıktan sonra tüm modülleri derlemeyi unutmayın. Tüm modülleri derlemek için modül açıkken Hata Ayıklama menüsünden Veritabanını derle'ye tıklayın. Modüller derlenmiyorsa başka çözümlenmemiş başvurular olabilir.