Vba Projesi Okunamıyor

1 2
26/09/2017, 17:34

aliyuzen

Merhaba,

Office 2016
Orijinal Versiyon
64 bit
Türkçe

kullanılıyor.

Bugüne kadar çalışan veritabanı bugün itibariyle çalışmıyor. Aşağıdaki mesaj çıkmaktadır.

İçerdiği Vba projesi okunamadığından veritabanı açılamıyor. Vba projesinin silinmesi, modüllerdeki, formlardaki ve raporlardaki tüm kodları kaldırır. Veritabanınızı açmayı ve Vba projesini silmeyi denemeden önce veritabanınızın yedek kopyasını oluşturmalısınız.

Forumda aradım. Konu kapatılmış, ancak kendi kendine bu sorunun geçtiği söylenmiş.

Güncelleme kontrol edildi. Güncelleme yok.
Office kaldırıldı ve yeniden kuruldu. 
Diğer Access projelerinde sorun yok.
Aynı pc de birden fazla veritabanı var ve çalışmaktadır.
Debug Compile edilemiyor. Çünkü, veritabanı açılır açılmaz bu hatayı verip tüm Vba kodlarını siliyor.

Konu hakkında yardım rica ediyorum. Teşekkürler.
26/09/2017, 18:27

ozanakkaya

Merhaba,

Uygulamanız büyük ihtimalle bozulmuş. İncelenebilmesi ve onarılmaya çalışılması için uygulamanızı ekleyiniz.
27/09/2017, 09:28

aliyuzen

Merhaba Hocam,

Uygulamayı ekleyebilirim, ekledim de.
Ancak, aynı uygulamayı başka pc ye kopyaladığımda çalışıyor.
Bu garip değil mi sizce de...?

Şöyle düzelteyim;
Dosya networkten kopyalanıp bir pc ye yapıştırılıyor. Bu hatayı veriyor.
Aynı dosya onlarca pc ye kopyalanıp masaüstüne yapıştırılıyor. Normal çalışıyor.

O pc deki bir sorun ile ilgili gibi düşünüyorum.
Bu sefer de diğer, veritabanları çok rahat çalışıyor.

Muhtemelen sizde de çalışacaktır.
27/09/2017, 12:32

ozanakkaya

Uygulamada, 

- İlk açılan formda veya içerdiği kodlarda sorun olabilir. Uygulamayı shift tuşuna basılı tutarak açın, alt +f11'e basarak Vba sayfasını açın, Debug sekmesinden "Compile ............" seçeneğini tıklayın. Çıkan hataları düzelterek deneyin.

- Ofisin 64 bit olduğunu belirtmişsiniz.
Örnek olarak, Modül1 isimli modülde

Declare Function aht_apiGetOpenFileName Lib "comdlg32.dll" _
   Alias "GetOpenFileNameA" (OFN As tagOPENFILENAME) As Boolean
Declare Function aht_apiGetSaveFileName Lib "comdlg32.dll" _
   Alias "GetSaveFileNameA" (OFN As tagOPENFILENAME) As Boolean
Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long

şeklinde kodlar mevcut. Bu şekildeki declare edilen fonksiyonların 64 bite uyarlanması gerekiyor.



#If VBA7 Then
 Declare ptrsafe Function aht_apiGetOpenFileName Lib "comdlg32.dll" _
   Alias "GetOpenFileNameA" (OFN As tagOPENFILENAME) As Boolean
Declare ptrsafe Function aht_apiGetSaveFileName Lib "comdlg32.dll" _
   Alias "GetSaveFileNameA" (OFN As tagOPENFILENAME) As Boolean
Declare ptrsafe Function CommDlgExtendedError Lib "comdlg32.dll" () As Long
#Else
    Declare Function aht_apiGetOpenFileName Lib "comdlg32.dll" _
   Alias "GetOpenFileNameA" (OFN As tagOPENFILENAME) As Boolean
Declare Function aht_apiGetSaveFileName Lib "comdlg32.dll" _
   Alias "GetSaveFileNameA" (OFN As tagOPENFILENAME) As Boolean
Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long
#End If


32 bit (x86) yapılan programların 64 bit (x64) çalıştırılması
27/09/2017, 13:52

aliyuzen

Hocam,

Aşağıda bahsettiğiniz işlemi size gönderdiğim dosyada yapabiliyorsunuz. 
Ben de kendi pc mde yapabiliyorum.

Ancak, bahsettiğim pc de bunu yapamıyorsunuz.
Çünkü, hemen mesajı çıkartıp Vba ları siliyor.

Şimdilik 2013 e dönüş yaparak sorunu çözdüm.

- İlk açılan formda veya içerdiği kodlarda sorun olabilir. Uygulamayı shift tuşuna basılı tutarak açın, alt +f11'e basarak Vba sayfasını açın, Debug sekmesinden "Compile ............" seçeneğini tıklayın. Çıkan hataları düzelterek deneyin.
27/09/2017, 14:04

ozanakkaya

Alıntı:Ancak, bahsettiğim pc de bunu yapamıyorsunuz
 
Uygulamanızı shift tuşuna basılı tutarak açabilirsiniz.

Açamıyorsanız, belirttiğim bu işlemi uygulamayı açabildiğiniz pcde yapabilirsiniz. 
Böylelikle 64 bit ofis kurulu pcde açtığınızda sorun çıkarmayacak.

Yapmazsanız 64 bit olan tüm ofis sürümlerinde sorun çıkarır.
1 2