AccessTr.neT
32 Bit Access Dosyası - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Soruları ve Cevapları (https://accesstr.net/forum-access-sorulari-ve-cevaplari.html)
+--- Konu Başlığı: 32 Bit Access Dosyası (/konu-32-bit-access-dosyasi.html)

Sayfalar: 1 2


32 Bit Access Dosyası - truhi - 20/03/2025

Kıymetli Hocalarım selamlar,

access dosyası daha öncesi 32 bit' te oluşturulduğu için; 64 bit' te açamıyorum;
bu konuda bir çözüm öneriniz var mıdır?

Teşekkürler,
iyi çalışmalar.


RE: 32 Bit Access Dosyası - simendifer - 21/03/2025

inceleyiniz
Modüllerdeki apideclaration satırlarında PTRSAFE deyimini kullanmalısınız. Hem 32 hem de 64 bit'te çalışması için mesela aşağıdaki biçimde olan kodları

Visual Basic Code
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByValhwndAsLong,ByValnCmdShowAsLong)AsLong

şu şekilde değiştirin:
Visual Basic Code
#If VBA7 Then
Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByValhwndAsLong,ByValnCmdShowAsLong)AsLong
#Else
Private Declare Function apiShowWindow Lib" user32" Alias "ShowWindow" (ByValhwndAsLong,ByValnCmdShowAsLong)AsLong
#EndIf

Böylece 32 bit için de 64 bit içim de sorun ortadan kalkar.

Bunu eklemeniz gerektiğini nereden mi anlayacaksınız?
Modüllerde "Private declare" ile başlayan kodlarda api kullanıldığı için 64 bit için sorun çıkar. Çünkü iki işletim sisteminde kullanılan api mantığı farklıdır. 32 bitlik işletim sisteminde kullanılan kodları yukarda verdiğim biçime dönüştürdüğünüzde her iki sistemde de sorunsuz çalışacaktır.

Bir uyarı: Eğer modülde Declare Function biçimi başında "private" olmadan kullanıldıysa o zaman da yine ptrsafe deyimini declare komutundan hemen sonra kullanmalısınız.


RE: 32 Bit Access Dosyası - truhi - 21/03/2025

(21/03/2025, 00:57)simendifer yazdı: inceleyiniz
Modüllerdeki apideclaration satırlarında PTRSAFE deyimini kullanmalısınız. Hem 32 hem de 64 bit'te çalışması için mesela aşağıdaki biçimde olan kodları

Visual Basic Code
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByValhwndAsLong,ByValnCmdShowAsLong)AsLong

şu şekilde değiştirin:
Visual Basic Code
#If VBA7 Then
Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByValhwndAsLong,ByValnCmdShowAsLong)AsLong
#Else
Private Declare Function apiShowWindow Lib" user32" Alias "ShowWindow" (ByValhwndAsLong,ByValnCmdShowAsLong)AsLong
#EndIf

Böylece 32 bit için de 64 bit içim de sorun ortadan kalkar.

Bunu eklemeniz gerektiğini nereden mi anlayacaksınız?
Modüllerde "Private declare" ile başlayan kodlarda api kullanıldığı için 64 bit için sorun çıkar. Çünkü iki işletim sisteminde kullanılan api mantığı farklıdır. 32 bitlik işletim sisteminde kullanılan kodları yukarda verdiğim biçime dönüştürdüğünüzde her iki sistemde de sorunsuz çalışacaktır.

Bir uyarı: Eğer modülde Declare Function biçimi başında "private" olmadan kullanıldıysa o zaman da yine ptrsafe deyimini declare komutundan hemen sonra kullanmalısınız.

Hocam desteğiniz için teşekkürler,
yalnız bu söylemiş olduklarınızı benim yapmam zor görünüyor, dosyayı size ulaştırsam sizin düzenleme şansınız olur mu?

tekrar teşekkürler, çalışmalarınızda başarılar.


RE: 32 Bit Access Dosyası - berduş - 21/03/2025

sorun veri tabanınızın eski sürüm Access ile oluşturulmuş olmasından da kaynaklanıyor olabilir. bu durumda hem 32 hem 64 biti destekleyen bir sürümde 32 bit dosyaları açıp 64 bitle uyumlu olarak kaydetmeyi deneyebilirsiniz.
Emin değilim ama galiba 2007 sürümünü 32 bit dosyaları açıp 64 bit uyumlu olarak kaydedebiliyordu.

not: bi yerlerde Access Runtime’ın 32-bit sürümünü kurarak da açılabileceğine dair bir bilgi görmüştüm ama olur mu olursa sistemde başka sorunlara sebep olur mu bilmiyorum.


RE: 32 Bit Access Dosyası - truhi - 21/03/2025

(21/03/2025, 11:00)berduş yazdı: sorun veri tabanınızın eski sürüm Access ile oluşturulmuş olmasından da kaynaklanıyor olabilir. bu durumda hem 32 hem 64 biti destekleyen bir sürümde 32 bit dosyaları açıp 64 bitle uyumlu olarak kaydetmeyi deneyebilirsiniz.
Emin değilim ama galiba 2007 sürümünü 32 bit dosyaları açıp 64 bit uyumlu olarak kaydedebiliyordu.

not: bi yerlerde Access Runtime’ın 32-bit sürümünü kurarak da açılabileceğine dair bir bilgi görmüştüm ama olur mu olursa sistemde başka sorunlara sebep olur mu bilmiyorum.

Geri dönüşünüz için teşekkür ederim Hocam
iyi Çalışmalar.


RE: 32 Bit Access Dosyası - simendifer - 21/03/2025

(21/03/2025, 16:00)truhi yazdı:
(21/03/2025, 11:00)berduş yazdı: sorun veri tabanınızın eski sürüm Access ile oluşturulmuş olmasından da kaynaklanıyor olabilir. bu durumda hem 32 hem 64 biti destekleyen bir sürümde 32 bit dosyaları açıp 64 bitle uyumlu olarak kaydetmeyi deneyebilirsiniz.
Emin değilim ama galiba 2007 sürümünü 32 bit dosyaları açıp 64 bit uyumlu olarak kaydedebiliyordu.

not: bi yerlerde Access Runtime’ın 32-bit sürümünü kurarak da açılabileceğine dair bir bilgi görmüştüm ama olur mu olursa sistemde başka sorunlara sebep olur mu bilmiyorum.

Geri dönüşünüz için teşekkür ederim Hocam
iyi Çalışmalar.

sorunuzun cevabı resmi inceleyiniz
sizdeki kilit resmi olan dosyaların uzantıları accde oldugu için visual basıc kodlarını göremessiniz göremediğiniz için kodlar üzerinden düzenleme yapamassınız