Bu aksiyon, başka bir projeden veya aynı projeden başka bir form açılması istendiğinde kullanılır. Bu form diğer formlarla bağlantılıdır. Forma eklenen List isimli form aracında kayda çift tıklanarak kaydın detay alanını açan işlem türüdür.
Özellik Panelinde Open Form- Detail Aksiyonu
Özellikler
Condition:Yeni formun nasıl açılacağını belirtir.
In new window: Yeni pencerede açılır
Not: Bu aksiyonun sağlıklı çalışması için koşul olarak In New Window seçeneği seçilmelidir.
Description: Aksiyonun açıklaması yazılır. Bu açıklama geliştiriciye referans vermek amacıyla kullanılır.
Form Title: Açılacak olan forma eklenen başlık.
Form Width: Açılacak olan formun enini belirler.
Form Height: Açılacak olan formun boyunu belirler.
Module: Açılacak formun projesi seçilir. Eğer aynı proje içerisinde farklı bir form sayfasına geçiş yapılacaksa bu alan boş bırakılabilir.
Form: Açılacak form sayfası seçilir.
Linked List: Listedeki ayrıntıları görüntüler.
ListID Field: Ana formdaki ID bilgisi, açılacak listenin ID bilgisi ile eşleşir.
ListType Field: Ana formdaki form tipi bilgisi, açılacak listenin form tipi bilgisi ile eşleşir.
Closing Action: Açılan form kapatıldığında, yapılacak işlem için formdaki eylem seçilir.
Fullscreen: Bağlantılı formun tam ekran olarak açılıp açılmayacağını seçin.
Run Condition: Bu alana girilen sorgudaki değer '0' ise ilgili işlem çalışmayacaktır.
Request Confirmation: Eylemi çalıştırmadan önce onay isteyip istemediğinizi seçin. Onay İste aktif ise Onay Mesajı özelliği açılır ve onay istenirken görüntülenecek mesaj yazılır.
Kullanılan Örnek 1
Örneğimizde kullanmak adına iki adet form oluşturalım. İlk formumuza kayıtlarımızı gireceğimiz form araçlarını ekleyeceğiz. Öncelikle verilerimizi kaydedeceğimiz bir form oluşturalım. Bu formda üç adet Text Box, üç adet Figures Box alanı olacaktır. Bu alanlar Aşağıdaki görselde olduğu gibi isimlendirelim.
Öncelikle kayıtları yükleyeceğimiz formumuzu aşağıdaki gibi oluşturalım ve kayıtlarımızı girelim.
İkinci form için bir liste aracı ekleyelim ve ilk formumuza ait tablo sorgusunu listeye ekleyelim. Ardından liste aracına çift tıklandığında aksiyonu eklenir. Burada önemli olan nokta, listedeki SQL Query'nin UserTableID alanıdır. İşlemin List-ID Alanı için sorguya UserTableID yazarsanız yeni ekranda bu UserTableID ile ilgili tüm bilgileri gösterir. Bu nedenle, UserTableID alanı sorguda mutlaka olmalıdır. Listeye eklediğimiz aksiyonun son hali aşağıdaki gibi olacaktır,
Listeye eklenen aksiyonun Studio görüntüsü
İkinci veri için listeye çift tıklandığında kaydın detayını gösteren liste için bağlanmış diğer form sayfası açılacaktır.
Client ekranındaki formun liste durumu
Kullanılan Örnek 2
Bu örneğimizde de birden fazla formun raporladığı durumu ele alacağız. Bu durumlarda ilgili kaydın hangi formda olduğunu bilmek için aksiyon ve liste sorgusunda UserTableID ve FormTypeID bulunmak zorundadır.
Örneğimizde listelenmesini istediğimiz verilerin olacağı bir liste aracı ve tıklayarak veri yükleyeceğimiz iki buton ekleyelim. Butonlara tıklandığında listede istenilen bilgiler gelecek ve herhangi bir kayda tıklandığında kaydın detayı açılacaktır. Bu kayıt farklı formlardan geldiği için hangi forma ait olduğunu tespit etmek amacıyla aksiyonun içeriğinde UserTableID ve FormTypeID muhakkak olmalıdır.
Ardından Products ve Customer bilgilerimizin bulunduğu iki form oluşturalım. Ardından rapor formumuza eklediğimiz iki formumuza da Update aksiyonu ile bu formları ekleyelim.
Customer tablomuzu göstereceğimiz butona aşağıdaki gibi aksiyonumuzu ekleyelim.
Type of action When clicked
Operation Update Value
Value Area GridListe_1
SQL Query
SELECT
OFD_CUSTOMER_FORM.UserTableID, FormTypeID,
OFD_CUSTOMER_FORM.Customer_ID AS [Customer ID],
OFD_CUSTOMER_FORM.Customer_Name AS [Customer Name]
FROM dbo.OFD_CUSTOMER_FORM WITH (NOLOCK)
Aynı şekilde Products tablomuzu göstereceğimiz butona aşağıdaki gibi aksiyonumuzu ekleyelim.
Type of action When clicked
Operation Update Value
Value Area GridListe_1
SQL Query
SELECT
OFD_PRODUCTS_FORM.UserTableID, FormTypeID,
OFD_PRODUCTS_FORM.Product_ID AS [Product ID],
OFD_PRODUCTS_FORM.Product_Name AS [Product Name]
FROM dbo.OFD_PRODUCTS_FORM WITH (NOLOCK)
Kaydedip Run butonu ile Client ekranına gidelim ve herhangi bir butonumuza basıp verilerin gelip gelmediğini kontrol edelim. Listemiz aşağıdaki gibi görünecektir.
Açılan listedeki herhangi bir kayda çift tıkladığımızda aşağıdaki gibi detay ekranımız açılacaktır.