Skip to main content

AccessTr.neT


Docmd.openform Hk.

Docmd.openform Hk.

Çözüldü #1
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?
Cevapla
#2
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.
Cevapla
#3
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
@benbendedeilem
Cevapla
#4
Muhtemelen örneğinizi eklemeniz istenecektir.
Cevapla
#5
(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?
Cevapla
#6
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?
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da