Skip to main content

AccessTr.neT


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

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

Çözüldü #7
Merhaba, kod için sağlplun ama yine aynı sorunla karşılaştım. Devşirdiğim kod şu idi:
Kod:
Dim stAppName As String

stAppName = "C:\Program Files\Microsoft Office\OFFICE11\msaccess.EXE"
Call Shell(stAppName & " " & CurrentProject.FullName & " /runtime", 1)

Eğer yolda boşluk ya da Türkçe karakter olmazsa çalışıyor ama boşluk bile olsa başlayan Access işlemi parametredeki dosyayı bulamıyor. Yine shell ile çağırma ve yine aynı sorun oluştu. Bu boşlukları ve Türkçe karakterleri sorun çıkarmayacak şekilde değiştirmek bence en iyisi ama neye? Sadd

Yardımlarınızı bekliyorum. Ekte sorunlu örnek vardır.
.zip KarakterSorunu.zip (Dosya Boyutu: 18,83 KB | İndirme Sayısı: 11)
Son Düzenleme: 15/05/2009, 09:38, Düzenleyen: mehmeser.
Cevapla
Çözüldü #8
Bu şekilde yazınca sorun kalmıyor.
Kod:
Chr$(34) & CurrentProject.FullName & Chr$(34)
Cevapla
Çözüldü #9
Sayın Mehmet Eser
Bilgi verdiğiniz için teşekkürler. Çok etik bir davranış olmuş. Yalnız bu komutu sanırım Access içinden kullanmamız gerekeceğinden bir problem var. Aynı formu açtırmak istediğimize göre eğer bu komutu form load'a yazarsak sonsız döngüye girecek, yüzlerce kez açılacaktır. Bir düğmeye basarak runtime modda başlatırsak -sizin örnekte olduğu gibi- o zaman da aynı form açılacağı için önce normal modda sonra runtime modda neden açılsın ki. Kullanıcı normal modda açıp kullamaya başlayacaktır. O düğmeyi bir şekilde zorunlu yapmalı ve runtime ile açıldığında da bu düğme görünmemeli diye düşünüyorum. Bunun için bir döngü koyulup açılma sayısı 2 olunca buton gizlenebilir, sonraki açılışta sıfırlanması için de 2.nci açılış gerçekleştiğinde değeri tekrar sıfırlayabilir. Benim aklıma başka çözüm gelmedi. Siz nasıl bir çözüm düşündünüz?
İnadına, ille de Accesstr.net...
Cevapla
Çözüldü #10
merhaba,

zaten tasarladığım teknik bu değil. Hani biz önceden de, dağıtılan uygulamanın runtime modunda çalışması için teknik geliştiriyorduk. Burada verdiğim sadece bir parçası. Siz ise uzantı değiştirip runtime ile ilişkilendiriyordunuz. Ben ise uygulamam nerede olursa olsun akıllı hareket etmesi için bunu düşündüm.

Yöntem: Uygulama başlar. bu başlangıc kısayol ile veya başka başlatıcı uygulamalar ile runtime olarak başlayacak. Runtime modu sadece korumak için değil kararlılık, sadelik, kolaylık, kullanışlılık açısından da gerekli. Zaten uzman birisi her şekilde ne olup bittiğini anlar veritabanında.

Bu yüzden daha önce verdiğim if yapısı ile runtime modu kontrol edilecek ve eğer değilse burdaki kod çalışacak. Yani runtime değil ise runtime ile başlatıp kendini kapatacak. Yeniden başlayan ise zaten runtime olduğundan kod bu sefer çalışmaz. Ne formda ne de başlangıçta tekniğimde sonsuz döngü söz konusu değil. burada komut düğmesini ve diğer verdiğim basit formları takıldığım yeri çözebilmek için verdim. Yoksa kullanıcıya böyle bir düğme sunacağımdan değil.

Artık bu sayede kendini kontrol eden bir uygulamanın bir parçası bitmiş oldu. Şeytanın bacağını bu kod kırmış oldu ek bir uygulama ya da koda gerek kalmadı.

Siz nasıl ayarlıyorsunuz Runtime ile ? Access kurulu ise uzantı değiştirdiğiniz dosyayı runtime ile ilişiklendirme nasıl oalcak zaten Access var ise ?
Son Düzenleme: 17/05/2009, 16:52, Düzenleyen: mehmeser.
Cevapla
Çözüldü #11
Sanırım siz daha önce bir konuda yayınladığınız kodlardan bahsediyorsunuz. Anladığım kadarıyla açılışta bakacak runtime mi normal mod mu diye. Normal modsa runtime olarak açılacak ve normal modu kapatacak. İf ile runtime ile çalışılıyorsa devam et, değilse (else) runtime ile aç diyeceksiniz. Doğru mu anlamışım?
Hatta ben size bahsettiğiniz kodlarla yaptığım uygulamayı da ekleyeyim. Gayet güzel çalışıyor. Kodlar için teşekkür ederim. Güzel yöntem Img-grin)
.rar ACCESSİ RUNTIME OLARAK ÇALIŞTIRMA.rar (Dosya Boyutu: 11,37 KB | İndirme Sayısı: 15)
İnadına, ille de Accesstr.net...
Cevapla
Çözüldü #12
Tabii bu arada tüm bunlar olmaksızın nasıl yapılabilir, onu da anlatmak gerek.

1- Programın normal olarak bir kısayolu vardır. Bu kısa yolu şöyle yapabiliriz

"C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" "C:\Program\deneme.mdb" /runtime

Burada c: de program adlı klasördeki "deneme.mdb" dosyası Runtime modunda çalışır.

2- Access developer extention package wizard ile yapılan bir kuruluma Runtime ilave edilerek ve kurulum sırasında parametrelerde gerekli işaretlemeler yapılarak o uygulamanın her zaman runtime ile açılması da sağlanabilir. Resmi inceleyiniz.

[Resim: ade.jpg]
İnadına, ille de Accesstr.net...
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task