AccessTr.neT
Kriterlere Göre Kayıt Güncelleme - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Kriterlere Göre Kayıt Güncelleme (/konu-kriterlere-gore-kayit-guncelleme.html)



Kriterlere Göre Kayıt Güncelleme - orderyazbim - 30/01/2014

Tüm arkadaşlarıma iyi akşamlar dilerim. Aşağıda gönderdiğim Vb kodunda formdaki kriterlere göre ilgili tabloda kayıt bulup güncelleme yapıyorum. Sorun şu Eğer bu kriterlerden birine uygun bir kayıt yoka güncellemeyi pas geçip tabloda yeni bir kayda gidip kayıt yapabilirmiyiz. Yadımlarınız için teşekkür ederim. Saygılarımla.
Kodumuz;

Private Sub L7_DblClick(Cancel As Integer)
Dim Kriter As String
If Len(Me.birimkodu) > 0 Then
Kriter = Kriter & "tbl_brmkodu LIKE '%" & Me.birimkodu & "%' AND "
End If
If Len(Me.aktiftarih) > 0 Then
Kriter = Kriter & "tbl_tarih LIKE '%" & Me.aktiftarih & "%' AND "
End If
If Len(Me.islmkodu) > 0 Then
Kriter = Kriter & "tbl_islmkodu LIKE '%" & Me.islmkodu & "%' AND "
End If
If Len(Me.islmaltadı) > 0 Then
Kriter = Kriter & "tbl_islmaltadı LIKE '%" & Me.islmaltadı & "%' AND "
End If
If Len(Kriter) > 0 Then
Kriter = " WHERE " & Left(Kriter, Len(Kriter) - 4)
End If

'Bu kriterlere uygun kayıt varsa güncellemeyi yapıyor
'Eğer bu kriterlere uygun kayıt yoksa yeni kayda gidip bilgi kaydnı yapsın

strSQl = "SELECT * FROM tbl_olaylar " & Kriter & ";"
Set rstkayit = New ADODB.Recordset
rstkayit.Open strSQl, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
With rstkayit
.Update
.Fields("tbl_brmkodu") = Forms![frm_trhdizini].Form![birimkodu]
.Fields("tbl_tarih") = Forms![frm_trhdizini].Form![aktiftarih]
.Fields("tbl_islmkodu") = Me.[islmkodu]
.Fields("tbl_kö") = Me.[sayı1]
.Fields("tbl_ke") = Me.[sayı1]
.Update
End With
End Sub



Cvp: Kriterlere Göre Kayıt Güncelleme - ozanakkaya - 30/01/2014

Örnek uygulamanızı ekleyiniz.

Site Kuralları:
3-) Sorulara örnek uygulama eklemek zorunludur. Ekleyeceğiniz dosyaların içinde resim vb. yer kaplayacak şeyleri silin. Gereksiz tüm verileri silip sadece sorunu anlatacak örnek veri giriniz ve asla gerçek şahıs/kurumlara ait veri bırakmayınız. Dosyanızda önce Access ile Veritabanı Sıkıştır ve Onar işlemini uygulayınız. Daha sonra herhangi bir sıkıştırma programı ile (WinRar/WinZip/7Zip vb.) Sıkıştırma Yöntemi En İyi (Best) olacak şekilde sıkıştırınız.
Dosya Düzenle Onar ve WinRar ile Sıkıştırma İşlemi
[Uyarı Puanı: +2]



Cvp: Kriterlere Göre Kayıt Güncelleme - orderyazbim - 30/01/2014

Öncelikle ilgiliniz ve uyarınız için teşekkür ederim. Örneğimi düzenleyip kısmet olursa yarın akşam ekleyeceğim. Saygılarımla. İyi çalışmalar.


Cvp: Kriterlere Göre Kayıt Güncelleme - ozanakkaya - 31/01/2014

Sql WHERE deyiminde hata linkine eklediğiniz örnek uygulamayı düzenledim.
İnceleyiniz, koddaki eksik ayanları uygulamanıza göre düzenlersiniz.

Dim Kriter As String
If Len(Me.birimkodu) > 0 Then
Kriter = Kriter & "tbl_brmkodu LIKE '%" & Me.birimkodu & "%' AND "
End If
If Len(Me.tarih) > 0 Then
Kriter = Kriter & "tbl_tarih LIKE '%" & Me.tarih & "%' AND "
End If
If Len(Kriter) > 0 Then
Kriter = " WHERE " & Left(Kriter, Len(Kriter) - 4)
End If
strSQl = "SELECT * FROM tbl_ameliyatalt " & Kriter & ";"
Set rstkayit = New ADODB.Recordset
rstkayit.Open strSQl, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
With rstkayit
If Not rstkayit.EOF Then
Me.ydshpl = .Fields("tbl_ydokukö")
Me.ydshpz = .Fields("tbl_ydokuköa")
Me.sdshpl = .Fields("tbl_sdokukö")
Me.sdshpz = .Fields("tbl_sdokuköa")
Else
.AddNew
If MsgBox("" & Me.birimkodu & " Birim Kodlu ve " & Me.tarih & " tarihli yeni kayıt eklensin mi?", vbInformation + vbYesNo) = vbYes Then
.Fields("tbl_brmkodu") = Me.birimkodu
.Fields("tbl_tarih") = Me.tarih
.Update
End If
End If
End With
Recalc



Cvp: Kriterlere Göre Kayıt Güncelleme - orderyazbim - 31/01/2014

Sayın ozanakkaya ilgi ve alakanızdan dolayı teşekkür eder saygılarımı sunarım. Örneği uygulayacağım. Sorun devam ederse örnek uygulama ile bilgilerinize tekrar baş vururum.

Teşekkürler.