Skip to main content

AccessTr.neT


Kayıt Varsa Güncelle Yoksa Yeni Kayıt Oluştur

Kayıt Varsa Güncelle Yoksa Yeni Kayıt Oluştur

#3
Murtaza Bey bende mesai sonrası ancak bakabildim sorunuza. Gördüğüm kadarı ile de Berduş Üstad son derece pratik bir şekilde çözümlemiş sorununuzu her ikinizin dblerini karşılaştırdığımda. Benim takıldığım bir diğer husus değişken tanımlamalarınızdaki doublelar. Sayısal anlamda ihtiyaçlarınızı bire bir karşılayacağı noktasında emin misiniz? Kodlama tarzınıza baktığımda bir kaç kaynaktan öğrendiğiniz verileri güzelce kendinize göre işlediğinizi ama mantık noktalarında taşların pek yerine oturmamış olduğu izlenimine kapıldım. Lütfen alınmayın nacizane mantığı anlamanız ve ihtiyacınızı doğru belirlemeniz hususlarında minik bir dikkat çekme gayretindeyim sadece.

Bir de Berduş Üstadın kodunda ufak bir değişiklik yapmanız gerekli onu belirtmeyi unutmuşum özür dileyerek onun için düzenliyorum. 3. maddedeki maddedi txt_siparis_no güncellediğinde olayı için yazılan kodlarla ilgili olarak Berduş Üstad son derece pratik çözümlemiş sorununuzu dediğim gibi ancak 25. satırda geçici değişken değerinizi tabloadaki alan değil formunuzdaki alan belirlemeli bu kodun çalışması için.

Dim SPNO, gcSpNo As String
  Dim SPNKR As String

  SPNO = Me.txt_Siparis_No.Value
  SPNKR = "SIPARISNO = '" & Forms!FRM_101_Siparisler!txt_Siparis_No & "'"

    If Dlookup ("SIPARISNO", "SiparisA0", SPNKR) > 0 Then
    
      If MsgBox(SPNO & " SİPARİŞ NO İLE KAYIT BULUNMAKTADIR." & vbCrLf & _
      "DEVAM EDİLMESİ HALİNDE MEVCUT KAYITTA GÜNCELLEME YAPILACAKTIR." & vbCrLf & _
      "DEVAM ETMEK İSTİYOR MUSUNUZ?", vbYesNo) = vbNo Then

    ' güncelleme onaylanmaz ise değişiklikleri geri al
    ' select case için değişken değerini ata
    ' kayıt düğmesinin resim yazısını kayıt ekle olarak değiştir
    Me.Undo
    Me.txt_kayıttanimlama = 0
    Btn_KaydetGuncelle.Caption = "YENİ KAYIT EKLE"
    Me.txt_Siparis_No.SetFocus
  
    Else

    ' select case için değişken alan değerini ata
    ' kayıt düğmesinin resim yazısını güncelleme olarak değiştir.
    gcSpNo = Me.txt_siparis_no.value '(buradaki değeri formunuzdaki alandan almalısınız o yüzden tablodaki değil bu şekilde formdaki alanı belirtmelisiniz)
    Me.Undo
  
    Me.txt_kayıttanimlama = 1
    Btn_KaydetGuncelle.Caption = "KAYIT GÜNCELLE"
  
    ' kayıt güncellemenin onaylanması halinde sorgu sonuçlarını ilgili form alanlarına yükle
    Me.Filter = "[SIPARISNO]='" & gcSpNo & "'"
    Me.FilterOn = True
  
    End If

  End If
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Re: Kayıt Varsa Güncelle Yoksa Yeni Kayıt Oluştur - Yazar: atoykan - 13/08/2020, 18:57
Task