[TABLO] Üçüncü tabloda veri tekrarını engelleme
#1
Yıllık olarak tekrarlanan fuarlara katılan firmaların çapraz olarak takibini yapabileceğim bir access veritabanı oluşturmaya çalışıyorum.

Firmalar tablosu bilgileri firma_kodu, firma_adi, adres, telefon
Fuarlar tablosu bilgileri fuar_kodu, fuar_adi, yili, sektoru, organizatoru

bir firma bir yıl içinde farklı fuarlara katılabilir,
bir fuara her yıl farkli firmalar katilabilir,

detay olarak farklı firmalar aynı isimlerde varolabilir ve
bir fuari her yil adını değiştirmeden farklı bir organizator organize edebilir.
bu nedenle birincil anahtar olarak firma_kodu ve fuar_kodu oluşturdum.

her iki tabloda yeralan bilgileri KATALOG KAYDI adlı üçüncü bir tablo oluşturarak bu tabloyu fuar KATALOG GİRİŞİ formu ile girişini yapmaya çalıştım.
ANCAK, firma_adi ve fuar_adi veri alanı olan bu tabloda firmayı formdan seçince fuarı tekrar kaydetmesini engellemeyi beceremedim, aynı fuarı tekrar tekrar giriyorum.

yaptığım dosyayı mesaja ekliyorum yardımınızı rica ederim.


Eklenti Dosyaları
.rar   katalog.rar (Boyut: 81,09 KB / İndirilme: 103)



  Alıntı
Bu mesajı beğenenler:
#2
Merhaba..

Kaydı yaptığınız formunuzda bulunan fuaradı kutunuzun özellikler / veri / olay/ güncelleştirme öncesinde kısmına imleci yerleştirin ve keanrda çıkan üç noktalı düğmeye tıklayın.. Olay yoramını seçtiğinizde açılan sayfada imlecin oturduğu yere bu prosedürü yapıştırın..:

Visual Basic
  1. If DCount("*", "KATALOG_KAYDI", "katilimci_firma_adi=" & [katilimci_firma_adi] _
  2. & " and fuar_adi= " & [fuar_adi]) > 0 Then
  3. MsgBox "kayıt tekrarı.."
  4. Cancel = -1
  5. Undo
  6. End If



İki kritere göre mükerrer kaydı engellemiş olursunuz..



  Alıntı
Bu mesajı beğenenler:
#3
çok teşekkür ederim,

buradan ayrıca (eğer doğru öğrendiysem) gelişmiş kontrolleri
tablo üzerinden değil
form üzerinden kontrol ediyoruz diyebilir miyiz?

tekrar teşekkürler.



  Alıntı
Bu mesajı beğenenler:
#4
Taruz hocam konu açılmışken sormak istedim diyelim 5 tablom var tablo1,tablo2.tablo3 .... bunlarda mükerrer kaydı engellemek için nasıl bir formül uygulamamız lazım sırası ile bu 5 tabloyu tarayacak kodumuz varmıdır. yoksa DCount ile hepsini tek tek tanıtıp mı taratmamız lazım



  Alıntı
Bu mesajı beğenenler:
#5
(27-12-2012, 13:45)officeonline demiş ki: çok teşekkür ederim,

buradan ayrıca (eğer doğru öğrendiysem) gelişmiş kontrolleri
tablo üzerinden değil
form üzerinden kontrol ediyoruz diyebilir miyiz?

tekrar teşekkürler.

Evet; eğer krtierinizi birden fazla ise tablodan kontrol etme şansımız yok.. 2010 sürümünde tablo makrolarıyla yapılabilir ama gerekde yok bece.. Wink



(27-12-2012, 13:47)88888888 demiş ki: Taruz hocam konu açılmışken sormak istedim diyelim 5 tablom var tablo1,tablo2.tablo3 .... bunlarda mükerrer kaydı engellemek için nasıl bir formül uygulamamız lazım sırası ile bu 5 tabloyu tarayacak kodumuz varmıdır. yoksa DCount ile hepsini tek tek tanıtıp mı taratmamız lazım

Bunu yapacak standar bir fonksiyon yok.. İşinizi kolaylaştırmak için şu yapılabilir; modül içerisine bir fonksiyon yazılır ve tabloyla alan adları değişken olarak kullanılarak aynı yapıyla mükerrer kaydı kontrol ettirebilirsiniz..

Fonksiyon basitçe şöyle olmalı..:
Visual Basic
  1. Public function mukerrer(tablo as string,alan as string,krt as string)
  2. If Dcount("*","" & tablo & "", "" & alan & " = '" & krt & "'") >0 then _
  3. Msgbox "mükerer kayıt"
  4. End function



Her hangi bir olayda da bu şekilde kullanılabilir..:

Visual Basic
  1. Call mukerrer("tabloadi","alanadı",me.kriterinbulunduğudenetimadı)



Geliştirebilir tabi.. Bu biraz çala kalem oldu.. Wink



  Alıntı
Bu mesajı beğenenler:
#6
Sorgu ölçüt penceresini liste menü şeklinde seçim yapacağımız bir komut var mıdır?
Ben In (SELECT [firma_listesi].[firma_kodu], [firma_listesi].[firma_adi] FROM firma_listesi) gibi bişi yazdım ama oluşturduğum KATALOG_KAYDI tablosundan firma adına göre ilgili fuar listesi dökümünü alamıyorum. Nah


Eklenti Dosyaları
.rar   katalog.rar (Boyut: 90,59 KB / İndirilme: 75)



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [TABLO] Iki Tabloda Tarih Alanlarını ,tek Alanda Altalta Getirme Access Ziyaretçisi 9 1.005 24-07-2025, 23:58
Son Mesaj: Access Ziyaretçisi
  [TABLO] Tabloda Köprü Bilgisini Topluca Değiştirebilmek Nasıl Olur? sevincili 1 368 20-03-2025, 01:00
Son Mesaj: dsezgin
  Bağlı Tabloda şarta Göre Renklendirme Satir 2 457 19-12-2024, 15:38
Son Mesaj: Satir
access-sql-9 [SORGU] Tabloda Geçen Iki Alanda Ortak Kelime Var Ise Istenilen Alana Işaret Koymak sevincili 5 625 20-09-2024, 01:09
Son Mesaj: dsezgin
  Tabloda Koşul Kullanmak/combobox TheREDROSE 10 916 19-07-2024, 15:15
Son Mesaj: halily
  Bir Tabloda Bulunan 2 Alanı Birleştirme programmer67 10 1.077 25-06-2024, 11:49
Son Mesaj: halily
  [TABLO] Formu Tabloda Filtreleme soss 2 565 27-03-2024, 20:04
Son Mesaj: soss
  [VBA] Bir Tabloda Alan Türü Uzun Metin Olan Iki Ayrı Alanı Karşılaştırmak abkbek 13 1.657 10-11-2023, 22:26
Son Mesaj: abkbek

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi