AçılanKutu Listede ürün yokken değer atamak

Katılım
6 Ekim 2006
Mesajlar
371
Excel Vers. ve Dili
2010
sayın arkadaşlar bir giriş satış veya personel veya firma üzerindeyken olmayan kayıt işin listede yokken özelliğine değer atamak ve olayı işelemek başvurulan veritabanı dosyasını bilgiyi işleyip dönüşümünde update edip bu bilgiyi ilk giriş yapamaya çalıştığınız alana update edilmiş şekilde değeri atamak. umarım işinize yarar ben stok kartlarını bu şekilde açıyorum.:icelim:

örnek değerler
1. AçılanKutunuzun adı ÜrünKodu olsun örneğin açılan kutunuzun başvurduğu tablo Ürünler1 olsun evet.

aşağıdaki kodu ürünkodu açılankutu alanının ListedeYokken olayyordam ına yazınız


Private Sub ÜrünKodu_NotInList(NewData As String, Response As Integer)
Dim strType As String, strWhere As String
'kullanıcı var olmayan bir ürün adı girmiştir
strType = NewData
'Sınama dayanağını kur
strWhere = "[ÜrünKodu]=""" & strType & """"


'Bu ürünü eklemeyi isteyip istemedikleri sor
If vbYes = MsgBox("BU STOKLARDA " & NewData & "| YOK. " & " EKLEMEK İSTİYORMUSUNUZ ?", vbYesNo + vbQuestion + vbDefaultButton2, gstrAppTitle) Then
'yup. ürün ekleme formunu aç ve ona yeni adı aktar
've önceden seçilmiş kategorileri ekle
DoCmd.OpenForm "Ürünler1", DataMode:=acFormAdd, WindowMode:=acDialog, OpenArgs:=strType & ";" & Me.ÜrünKodu

'Ürünün gerçekten eklendiğini doğrula
If IsNull(DLookup("Barkod", "Ürünler1", strWhere)) Then
'Nope,
MsgBox "( STOK EKLENDİ " & " İŞLEME DEVAM )", vbInformation, gstrAppTitle
'Access'e devam etmesini bildir- biz hatayı yakaladık
Response = acDataErrContinue
Else
'Ürün eklendi Tamam- Access'e bildir böylece açılan kutu yeniden sorgulansın
Response = acDataErrAdded
End If
Else
'Eklemek istemiyor- Access'in normal hatasını görüntülemesine izin ver
Response = acDataErrDisplay
End If
End Sub
2.ci adım ise kardeşim senin ürünler1 (örnek bu) tablosundan oluşturduğun formun kod bölümüne

2. aşağıdaki kodu ürünler1 formunun kod bölümüne yazınız
Private Sub Form_Load()

Dim intI As Integer
If Not IsNothing(Me.OpenArgs) Then
'"Not in list"den çağrıldıysa, openargs
'Ürün Adı, ürün koduna sahip olmalıdır
'ikisini ayıran noktalıvirgüle bakın
intI = InStr(Me.OpenArgs, ";")

'bulunmaz tek sahip olduğumuz bir ürün adıdır

If intI = 0 Then

Me.ÜrünKodu = Me.OpenArgs
Me.ÜrünAdı = left(Me.OpenArgs, intI + 1)

Else

Me.ÜrünKodu = left(Me.OpenArgs, intI - 1)
Me.ÜrünAdı = Mid(Me.OpenArgs, intI + 1)
'ÜrünAdını kilitle

Me.Barkod.Locked = True
Me.Barkod.Enabled = False

'...ve araç ipucunu temizle

Me.Barkod.ControlTipText = ""
End If
End If

End Sub
işleme başla sen her olmayan bir kayıt işlemeye başladığnda access sana bir ileti gösterecek ve bu ileti ürün listede yok eklemek istiyormusun gibi ve sen evet seçeneğini işlediğinde olay ürünler1 formuna gidip yeni kayıt ekleyecek ve sen ürünler formunu kapattığında auto update işleyip açılankutu (ürünKodu) alanını update edecek ve bilgi kendisini işleyecek.

ARKADAŞLAR KOLAY GELSİN
 
Katılım
31 Ekim 2006
Mesajlar
30
Excel Vers. ve Dili
2003
türkçe
Örnek Lütfen

Sayın Atilla52,

Yukarıda yazdığınız kodları bir örnekle desteklerseniz çok sevinirim.
Çalışmalarınızda başarılar diliyorum.
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Sn.; acy06

Atilla52nin bahsettiği uygulamanın benzerini bir çalışmada kullanmıştım. Örneği sadeleştirilmiş olarak ekliyorum. Faydası olabilir…

Firma alanında kullandım...
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Pardoonn....:mrgreen:
 
Üst