AccessTr.neT
Docmd.openform Hk. - 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ığı: Docmd.openform Hk. (/konu-docmd-openform-hk.html)

Sayfalar: 1 2


Docmd.openform Hk. - sipuasfaf - 29/04/2020

Merhaba Arkadaşlar
Liste kutusu üzerinde bulunan bir kayda çift tıklayarak, bu kayıtta bulunan malzemeye ait kod ile birlikte, malzeme ekleme formunu açmak istiyorum. Formu açıyorum, fakat liste kutusundaki o kaydın verileri geliyor. Ben sadece o kayda ait malzeme kodu ile giriş yapmak istiyorum. Denediğim kodlar aşağıdadır.


DoCmd.OpenForm "Frm_Giris", , , "[MALZEME KODU]='" & Me.Liste85.Column(3) & "'"


Bu şekilde giriş formunu, liste kutusundan seçtiğim malzeme ile açabiliyorum. Dediğim gibi bu durumda yeni kayıt olarak değil, liste kusunda kayıtlı olan veriyi açıyor. 

Bir de; 

DoCmd.OpenForm "Frm_Giris", , , "[MALZEME KODU]='" & Me.Liste85.Column(3) & "'", acFormAdd

olarak denedim. Bu şekilde de giriş formunu tamamen boş olarak açıyor. 

Not: Giriş formu yüklendiğinde olayı boştur.

Yardımcı olabilir misiniz?


RE: Docmd.openform Hk. - ozanakkaya - 29/04/2020

DoCmd.OpenForm "Frm_Giris", , , , acFormAdd, , Me.Liste85.Column(3)

Frm_Giris formunun açıldığında olayına da,

me.[MALZEME KODU] = me.openargs


Örnek uygulama eklersen, örnek üzerinde test edilip net cevap yazılabilir.


RE: Docmd.openform Hk. - accessman - 29/04/2020

siz yeni kayıt formu açılsın ama metin kutularından birisinde sizin istediğiniz bir veri olsun istiyorsunuz değil mi
bu durumda 
Kod:
If Not IsNull(Me.Liste85.Column(3)) Then
    DoCmd.OpenForm "Frm_Giris", DataMode:=acAdd, OpenArgs:=Me.Liste85.Column(3)
Else
   MsgBox "Liste boş"
End If

ve açılan form load olayına

Kod:
Private Sub Form_Load()
If Me.OpenArgs <> vbNullString Then
   Me.MALZEME KODU = Me.OpenArgs
End If
End Sub

gibi şeyler yazman lazım


RE: Docmd.openform Hk. - SeferŞANLI - 29/04/2020

Muhtemelen örneğinizi eklemeniz istenecektir.


RE: Docmd.openform Hk. - sipuasfaf - 29/04/2020

(29/04/2020, 13:45)accessman yazdı: siz yeni kayıt formu açılsın ama metin kutularından birisinde sizin istediğiniz bir veri olsun istiyorsunuz değil mi
bu durumda 
Kod:
If Not IsNull(Me.Liste85.Column(3)) Then
    DoCmd.OpenForm "Frm_Giris", DataMode:=acAdd, OpenArgs:=Me.Liste85.Column(3)
Else
   MsgBox "Liste boş"
End If

ve açılan form load olayına

Kod:
Private Sub Form_Load()
If Me.OpenArgs <> vbNullString Then
   Me.MALZEME KODU = Me.OpenArgs
End If
End Sub

gibi şeyler yazman lazım

Teşekkürler üstad. Bu şekilde sorun çözüldü. Fakat openargs: kısmında birden fazla kriter nasıl belirtebilirim?


RE: Docmd.openform Hk. - sipuasfaf - 29/04/2020

DoCmd.OpenForm "Frm_Giris", DataMode:=acAdd, OpenArgs:=Me.Liste85.Column(3) & ";" & Me.Liste85.Column(5)



bu şekilde peşi sıra ekleyip,
 
Dim malzeme As String
Dim miktar As String
MsgBox OpenArgs
malzeme = Left(OpenArgs, InStr(OpenArgs, ";") - 1)
miktar = Mid(OpenArgs, InStr(OpenArgs, ";") + 1)
MsgBox "Malzeme kodu=" & malzeme
MsgBox "Malzeme mikarı=" & miktar

Bu şekilde bölerek aldım.Başka bir yolu var mı acaba?