Merhaba ardaşlar,
"\\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb"
bu uzantıda ki BirimFaaliyet.mdb dosyasını bilgisayarıma kısayol olarak eklediğimde sorunsuz olarak çalışıyor.
Benim yapmak istediğim olay ise VB te EXE uzantılı olarak form açıldığında veya butona tıklandığında "\\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb" bu adresteki BirimFaaliyet.mdb dosyasını açmak istiyorum.
yardımlarınızı bekliyorum.
şimdiden teşekkürler.
.mdb dosyasının hangi programda açılmasını istiyorsunuz ?
VB6 ile yazmayalı uzun zaman oldu, ama aşağıdakileri bir deneyin isterseniz, herhangi bir hata olursa bakarız tekrar.
1) Eğer hangi programla açacağınızı biliyorsanız:
Dim program as string
Dim dosya as string
program = "C:\Program Files\Microsoft Office\Office\Excel.exe" ' Excel ile açılabiliyor mu bilmiyorum, Access vs. de yapabilirsiniz.
dosya = "\\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb" ' dosyamız bu olsun
Shell program & " " & dosya, vbNormalFocus
2) Yok arkadaş, ben hangi programla açacağını bilmiyorum, windowsta çift tıklamışım gibi çalışsın, hangi uygulama ile birlikte açacağını windows bulsun derseniz
Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation _
As String, ByVal lpFile As String, ByVal _
lpParameters As String, ByVal lpDirectory _
As String, ByVal nShowCmd As Long) As Long
Private Sub cmdExcel_Click()
ShellExecute 0&, "Open","\\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb" , vbNullString, vbNullString, 10
End Sub
VB bu tür kullanımlarda bazen saçmalayabiliyor.
En dertsiz kullanım şekli için ;
"m:\data\veri.mdb" gibi bir şekilde tanımlayabilirsiniz.
Bunun için diğer bilgisayarın paylaşım klasörünü windowsta drive map olarak tanıtmanız gerek.
Avantajı dosyanın bulunduğu yer değişse bile M: (Orada kullanmadğınız başka bir sürücü harfi de olur) sürücüsü olarak windowsa gösterdikte her yerden okunmasını sağlarsınız.
program access te yapılmış. ağdaki başka bilgisayarda paylaşımda duruyor. ben o programı kendi bilgisayarıma kısayol yapıyorum. ama kısayol özelliklerine bakıldığında dosyanın yeri görünüyor.
benim istediğim kısayol olayını VB programıyla başlatsın.
VB te ağdaki dosyanın yerini gösterip exe uzantısı yapıp açmak istiyorum.
exe uzantılı olduğunda programın nerede olduğu bilinmez olur.
bu konuda yardımlarınızı bekliyorum. teşekkürler.
Sanırım siz MDB dosyasını EXE ye çevirmek istiyorsunuz.
Bu şekilde çalışan kimi araçlar olsa da bunu sorunsuz başarabilen i görmedim.
Artı olarak birkaç ilave yapayım.
MDB dosyasını direkt olarak EXE yapamazsınız. MDB veri eklendikçe büyüyen bir dosya. EXE dosyası haline görünce bu bir sorun olacaktır.
En mantıklısı Access de yaptığınız formları VB de oluşturup veritabanı olarak access MDB yi göstermeniz olacaktır.
Biraz uğraştırıcı bir konu olacak. Ama en kesin çözüm bu olur.
Tabii demek istediğinizi yanlış anlamadı isem.
Alıntı yapılan: isikyasar - 27 Ekim 2011, 15:50:04
program access te yapılmış. ağdaki başka bilgisayarda paylaşımda duruyor. ben o programı kendi bilgisayarıma kısayol yapıyorum. ama kısayol özelliklerine bakıldığında dosyanın yeri görünüyor.
benim istediğim kısayol olayını VB programıyla başlatsın.
VB te ağdaki dosyanın yerini gösterip exe uzantısı yapıp açmak istiyorum.
exe uzantılı olduğunda programın nerede olduğu bilinmez olur.
bu konuda yardımlarınızı bekliyorum. teşekkürler.
Gönderdiğim kodları denediniz mi ? İşe yaramadı mı ?
Alıntı YapSanırım siz MDB dosyasını EXE ye çevirmek istiyorsunuz.
Bu şekilde çalışan kimi araçlar olsa da bunu sorunsuz başarabilen i görmedim.
Artı olarak birkaç ilave yapayım.
MDB dosyasını direkt olarak EXE yapamazsınız. MDB veri eklendikçe büyüyen bir dosya. EXE dosyası haline görünce bu bir sorun olacaktır.
En mantıklısı Access de yaptığınız formları VB de oluşturup veritabanı olarak access MDB yi göstermeniz olacaktır.
Biraz uğraştırıcı bir konu olacak. Ama en kesin çözüm bu olur.
Tabii demek istediğinizi yanlış anlamadı isem.
Ağdaki dosyanın kısayolunu masaüstüne koyunca, özellikler kısmından dosyanın nerede olduğu gözüküyormuş, anladığım kadarıyla dosyanın yerinin nerede olduğu gözükmesin istiyor. Bunun için de aynı dosyayı, exe çalıştırarak açmak istiyor. (Tabi yanlış anlamadıysam :) )
Private Sub Command1_Click()
dosya = "\\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb" ( bu alana ne yazılması gerekiyor. bu sadece örnek) End Sub
1 adet buton ekledim. Butona basıldığında adresteki mdb uzantılı access programını başlatsın istiyorum.
Merhaba.
Sanırım istediğiniz tam olarak şu şekilde bir kod olacak.
Private Sub Command1_Click()
Shell ("C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE \\192.168.1.1\dosyayolu\dosya.mdb"), vbNormalFocus
End Sub
Fakat bu yöntem dosya yolunu gizlemiyor.
Çalışan Access dosyasının özelliklerine bakılarak kolaylıkla dosya yolu öğrenilebilir.
Private Sub Command1_Click()
Shell ("C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE \\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb"), vbNormalFocus
End Sub
bu şekilde yaptığımda acces başlangıcı hata veriyor.
eksik bişey daha var sanırım.
Access hatasına kadar geldi isek Access açılıyor ama dosya yüklemede hata veriyor sanırım.
Aynı bilgisayardan el ile \\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb dosyasına ulaşabiliyor musunuz sorunsuz?
okuma yazma izin hakları ile alakalı bir durum olabilir.
\\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb
ÇALIŞTIR a yazdığımda sorunsuz bir şekilde açıyor. Zaten ağdan BirimFaaliyet.mdb yi bulduğumda kendi bilgisayarıma kısayol yaptığımda sorunsuz çalışıyor.
Kısayol özelliklerinde hedef olarak bu şekilde yazıyor \\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb
Sizin bilgisayarınızdaki Access farklı yerde olabilir.
iki ayrı sürüm kuruldu ise de bu tür bir hata alabilirsiniz.
Onu da bir kontrol edin Program files içerisinde tam olarak hangi dizinde diye.
program files içindeki konum doğru. ama yinede olmuyor.
ÇALIŞTIR'a bunu yazıyorum açılıyor sorunsuz bir şekilde \\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb
bu şekilde neden olmuyor..
Private Sub Command1_Click()
Shell ("C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE \\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb"), vbNormalFocus
End Sub
Tam olarak verilen hatanın kodunu ekran görüntüsünü vs. paylaşabilir misiniz?
(//) resin ekleyemiyorum. nasıl ekleniyor yardımcı olun lütfen
http://imgur.com/
Computer'a tıklayıp yüklemek istediğiniz resmi seçin. Yükleme bittikten sonra foruma koyabileceğiniz adresleri görebilirsiniz.
ÇALIŞTIR'a bunu yazıyorum açılıyor sorunsuz bir şekilde \\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb
bu şekilde neden olmuyor..
Private Sub Command1_Click()
Shell ("C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE \\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb"), vbNormalFocus
End Sub
Bu şekilde kullanırsanız, vb boşluk karakterinden sonrasını ayrı parametre olarak algılayabiliyor. Yani aslında access ile \\10.1.9.10\veteriner\birim dosyasını açmak istiyor. faaliyet ayrı parametre, data\arayuz\birimfaaliyet.mdb de ayrı bir parametre zannediyor.
bir de şunu deneyin:
Shell (""" & "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE " & """ & " " & """ & "\\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb" & """)
mdb dosyasi'nin hangi Access versiyonu ile hazirlandigina bakmak lazim bu önemli. microsoft access ilgili versiyon kurulu degilse "access runtime" kurarak da onu yalnizca kullanim amacli calistirmak mumkün. Eger ms access kurulu ise kaynak koduna erismeniz mumkun degisiklik yapmak mumkun. Access kendi icerisinde VBA denen inline visual basic ile programlanabilir (versiyona göre degisik kod gerekir) windows api ile ileri fonksiyonlara erisebilirsiniz bu konuda bir cok örnek mdb dosyalari mevcut kitaplar mevcut. bu yazanlar her versiyonu kafadan kafasina göre dusunmeden degistirdigi icin millet illallah demis durumda. Bunun disinda bir cok programlama dili ile kendi programinizi yaparak, MDB dosyasini yalnizca veri kaynagi olarak geri planda kullanabilirsiniz. Resimleri iceriye degil disariya kaydetmek tercih ediliyor. Zira sizin her tasidiginiz resim onlarca farkli formattan olusacagindan ve access resim kontrolu sizin clipboard'dan yapistirdiginiz bazi desteklenmeyen resim formatlari yuzunden bozulur mdb'ye erisemezsiniz. Dolayisiyla bu formatlari tespit edip disariya yani diske resim olarak kaydetmek evladir. Mesela delphi ile ADO cok az miktarda kod yazarak SQL ile bunu yapmaniza imkan verir. eger hersey ucretsiz olsun derseniz PHP kullanin boylece internet browser uzerinden erisilebilir olur. MDB formatini baska veri bankasi formatina da cevirebilirsiniz (migration). Bu durumda ucretsiz ve ondan cok daha nitelikli veri bankalarinin oldugu da devreye girer. Kolay gelsin saygilar.
Shell (""" & "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE " & """ & " " & """ & "\\10.1.9.10\Veteriner\birim faaliyet data\Arayüz\BirimFaaliyet.mdb" & """)
bunu vb kabul etmiyor. sanırım biyerinde yanlış karakter var.