Liste Kutusu Columun Değerine Göre Formu Açtırma

1 2
07/03/2021, 23:32

yahzee_61

Arkadaşlar
liste kutusunun columun değerine göre şartlı rapor açtırmak istiyorum. aşağıdaki kodu farklı şekillerde denememe rağmen bir yol uyduramadım buna bakabilirmisiniz.

If IsNull(Izin_Listesi.Column(0)) Or Izin_Listesi.Column(0) = "" Then
MsgBox "Hata"
Exit Sub
Else
If Me.Izin_Listesi.Column(8) = "Yıllık İzin" Then
DoCmd.OpenForm "FrmYillikİzin", acNormal
Else
If Me.Izin_Listesi.Column(8) = "Rapor" Then (buradaki değeri )
DoCmd.OpenForm "FrmRapor", acNormal
Else
End If
End If
End If
Dim rs As New ADODB.Recordset
Dim FrmAdi As String
rs.Open "Tbl_İzinler", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs.Find "[idxizin]=" & Me.Izin_Listesi.Value
FrmAdi = "FrmYillikİzin" (BU ALANA yazdırabilirmiyiz)
DoCmd.OpenForm FrmAdi, acNormal ' Form açma kodu
With Forms(FrmAdi)
.idxizin = rs("idxizin")
.TxİzinTarih = rs("İzinTarih")
.TxİzinBaslama = rs("İzinBaslama")
.TxİzinYili = rs("İzinYili")
.TxİzinGun = rs("İzinGun")
.TxİzinYili1 = rs("İzinYili1")
.TxİzinGun1 = rs("İzinGun1")
.TxİzinYol = rs("İzinYol")
.TxHaftaSonu = rs("İzinHaftaSonu")
.TxİzinNot = rs("İzinNot")
.TxİzinAdres = rs("İzinAdres")
.TxPrsId = rs("İzinPrsId")
End With
End Sub

şunu söylemeliyimki ıf şartı değiştikce orada değişecek
07/03/2021, 23:38

berduş

Liste kutusuna yeni bir alan ekleyip form adları eklenebilir
07/03/2021, 23:42

yahzee_61

hocam liste kutusunda adlar var ben onları FrmAdi kısmına çekmeye çalışıyorum.

yani koşulu sağlayan form adı orada yazsın ki doğru bilgiler doğru formda açılsın.
08/03/2021, 16:50

berduş

elseif yada case kodları işinize yarayabilir
09/03/2021, 00:41

yahzee_61

maalesef kurguyu oturtamadım kod aşağıda bunu düzenleyebilirmiyiz
Private Sub Izin_Listesi_DblClick(Cancel As Integer)

Dim rs As New ADODB.Recordset
rs.Open "Tbl_İzinler", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs.Find "[idxizin]=" & Me.Izin_Listesi.Value
Dim FrmAdi As String
Select Case Izin_Listesi.Column(8)
Case "Yıllık İzin"
FrmAdi = "FrmYillikİzin"
Case "Rapor"
FrmAdi = "FrmRapor"
Case "Mazeret İzni"
FrmAdi = "FrmMazeretİzni"
DoCmd.OpenForm FrmAdi, acNormal ' Form açma kodu
With Forms(FrmAdi)
.idxizin = rs("idxizin")
.TxİzinTarih = rs("İzinTarih")
.TxİzinBaslama = rs("İzinBaslama")
.TxİzinYili = rs("İzinYili")
.TxİzinGun = rs("İzinGun")
.TxİzinYili1 = rs("İzinYili1")
.TxİzinGun1 = rs("İzinGun1")
.TxİzinYol = rs("İzinYol")
.TxHaftaSonu = rs("İzinHaftaSonu")
.TxİzinNot = rs("İzinNot")
.TxİzinAdres = rs("İzinAdres")
'.TxPersonelId = rs("PersonelId")
End With
End Select
End Sub
09/03/2021, 10:16

berduş

diğer kodları Case içine yazılmamamlıydı

....
....
Select Case Me.Izin_Listesi.Column(8)
Case "Yıllık İzin"
FrmAdi = "FrmYillikİzin"
Case "Rapor"
FrmAdi = "FrmRapor"
Case "Mazeret İzni"
FrmAdi = "FrmMazeretİzni"
End Select

DoCmd.OpenForm FrmAdi, acNormal
....
....
1 2