Excelden Veri Alma -Excel Sayfasını İçe Aktarma

1 2 3 4 5 6 7
21/02/2020, 20:52

berduş

Nesne açık mı kodu:
Function IsObjectOpen(strName As String, Optional intObjectType As Integer = acTable) As Boolean
' intObjectType can be:
' acTable (value 0) Default
' acQuery (value 1)
' acForm (value 2)
' acReport (value 3)
' acMacro (value 4)
' acModule (value 5)
#39; Returns True if strName is open, False otherwise.
On Error Resume Next
    IsObjectOpen = (SysCmd(acSysCmdGetObjectState, intObjectType, strName) <> 0)
     
    If Err <> 0 Then
        IsObjectOpen = False
    End If
End Function
21/02/2020, 22:55

feraz

Sağolunuz çok makmule geçti.

Fonksiyoun çağırmasınıda ben ekleyeyim belki yapamayan olur.

MsgBox IsObjectOpen("Tablo1")
22/02/2020, 00:31

berduş

Teşekkürler @feraz bey ama hatırlatmakta fayda var sadece tablo değil form, sorgu,rapor, makro ve modul de kontrol edilebilir bu fonksiyonla.
22/02/2020, 01:28

feraz

(22/02/2020, 00:31)berduş yazdı: Teşekkürler @feraz bey ama hatırlatmakta fayda var sadece tablo değil form, sorgu,rapor, makro ve modul de kontrol edilebilir bu fonksiyonla.
Evet üstadım zaten adam yazmışta fonsiyonda dediklerinizi.

Aslında alttaki yer kullanışsız gibi geldi bana optional den dolayı.
Çünkü form vs... için yaparkende ayrı bir function yazmak gerek galiba.

Optional intObjectType As Integer = acTable

Yukarıdaki yer yerine en alttaki gibi olsaydı ve functionu çağırırken iki parametreli olarak çağırmak sanki daha kullanışlı olurdu sanki.

MsgBox IsObjectOpen("Tablo1",2)'2 demek form için
Yani birden fazla functionla yapmak yerine tek functionla bu şekilde olabilirdi sanki.Yada ben bilmiyorum optional olayını.
Tabi kırmızı mesajboxlu yazdığım yeri kafadan yazdım olur tahminiyle.
Sayenizde çok şeyler öğreniyoruz Access ustam.
Konuyla alakası yok ama @accesman hocamızıda özledik sorularını konuda açmıyor fazla İşin açığı bu foruma ikiniz sayenizde alıştım gidemiyorumda şimdi

intObjectType As Integer
22/02/2020, 01:35

berduş

optional siz değer girmeseniz de kendisi varsayılan olarak belli bir değeri giriyor demektir. Yanı fonksiyon aslında tam da sizin istediğiniz gibi çalışıyor. Değer girmezseniz tabloyu kontrol eder ama belli bir değer girerseniz de ona göre form, rapor vs vs onu kontrol ediyor.
MsgBox IsObjectOpen("Tablo1",3) yazarsanız raporu kontrol eder.
Mesajınızı yanlış yorumladıysam uykusuzluğuma verin)
22/02/2020, 01:38

feraz

MsgBox IsObjectOpen("Tablo1",3)

Evet hocam optionali öyle biliyordum.Ve yukardaki gibi bende denemiştim hata gibi bişey olmuştu sanırım fazla uğraşamamıştım daha doğrusu.Diz diyorsanız doğrudur
1 2 3 4 5 6 7