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.


Visual Basic Code
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; 

Visual Basic Code
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

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


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

Visual Basic Code
me.[MALZEME KODU] = me.openargs



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

"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
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 Adlı Kullanıcıdan Alıntı: 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

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




bu şekilde peşi sıra ekleyip,
 

Visual Basic Code
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