Access SQL
[FORM] Birinicil Anahtarla Ilişkili Formlara Veri Girişi - Yazdırılabilir Sürüm

+- Access SQL (https://www.access-sql.com)
+-- Forum: ACCESS SORULARI VE ÖRNEK UYGULAMALARI (https://www.access-sql.com/Forum-ACCESS-SORULARI-VE-ORNEK-UYGULAMALARI)
+--- Forum: ACCESS SORULARI (https://www.access-sql.com/Forum-ACCESS-SORULARI)
+--- Konu: [FORM] Birinicil Anahtarla Ilişkili Formlara Veri Girişi (/Konu-Birinicil-Anahtarla-Iliskili-Formlara-Veri-Girisi)



Birinicil anahtarla ilişkili formlara veri girişi - ctnerdal - 06-12-2020

Selam arkadaşlar;
Aslında bugüne kadar sürekli yaşadığım ama farklı yöntemlerle çözümlediğim bir sorun için deneyimlerinize başvurmak istiyorum.

Veritabanlarımız içinde yer alan tablolar birincil anahtarlarla birbiriyle ilişkili. Ancak bu tablolara veri girişini yaptığımız formlarla çalıştığımda belirli bir düzen içinde formları çağırmam gerektiğinde sorun yaşıyorum.

Şu PROJELER üzerinde çalışıyorum. Ana tablo PROJE TEKLİFLERİ ve bu ana tablo ile ilişkilendirdiğim PROJE TEDBİRLERİ, PROJE GİRDİLERİ, PROJE ÇIKTILARI gibi ilişkili tablolarım var. Hepsini benzersiz PROJE NUMARASI alanı ile ilişkilendirdim.

Ana form PROJE TEKLİFLERİNİ verilerini girdikten sonra sıra diğer formlara veri girişi için çağırdığımda PROJE TEKLİFLERİ formunda ki PROJE NUMARASI ile gelmesini istiyorum.

Bugüne kadar alt form, sekme denetimi veya biraz zahmetli olmakla birlikte sorgu tabanlı yeni formda önce üstte İLİ ve PROJE NUMARASI açılan kutuları ile üzerinde çalışacağım kaydı bulup, basit VBA kodu ile istedğim alanları görüntülüyorum. Tabi bu yöntemde de sorgu kullanmak zorunda olduğum için veri düzeltme veya değiştirme yapamıyordum.

Emin ki çözümü oldukça kolaydır. Ama bu çözüm bugüne kadar karşıma çıkmadı. Saygılar.


RE: Birinicil anahtarla ilişkili formlara veri girişi - dsezgin - 06-12-2020

DoCmd.OpenForm "FormAdi", acNormal, , "İLİ=" & Forms("[PROJE TEKLİFLERİ]).FormUzerindeILIYazanVeriKutuAdi " And [PROJE NUMARASI='" & Forms("[PROJE TEKLİFLERİ]).ProjeNumarasi & "'") , acFormEdit, acWindowNormal

ile form acilabilir.


RE: Birinicil Anahtarla Ilişkili Formlara Veri Girişi - onur_can - 06-12-2020

Ms Access'te ilişkili tablolara veri girmenin en harika yolu alt formları kullanmaktır. Eğer sizin 1 ana tablonuz var ve diğerleri bu tabloyla ilişkili ise en mantıklısı alt formları kullanmaktır. Alt formlara veri girişlerini yaptığımızda otomatik olarak ana tabloyla ilişkilendirilir ve kayıt altına alınır.


RE: Birinicil Anahtarla Ilişkili Formlara Veri Girişi - ctnerdal - 07-12-2020

Teşekkür ederim üstadım. Aynen dediğiniz gibi en bilindik ve garantili yöntemi kullandım. İki basit sorunum oldu ve çözemedim. Birincisi birbiriyle illişkili liste kutularını SQL de düzenledim. Kod sayfasında REQUERY kullanarak güncelleştirdim. Ancak alanda veri olmasına rağmen FORM da gözükmüyor. frmprojeteklifleri formunda göreceksinizi.
İkincisi çoklu seçim liste kutusu için sorguda parametreleri tanımladım ancak formu yenilediğimde VT bana yine parametre değerlerini soruyor. Tamam butonuna tıklayınca istediğim değerler geliyor ancak ileti kutusu her seferinde önüme geliyor.
Hazırladığım ancak tasarım konusunda çok eksikleri olan VT yüklüyorum. İnceleyip yardımcı olursanız memnun olurum.
Selamlar
 saygılar.


RE: Birinicil Anahtarla Ilişkili Formlara Veri Girişi - onur_can - 07-12-2020

formda 2 tane ilçe alanı var, Neden?
İli seçtiğimde en alttaki ilçe sorgulanıyor ve ilçeleri getiriyor. Bol bol tasarım hatası mevcut. Ben sizin bahsettiğiniz ilçe durumunu düzelttim. Parametre kullanmanıza gerek yok onları kaldırdım. Parametreyi zaten satır kaynağındaki sorgudan alıyor.
Düzenlenmiş VT ekte, inceleyebilirsiniz.


RE: Birinicil Anahtarla Ilişkili Formlara Veri Girişi - ctnerdal - 08-12-2020

Elinize sağlık üstadım teşekkür ederim. VT ilk tasarlarken bir projenin bir ilçede uygulanacağı düşüncesiyle hareket ettim. Ama sonra bir projenin birden fazla ilçede uygulanacağını düşününce çoklu seçim liste kutusu eklemeye karar verdim. Ama ilçe kodlarını arka planda çalıştırıp, liste kutusunda ilçe isimlerini getirmeyi beceremedim. Kendimce bir çözüm geliştirdim anlayacağınız.