Çalıştığım yerde bir data kayıt cihazına bağlanıyorum ve Access formu üzerindeki webbrowser ile data kayıt cihazının dakika başı görüntülenmesini sağlıyorum. Bu görüntüleme işini;
sub form load
WebBrowser8.Navigate URL:="http://172.17.72.20/pens.asp?UserId=0&Language=0&Device=eZtrend%20QXe"
end sub
sub form timer()
If Second(Time()) = 0 Then
WebBrowser8.Refresh
End If
end sub
kodları ile yapıyorum. Programı çalıştırdığımda önce sub form load çalışıyor ve data kayıt cihazını görüntülüyor. Form timer ile her dakika başı değişen değerleri görmek için webbrowser.refresh yaptırılarak değişen değerler görülebiliniyor. İlerleyen saat veya gün içerisinde ekte resmini gönderdğim uyarıyı alıyorum. Bu uyarı gelince program duruyor ve refresh çalışmaz oluyor. Ne zaman ki biri farkederse yeniden dene derse o zaman çalışmaya devam ediyor. Burada bu uyarıyı getirmemek için makro kısmındaki uyarı makrosunu (uyarı hayır yaparak) çalıştırmama rağmen bu uyarı hala geliyor ve geçenin bir yarısında program bu tür uyarı sebebiyle durmuş oluyor. Bu tür browserla ilgili uyarıların gelmemesi için ne tür bir kod veya makro çalıştırmam gerekir.
Uyarı gelmesini nasıl engelleriz.
Uyarıları kapatmak için accessin makro bölümündeki uyarıları kapatma makrosunu aşağıdaki gibi yazıyorum. Uyarı gelmeye devam ediyor.
sub form timer()
stDocName = "uyari"
DoCmd.RunMacro stDocName
If Second(Time()) = 0 Then
WebBrowser8.Refresh
End If
end sub
Uyarı gelmemesi için
DoCmd.SetWarnings (False) kodunuda kullandım yine uyarı geliyor. Ne yapılmalı?
sub form timer()
stDocName = "uyari"
DoCmd.RunMacro stDocName
If Second(Time()) = 0 Then
WebBrowser8.Refresh
End If
end sub
Uyarı gelmemesi için
DoCmd.SetWarnings (False) kodunuda kullandım yine uyarı geliyor. Ne yapılmalı?
Bu uyarının Access ile bir ilgisi yok ki. Uyarıyı veren internet explorer. Siz onun uyarı vermesini engelleyin. Access tarafında yapacak işiniz kalmamış. IE'nin bir satın alma sırasına diye örnek verdiği şey, sayfanın tazelenme kodları gelince diyelim kredi kartı bilgileri gönderdiniz ve para çekildi, tekrar para çekilebilir anlamında bir uyarıdır. Gerekli bir uyarıdır. Access içinden IE frame olarak çalışıyor, bu nedenle Access ile bir ilgisi kalmamış durumun. Belki access'te bu frame görünmesin diye bu pencere görüntülendiği anda "yeniden dene"ye basan bir yöntem kullanabilirsiniz. Bu durumda da çok kısa bir yansıma görülecektir ekranda. Kullandığınız kodları bilmediğim için, Access içinden çalıştırılan IE penceresine nasıl tıklarsınız konusunda elinizdeki kodlarda mutlaka çözüm vardır. Ya çalışmayı paylaşın ya da siz oturup böyle bir "eğer falan pencere gelirse şu düğmeye tıkla" kodu yazmaya çalışın.
İnadına, ille de Accesstr.net...
Belirli bir sürede Access formunu açın ve hafızayı vs. temizleyin. Belki javascript değişkenlerinden birisinde hafıza aşımı vs. oluyordur IE de problem oluyordur.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Sayın Demiral ve alpeki99;
Söylediklerinizin ışığında kesin olarak bu hata program hatası değil, IExplorer uyarısı. Bunun içinde bu uyarı geldiğinde şunu yap dedirtecek kadar kod bilgim yok. Çalışmayı göndersem yerel ip ile bağlanma olduğu için program çalışamaz. Birde hata hemen çıkmadığı için (1 kaç gün izlemek gerekiyor) tespiti kolay bir durum olamayacak. Ben aynı programı bir başka yerdeki bilgisayarda da kullanıyorum. Orada Win7 var. Hata olan yerde winXP var. Probleme WinXP de sebep olabilir mi?
Söylediklerinizin ışığında kesin olarak bu hata program hatası değil, IExplorer uyarısı. Bunun içinde bu uyarı geldiğinde şunu yap dedirtecek kadar kod bilgim yok. Çalışmayı göndersem yerel ip ile bağlanma olduğu için program çalışamaz. Birde hata hemen çıkmadığı için (1 kaç gün izlemek gerekiyor) tespiti kolay bir durum olamayacak. Ben aynı programı bir başka yerdeki bilgisayarda da kullanıyorum. Orada Win7 var. Hata olan yerde winXP var. Probleme WinXP de sebep olabilir mi?
Dediğim tekniği deneyebilirsiniz en azından. Her 12 saatte bir kere bilgileri görüntülediğiniz formu kapatıp yeniden açtırın bir işe yarayabilir. Dediğiniz gibi bizim çok fazla kontrol edebilme imkanımız olmayacak ancak en azından kodları yazdığınız her pencerede OnError Goto komutları ile hata olduğu zaman bunları not defterine kaydettirip sonuçları inceleyebilirsiniz.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Konuyu Okuyanlar: 1 Ziyaretçi