Windows'ta Mdb'yi *.bat İle Çalıştırıken Oluşan Türkçe Katakter Sorunu

1 2 3
14/05/2009, 18:48

mehmeser

merhabalar,

mdb dosyasını runtime modunda başlatmak için baslat.bat dosyası oluşturdum. içine şu kodu ekledim.
Kod:
"C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" "C:\Documents and Settings\CASPER\Desktop\Yeni Klasör\MEBOY_son.mdb" /runtime

bu şekilde yol ya da dosya adında Türkçe karakter olunca sorun çıkıyor ve dosya bulunamıyor. Ama Türkçe karakterler kalkınca sorun kalmıyor.

Veritabanı başklarına verilince çok farklı dizinler altında çalıştırılabilir. Hatta isimde karakter de geçebilir. windows'un bu sorunu aşması için string değerini neye çevirmem ya da Türkçe karakterleri ve diğer karakterleri neyle nasıl değiştirmem gerekiyor?

Mdb dosyasının ve access'in kurulu dizinini otomatik bulan ve runtime ile başlatan kod hazırladım. Türler, dönüşümleri, kullanım alanları, farkları hakkında bilgiye ve kaynağa ihtiyacım var.

Teşekkürler.
14/05/2009, 19:32

ozanakkaya

Kod:
CurrentProject.FullName
eğer dosya yolu C:\Documents and Settings\CASPER\Desktop\Yeni Klasör\MEBOY_son.mdb ise yukarıdaki kod ile bu yolu yazdırabilirsin.
Kodun uygulanmış örneği ektedir.
14/05/2009, 19:59

mehmeser

Sağolun ama ben bu işi Access içinden değil Autoit ile script dilinde yapıyorum. exe olarak derleyip kullanıyorum.

Autoit'de ise bu @ScriptDir olarak elime geçiyor ama iş ShellExecute komutu ile çalıştırmya gelince komut satırı hatası hatası veriyor.

Access içinden bir şekilde aynı dosyayı runtime ile çalıştırmak mümkün mü ?

Örnek dosya açılınca Access runtime modunu kontrol edecek ve değilse kendini kapatıp msaccess.exe dosyasına parametre göndererek açacak. sanırım sorun şu: aynı dosyayı 2 kere açtıramayız. dosya kilitlendiği için izin vermeyecektir.

eğer Access içinden bu yapılabilirse daha güzel olacak.
ben şimdi denedim verdiğiniz örneği açtım sonra bat dosyası ile aynı dosyayı bu sefer runtime modunda açtım.

Sonuç: Access aynı dosyayı farklı modda açmaya izin verdi.

Artık geriye yapılacak tek şey Access kurulu dizinini okumak ve ona parametre olarak veritabnı yolunu ve /runtime eklemek. Daha sonra ise veritabanı kendini kapatacak. Bunun kodunu verebilirseniz memnun olurum.
14/05/2009, 20:13

ozanakkaya

Kod:
CurrentProject.FullName & " /" & "runtime"
veya
Kod:
CurrentProject.FullName & " " & "/runtime"
14/05/2009, 20:46

mehmeser

bunu değil de program files içindeki msaccess.exe dosyasını çalışmtırma kodunu istemiştim parametre ile ama sanırım biraz araştırma yapayım. hem öğrenmiş de olurum. bir de daha önce hiç registry den veri okumadım Access içinden o yüzden istemiştim bunun için api kullanmak gerekiyor biraz sorun oluyor o zaman.

teşekkürler.
15/05/2009, 04:02

ozanakkaya

program files içindeki msaccess.exe dosyasını çalıştırma kodu
Kod:
Dim stAppName As String

    stAppName = "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE"
    Call Shell(stAppName, 1)
1 2 3