AccessTr.neT
Dlookup Yardımı Lazım. - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Dlookup Yardımı Lazım. (/konu-dlookup-yardimi-lazim.html)



Dlookup Yardımı Lazım. - SeferŞANLI - 15/11/2019

Üç 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.


Cvp: Dlookup Yardımılazım. - SeferŞANLI - 15/11/2019

Yok mu yardı edecek biri?


Cvp: Dlookup Yardımılazım. - Kur@l - 16/11/2019

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;




Cvp: Dlookup Yardımılazım. - SeferŞANLI - 16/11/2019

(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ş.


Cvp: Dlookup Yardımılazım. - berduş - 16/11/2019

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



Cvp: Dlookup Yardımılazım. - SeferŞANLI - 16/11/2019

Teşekkür ederim. Konu cevaplanmış-çözülmüştür.