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
ö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