Sayın @
accessman, şöyle bir soru sorayım. Eklediğiniz kod içerisindeki
On Error GoTo Err_hata
rq_Exit:
Exit_kod:
Err_hata:
şeklindeki kodlar, ne için yazılmış bilginiz veya fikriniz var mı acaba?
Alttaki gibi yaparsanız hata durumundada kapanır.
Zaten gereksiz hata kodlamaları eklenmiş fazladan.
Daha önce açtığınız bir konuda hata olayını açıklamıştım kısa yol nasıl oşur diye.
Exit_kod:
writeExcel = result
xlApp.Quit
Exit Function
(11/03/2020, 17:22)ozanakkaya yazdı: [ -> ]Sayın @accessman, şöyle bir soru sorayım. Eklediğiniz kod içerisindeki
On Error GoTo Err_hata
rq_Exit:
Exit_kod:
Err_hata:
şeklindeki kodlar, ne için yazılmış bilginiz veya fikriniz var mı acaba?
ben el yordamıyla karanlıkta keşfetmeye çalışıyorum
siz ne kadar ışık tutarsanız o kadar daha fazla öğrenebilliyorum
bir kısmınıda zamana yenik düşerek unutuyorum
ama ferazın dediği gibi fazladan satırlar var galiba mesela
rq_exit neden konmuş anlamış değilim bilmeden bozmayayım diye kurcalayamıyorum
bu fonsiyon işini bir kafamda oturtabilsem heryerde copy paste yapıp kullanacağım
Siz bu kod ile ne yapmayı amaçlıyorsunuz.Ona göre çözüm bulabiliriz.
rq_Exit: altındaki kodları hepsini Exit_kod altına taşısam daha mı mantıklı olur
yapmak istediğim şu
accessden kapalı
Excel sayfasını doldurup çıktı almak
ama dosya bulunamasa veya açılamasa veya doldurulamasa veya kapatılamasa vs.
bütün durumlarda programı kilitlemeden exceli de kapatarak uygun bir mesajla hatayı bildirmesi
Şöyle sorayım
Access kod satırlarında ilerler iken exit function cümlesine gelene kadar eğer goto ile by pass yapılmadı ise her satırı okuyup çalıştırıyor galiba
Hata olduğunda err_hata ya gidiyor
Resume ile devam edeceği yere gidiyor değil mi
Bu eklediğim kodda rq_exit neden ayrılmış
Exit kodun içinde neden değil
Telefondan alttaki gibi düzenleyebildim.
Private Function writeExcel() As Boolean
On Error GoTo Err_hata
writeExcel = False
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim xlWS As Excel.Worksheet
Dim acRng As Variant
Dim xlRow As Integer
Dim xlColumn As Integer
Set xlApp = New Excel.Application
Set xlWB = xlApp.Workbooks.Open(targetFullName)
Set xlWS = xlWB.Worksheets("Sayfa2")
xlWS.Range("G17").Formula = Nz(aktif_isim, ".")
xlWS.Range("R17").Formula = Nz(aktif_sicil, ".")
xlWS.Range("G18").Formula = Nz(aktif_tc, ".")
Set xlWS = Nothing
xlWB.Close acSaveYes
Set xlWB = Nothing
xlApp.Quit
Set xlApp = Nothing
writeExcel = true
Exit Function
Err_hata:
Set xlWS = Nothing
xlWB.Close False
Set xlWB = Nothing
writeExcel = False
xlApp.Quit
Set xlApp = Nothing
End Function