AccessTr.neT
Kayıt Varsa Birşey Yapmasın Yoka Eklesin - 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ığı: Kayıt Varsa Birşey Yapmasın Yoka Eklesin (/konu-kayit-varsa-birsey-yapmasin-yoka-eklesin.html)

Sayfalar: 1 2 3 4 5


Kayıt Varsa Birşey Yapmasın Yoka Eklesin - yahyamacit - 26/02/2020

İki veritabanım var. Personel vertabanını olay veritabanına her ay aktaracağım. ama yeni personel kayıt durumunda aynı aya eklediğimde aynı kaydı tekrar alıyor. Ben sadece yeni kaydın eklenmesini istiyorum. örneği basitleştirip ekledim. Şimdiden teşekkür ederim.


Cvp: Kayıt Varsa Birşey Yapmasın Yoka Eklesin - userx - 26/02/2020

Private Sub Komut11_Click()
Dim rs As New ADODB.Recordset
rs.Open "OLAY", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Dim rs1 As New ADODB.Recordset
rs1.Open "PERSONEL", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

Dim SID As String
Dim stLinkCriteria As String
SID = Me.[AY1].Value
stLinkCriteria = "[AY1]=" & "'" & SID & "'"

If DCount("*", "OLAY", "AY =AY1") > 0 Then


   MsgBox "Girdiğiniz  " _
          & SID & ".  Ay daha önce girilmiştir." _
          & vbCr & vbCr & "Lütfen Kayıtları Kontrol Ediniz.", vbInformation, "Mükerrer Kayıt No Hatası...!"

Me.Undo
Else
If rs1.EOF <> True Then
Do

rs.AddNew
rs("PERNO") = rs1("PERSONEL NO")
rs("ADI") = rs1("ADI")
rs("SOYADI") = rs1("SOYADI")

rs("AY") = Me.AY1
rs.Update
rs1.MoveNext
Loop Until rs1.EOF

Set rs1 = Nothing
Set rs = Nothing
Set conn = Nothing

End If


Form.Requery
Exit Sub
End If

End Sub



Cvp: Kayıt Varsa Birşey Yapmasın Yoka Eklesin - berduş - 26/02/2020

aktarma kodunu aşağıdaki kodla değiştirip dener misiniz?
SqlEkle = " INSERT INTO OLAY " & _
          " SELECT EklSql.* " & _
          " FROM  " & _
          " (SELECT PERSONEL.[PERSONEL NO] as PERNO, PERSONEL.ADI, PERSONEL.SOYADI, " & Me.[AY] & " AS AY " & _
          " FROM PERSONEL LEFT JOIN OLAY ON PERSONEL.[PERSONEL NO] = OLAY.PERNO " & _
          " WHERE (((OLAY.PERNO) Is Null))) as EklSql"

CurrentDb.Execute SqlEkle
'aktar

Form.Requery



Cvp: Kayıt Varsa Birşey Yapmasın Yoka Eklesin - orhantanriverdi - 26/02/2020

Cok basit birsekilde ornek olmasi icin append query ekledim


Cvp: Kayıt Varsa Birşey Yapmasın Yoka Eklesin - berduş - 26/02/2020

hem isim hem de ay mı kontrol edilecek ozaman aşağıdaki şekilde deneyebilirsiniz.
SqlEkle = " INSERT INTO OLAY " & _
          " SELECT EklSql.* " & _
          " FROM " & _
          " (SELECT PERSONEL.[PERSONEL NO] AS PERNO, PERSONEL.ADI, PERSONEL.SOYADI, " & Me.AY & " AS AY " & _
          " FROM PERSONEL LEFT JOIN OLAY ON PERSONEL.[PERSONEL NO] = OLAY.PERNO " & _
          " WHERE (((OLAY.PERNO) Is Null)) OR (((OLAY.AY)<>'" & Me.AY & "' ))) as EklSql"

CurrentDb.Execute SqlEkle
'aktar

Form.Requery



Cvp: Kayıt Varsa Birşey Yapmasın Yoka Eklesin - yahyamacit - 26/02/2020

Çok teşekkür ediyorum. Emeğinize sağlık.