Skip to main content

AccessTr.neT


Kayıt Varsa Birşey Yapmasın Yoka Eklesin

Kayıt Varsa Birşey Yapmasın Yoka Eklesin

Çözüldü #1
İ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.
.rar deneme.rar (Dosya Boyutu: 31,8 KB | İndirme Sayısı: 7)
Cevapla
#2
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
.rar deneme.rar (Dosya Boyutu: 24,85 KB | İndirme Sayısı: 0)
Cevapla
#3
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
Cevapla
#4
Cok basit birsekilde ornek olmasi icin append query ekledim
.rar deneme.rar (Dosya Boyutu: 26,85 KB | İndirme Sayısı: 10)
Cevapla
#5
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
Cevapla
#6
Çok teşekkür ediyorum. Emeğinize sağlık.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task