Skip to main content

AccessTr.neT


Seçilen Değere Göre Veri Getirme hk

Seçilen Değere Göre Veri Getirme hk

#1
Arkadaşlar merhaba "İzin Formu" formunda adı soyadı alanındaki değeri şeçtiğimde İZİN İSİMLER tablosundaki bağlı olduğu "SİCİL NO" yu nasıl getirebilirim? Yardım ederseniz sevinirim. Teşekkürler şimdiden.
.rar İzin Formu.rar (Dosya Boyutu: 64,29 KB | İndirme Sayısı: 20)
Cevapla
#2
Uygulamanız çok ciddi teknik hatalar içeriyor. En önemli konu bunlar olduğundan sorunuzdan önce buna değineceğim:

1- Tablo isminde Boşluk ve Türkçe Karakter kullanılamaz. Sonrasında başınızı duvara vursanız programı düzeltemezseniz.
2- Alan isimlerinde de Boşluk ve Türkçe Karakter kullanılamaz.
3- Form üzerinde yer alan ADI SOYADI alanındaki isimleri Satır Kaynağı'nda elle yazmışsınız --> "Serkan xxxxx";"Evrim xxxxx";"Mustafa xxxxx";"Şükrü  xxxxx" (Soyisimlerini ben değiştirdim). Listeden Şükrü.... olan kişiyi seçince tabloda bu kişiye ait sicil yok program hata verir. Kod ile bu işi kontrol edebilirsiniz ancak hiç gerek yok. Çözümü aşağıda verdim ayrıca.

1. Personel Ad Soyad Bilgisinin Veritabanından Getirilmesi:
Öncelikle Formda yer alan ADI SOYADI alanındaki Satır Kaynağı'nda ki tüm içeriği silin. Altındaki Satır Kaynağı Türü'nü Tablo/Sorgu yapın. Tekrar Satır Kaynağı'na tıklayın ve sağdaki ... butonundan Sorgu Penceresi'ni açın. İlk önce karşınıza Tabloyu Göster penceresi gelecektir İZİN İSİMLER tablosunu seçin ve Ekle ile Kapat butonuna sıra ile basın.

Küçük bir kutu içinde İZİN İSİMLER tablonuzdaki alanları göreceksiniz. AD SOYAD alanına çift tıklayarak alttaki Tasarım alanına ekleyin. İZİN İSİMLER tablosunu gösteren kutunun yanındaki boş alanda fare ile sağ tıklayın ve Sql Görünümü'nü tıklayın. Tasarım alanındaki AD SOYAD eklemiştik ya işte onun Sql kodu şeklinde yazılışı bu oluyor. SELECT sonrasında DISTINCT yazın ancak bitişik olmayacak öncesi ve sonrasında boşluk olacak:

Visual Basic Code
SELECT DISTINCT [İZİN İSİMLER].[AD SOYAD]
FROM [İZİN İSİMLER];

İster sol üst köşedeki Görünüm butonundan ister Sorgu Oluşturucusu sekmesinin başlığına sağ tıklayarak tekrar Tasarım Görünümü'ne geçiş yapın. Kapat tuşuna basın ve tekrar Form Tasarımı ekranına geri dönüş yapın.

2. Sicil No Denetim Kaynağı'nı Silin

Form Tasarım Görünümü'nde iken SİCİL NO metin kutusunun Denetim Kaynağı'nda yer alanları silin.

3. Adı Soyadı Denetimine Kod Yazın

Form Tasarım Görünümü'nde iken ADI SOYADI denetiminin Güncelleştirme Sonrası'nda olayının kodu aşağıdaki gibi olmalıdır:

Visual Basic Code
Private Sub ADI_SOYADI_AfterUpdate()

Dim kayitSayisi As String

    kayitSayisi = DCount("*", "[İZİN İSİMLER]", "[AD SOYAD]='" & Me.ADI_SOYADI & "'")
    
    If (kayitSayisi = 1) Then
    
        Me.SİCİL_NO = DLookup("[SİCİL NO]", "[İZİN İSİMLER]", "[AD SOYAD]='" & Me.ADI_SOYADI & "'")
        
    Else
    
        MsgBox "Böyle bir personel bulunamadı, lütfen personel ad ve soyadını kontrol ediniz."
        Me.SİCİL_NO = ""
        
    End If

End Sub
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#3
Şimdi bütün detayları tekrar gözden geçirip düzeltmeleri yapıcam. Çok teşekkür ederim yardımlarınız için. +rep
Cevapla
#4
Ek olarak bişey daha sorsam tek sayfa yazdırma sorunu var şu an onu nası düzeltebilirim?
Cevapla
#5
Yeni sorular için lütfen yeni konu açın. Bu şekilde konu takibi daha iyi olacaktır.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da