AccessTr.neT

Tam Versiyon: Dlookup Yardımı Lazım.
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Üç adet tablom var.
1. Tblöğrenci
2.Tblpansiyon
3.Tmptablo

1. tabloda öğrencinin adısoyadı (metin), okulno(sayı), sınıfı(metin) verileri tutuluyor.
2. Tabloda Öğrencinin kayıtlı olduğu pansiyon (A blok, B blok)(---açılır kutudan seçilerek-değerler listesi mantığıyla)
Tutuluyor.
tblogrenci de sirano alanı otomatik sayı=birincil anahtar
tblpansiyonda de ogrtc alanı  sayı=birincil anahtar ile ilşkili

tmptabloya kodla öğrencinin adı soyadı, sınıfı, okul no bilgileri kaydettirilip, kayıt kaynağı tmptablo olan raporda

bir metin kutusuna öğrencinin karşına hangi blokta olduğu nasıl getirilir.

yani rpr_ogrnobet raporundaki metin12 denetimine öğrencinin blok bilgisini Dlookup la nasıl getiririz.
Yok mu yardı edecek biri?
Aşağıda ki Sorguyu bir deneyin. Sanırım mesele çözülecektir.

Kod:
SELECT TblOgrenci.tckimlikno, TblOgrenci.adısoyadı, TblOgrenci.sınıfı, TblOgrenci.okulno, TblPansiyon.kayıtlıoldugublok, TblPansiyon.kayıtlıolduğutur, TblPansiyon.pansiyonstatusu, TblPansiyon.odano
FROM TblPansiyon INNER JOIN TblOgrenci ON TblPansiyon.ogrtc = TblOgrenci.sirano;
(16/11/2019, 00:36)Kur@l yazdı: [ -> ]Aşağıda ki Sorguyu bir deneyin. Sanırım mesele çözülecektir.

Kod:
SELECT TblOgrenci.tckimlikno, TblOgrenci.adısoyadı, TblOgrenci.sınıfı, TblOgrenci.okulno, TblPansiyon.kayıtlıoldugublok, TblPansiyon.kayıtlıolduğutur, TblPansiyon.pansiyonstatusu, TblPansiyon.odano
FROM TblPansiyon INNER JOIN TblOgrenci ON TblPansiyon.ogrtc = TblOgrenci.sirano;

Tamam blok geldi ama, bu seferde nöbet tarihlerini atamadı. Sorguda nöbet tarihleri zaten işlenmemiş.
Oncelikle tmpTabloya "blok"  alanı eklemelisiniz, eğer raporda yoksa raporda blok alanı ekleyip tablodaki blok alanına baglayin
Sonra da yazdır butonunun kodunu aşağıdaki kodla değiştirmeyi deneyin
Dim OgRs As DAO.Recordset
Dim sqlBlok As String
sglblok = " SELECT TblOgrenci.sirano, TblOgrenci.adısoyadı, TblOgrenci.sınıfı, TblOgrenci.okulno, TblPansiyon.kayıtlıoldugublok" & _
          " FROM TblOgrenci INNER JOIN TblPansiyon ON TblOgrenci.sirano = TblPansiyon.ogrtc"

Set OgRs = CurrentDb.OpenRecordset(sglblok, dbOpenDynaset)
OgRs.MoveLast
OgRs.FindFirst "[sirano]=" & Açılan_Kutu11
CurrentDb.Execute "delete from tmpTablo"
For x = CLng(Me.txttarih1) To CLng(Me.txttarih2)
    If InStr(1, "567", Weekday(x, vbMonday)) < 1 Then
'        Debug.Print Format(x, "dd mmmm yyyy - ddd")
        CurrentDb.Execute "insert into tmpTablo ([adısoyadı], [sınıfı], [okulno], [NbtTarih], [blok] ) values ('" & _
            OgRs.Fields(1) & "','" & OgRs.Fields(2) & "','" & OgRs.Fields(3) & "'," & x & ",'" & OgRs.Fields(4) & "')"
            If OgRs.AbsolutePosition = OgRs.RecordCount - 1 Then OgRs.MoveFirst Else OgRs.MoveNext
      CurrentDb.Execute "insert into tmpTablo ([adısoyadı], [sınıfı], [okulno], [NbtTarih], [blok] ) values ('" & _
            OgRs.Fields(1) & "','" & OgRs.Fields(2) & "','" & OgRs.Fields(3) & "'," & x & ",'" & OgRs.Fields(4) & "')"
            If OgRs.AbsolutePosition = OgRs.RecordCount - 1 Then OgRs.MoveFirst Else OgRs.MoveNext

    End If
Next x
DoCmd.OpenReport "rpr_ogrnobet", acViewPreview
Teşekkür ederim. Konu cevaplanmış-çözülmüştür.