Form içerisinde Tab oluşturmak ve bir formun içinde bu forma bağlı başka formlar çalıştırmak için kullanılan form elemanıdır. Bu eleman ile forma bağlı diğer formlar aynı sayfada gösterilebilir. 

blobid0.png, Resim

 

SubForm componenti yalnızca free formda kullanılmaktadır. Responsive formda kullanılamaz. 

 

Araç Kutusundaki Görünümü  Free Formdaki Görünümü  Responsive Formdaki Görünümü 

Resim

 

Resim

 

icons8-cancel-48.png, Resim

 

  

Uyumluluk 

Free Form  Responsive Form  Mobile 

icons8-check-circle-48.png, Resim

icons8-cancel-48.png, Resim

icons8-check-circle-48.png, Resim

  

SubForm aracının özellikleri: 

Resim

 

Type(Alan Türü): Eklenilen form aracının alan türünü gösterir. Burada yer alan değer değiştirilemez. 

Name(Alan İsmi): Veri tabanında oluşacak olan alanın ismi yazılır. 

Info Text(Bilgi Metni): Client tarafında, eleman içine nasıl bir bilgi girileceği yönünde bilgilendirme metni yazılabilir. 

Height/Width (Yükseklik/Genişlik):Form aracının yüksekliğini ve genişliğini düzenler. 

From Left / Top(Soldan/Üstten):Liste Aracının soldan ve üstten mesafesini ayarlar (Bu alan Responsive Formlar'dan kaldırılmıştır) 

Display(Görünür): ‘No’ olduğunda Form aracının Client ekranında görünmemesini sağlar. 

Module:Subformu bağlamak istenilen form hangi modülün içindeyse o modül seçilir. 

Form: Subform aracında gösterilmek istenilen verilerin bulunduğu ilgili form seçilir. 

Subform Mapping: Yukarıda ilgili formu seçtikten sonra mappingin field alanında, seçilen formun verileri  listelenir. Eşleştirilmesi yapılacak (subform aracını eklediğiniz, yani bulunduğunuz formda yer alan) alanlar Value bölümüne atanır burdan seçim yapılarak mapping işlemi tamamlanır. 

Resim

 

 

Subform Örnek: 

1. Alt Form (Detay Formu) Oluşturma 

Öncelikle SubForm bileşeninde kullanılacak alt form hazırlayalım. Bu form, ana forma bağlanacak detay bilgiler içerecektir.Örneğin bir müşteri detayı formu oluşturuyorsak: 

  • Form Adı:  CustomersDetail 
  • Tablo Adı: CustomersDetail 
  • Alanlar:      CustomerCode 

   CustomerName 

   ContactName 

   Department 

   Phone 

   Email 

 

Bu form, ileride ana formdaki müşteri seçimine göre detayları gösterecek olan SubForm içinde kullanılacaktır. 

Resim

 

Formun Run tuşu ile kaydettikten sonra Client ekranına giderek bir kaç veri girişi yapıp kayıt edelim. 

Resim

 

Resim

 

2. Ana Form Oluşturma 

Şimdi, alt formu içinde barındıracak olan ana formu oluşturalım. Tekrar studyoya gidelim,CustomerCode ve CustomerName adında açılır kutulara sahip bir ana form oluşturalım. 

  • Form Adı: Customers 
  • Tablo Adı: Customers 
  • Alanlar:CustomerCode (dropdownbox) 

                    CustomerName (dropdownbox) 

Açılır kutuların içine aşağıdaki  gibi müşteri kodlarının ve müşteri isimlerinin listeleneceği  sorguları yazalım. 

Resim

Customer Code Açılır Kutusu SQL Sorgusu: 

SELECT 
CustomerCode,
CustomerCode
FROM CustomersDetail WITH (NOLOCK)
 

Ardından ana formumuzun içerisinde görünmesi istenilen alt form için SubForm componentimizi ekleyelim ve Module/Form alanlarını seçelim. Karşımıza çıkan Mapping listesinden ana form ve alt form alanları arasında istediğimiz alanları eşleştirelim. Bu eşleşme ana formumuzdaki alan değiştiği zaman otomatik olarak alt formda eşleştiği alanı güncellenmesini sağlayacaktır.   

 

3. SubForm Ayarları 

SubForm bileşeni seçildikten sonra: 

  • Module / Form: SubForm /CustomersDetail olarak seçilir. 
  • Mapping: 

(Mapping Tabloları: CustomersDetail – Customers)
CustomerCode → CustomerCode 

CustomerName → CustomerName 

Resim

 

Bu eşleştirme sayesinde, ana formdaki CustomerCode ve CustomerName alanına girilen bilgiye göre alt formda eşleşen kayıtlar otomatik olarak yüklenecektir. 

Resim

 

Formu kaydedelim ve run tuşu ile Client Ekranına gidelim. Yaptığımız forma ait Client ekran görüntüsü aşağıdaki gibidir.CustomerCode ve CustomerName seçildiğinde bu alanlar subformda mappli olduğu için Customer Information alanına otomatik dolacaktır. 

Resim

 

Resim