GetDbFieldValue Fonksiyonu

Tanım


Belirli bir tablodan, istenen bir alanın değerine ulaşmak için kullanılır. İlgili alana, ancak tablodaki tek bir satırı okuyacak nitelikteki kriterleri vererek ulaşabilirsiniz. Yazılımda tablolar genelde kart, belge ve belgenin satırları (transactional) şeklinde veri tiplerinde oluşmaktadır. Bu durumda bir kart veya belge tipi tablo ya sadece kart kodu veya belge numarası ile ulaşabilirken; satır tipi tablolarda, belge numarasına ek olarak satır numarası veya artikel numarası da söylenerek ulaşılabilir.


Fonksiyon satır tipi (transactional) tablolarda, belge numarasının ile beraber artikel numarası da istemektedir. Aksi halde hata verir. Fakat artikel numarası, yeni veya değişen tablolarda artık kullanılmamaktadır. Yerine satır numarası kullanılmaya başlanmıştır. Dolayısı ile fonksiyon her satır tipi tabloda çalışmaz. Satır tipi tabloları sorgulamak için daha yeni ve yetenekli başka fonksiyonlar kullanılması tavsiye edilir.

Kullanım Şekli


Değişken = Document.GetDbFieldValue(TabloAdı, AlanAdı, EvrakNumarası, ArtikelNo)

Ana Nesne


Document (Doc) nesnesinin elemanıdır. Bir doküman nesnesi ile kullanılmak zorundadır.

Parametreler


Parametre

Açıklama

TabloAdı

Veritabanında saklanan ve içindeki verilerin sorgulanacağı tablonun adı. Bellekte geçiçi olarak oluşturulan rowsetler bu fonksiyonda kullanılamaz.

AlanAdı

Tablodan okunacak alanın adı. Veritabanındaki isim kullanılmalıdır. Veritabanında olmayan alan adı kullanımlarında fonksiyon hata mesajı verir.

EvrakNumarası

Okunacak bilginin, evrak numarası veya kart kodu. Tablo tipine göre ikisinden biri yazılmalıdır. Belgenin veritabanında tek olmasını sağlayan alandır.

ArtikelNo

Okunacak verinin, var ise artikel numarası. Bazı tablolardaki veri satıra göre değişmektedir. Bu tablolar transactional tablolardır. Bu tip tablolardaki veri,  belge ve artikel numarası beraber verilerek okunmaktadır. Mevcut birçok tabloda artık yerine satır numarası kullanılmaya başlanmıştır. Mevcut satır tipi tabloda artikel numarası yok ise çalışmaz.

Geri Dönen Değerler


Okunmak istenen alanın değeri, değişken tipte geri dönülür. Yani nümerik, karakter dizisi vs. herhangi bir tipten geri bilgi dönülebilir.

Hatırlatmalar


Hatalı parametre değerlerinde hata mesajı üretir. Fonksiyon, boş değer geri döner.

Fonksiyon satır tipi tablolarda geçerliliğini yitirmektedir. Yerine başka fonksiyonlar kullanılmalıdır.


Örnek


Sub Makro1()

       KullaniciKodu = Doc.Getd7UserName()

       KullaniciAdi = Doc.GetDbFieldValue("UDEF","AD_SOYAD",KullaniciKodu,"")

       Mesaj = "Kullanıcı Kodu : " & KullaniciKodu

       Mesaj = Mesaj & chr(13) & "Kullanıcı Adı  : " & KullaniciAdi

       Doc.MsgBox Mesaj

End Sub




Yukarıdaki örnekte, aktif program kullanıcısının kodu elde edildikten sonra, GetDBFieldValue fonksiyonu ile kullanıcının ad soyadı elde edilmiştir. UDEF tablosu, satır tipi (transacational) bir tablo olmadığından artikel numarasına ihtiyaç duyulmamıştır.








Paylaşım Makrosu