PDA

View Full Version : سئوال مهم در مورد رکورد تکراری



iransim
جمعه 12 بهمن 1386, 01:17 صبح
سلام
من کد زیر را برای کنترل رکورد تکراری را وارد کردم


Dim varData As Variant
varData = DLookup("Onvan", "main", "Onvan='" & [Onvan] & "'")
If Not (IsNull(varData)) Then
MsgBox "تکراری است"
cancel = True
End If

حال سئوال من اینه اگر بخواهم انتخاب کنم که رکورد تکراری در جدول ثبت بشود یا نشود چکار باید بکنم؟
ممنونم

مهدی قربانی
جمعه 12 بهمن 1386, 14:17 عصر
سلام
این تیکه کد رو اضافه کنید :


If MsgBox("اطلاعات تکراری است آیا قصد ثبت آنرا دارید ؟", vbQuestion + vbMsgBoxRight + vbYesNo, "توجه") = vbNo Then
Cancel = True
Else
Exit Sub
End If

iransim
شنبه 13 بهمن 1386, 00:26 صبح
آقا مهدی دستت درد نکنه دمت گرم

iransim
یک شنبه 14 بهمن 1386, 01:46 صبح
سلام آقا مهدی
ببخشید من کد پیشنهادی را وارد کردم ولی وقتی که اطلاعات چه تکراری چه غیر تکراری باشد نیز پیام " این رکورد تکراری است " را میدهد می خواهم طوری باشد که رکوردی که واقعا" تکراری است این پیام ظاهر شود .
میشه بازم راهنمائی کنید
ممنونم

karmand
یک شنبه 14 بهمن 1386, 08:13 صبح
If IsNull(txt_barcode) = False Then

intCount = DCount("num_posti", "asli", "barcode='" & Me.txt_barcode & "'")
If intCount > 0 Then
MsgBox "رکورد ثبت شده تکراری می باشد", vbInformation, "توجه"
Me.cmb_sherkat.SetFocus
intCount = 0
Exit Sub
End If

iransim
دوشنبه 15 بهمن 1386, 00:55 صبح
ببخشید دوست عزیز منظور شما را از این کد متوجه نشدم میشه در مورد محل درج و ارگومانهای آن توضیح دهید .
ممنونم :خجالت:

مهدی قربانی
دوشنبه 15 بهمن 1386, 08:08 صبح
سلام


Dim varData As Variant
varData = DLookup("Onvan", "main", "Onvan='" & [Onvan] & "'")
If Not IsNull(varData) Then
MsgBox "تکراری است"
Me.Undo
Exit Sub
End If
یا

intCount = DCount("Onvan", "main", "Onvan='" & [Onvan] & "'")
If intCount > 0 Then
MsgBox "رکورد ثبت شده تکراری می باشد", vbInformation, "توجه"
Me.Undo
intCount = 0
Exit Sub
End If
کدی که جناب کارمند نوشتند تعداد رکوردهای متناظر با عنوان رو شمارش می کنه که طبیعتاً اگر تعداد از 0 بیشتر باشه یعنی رکورد تکراریه و پیغام ظاهر میشه در ضمن سعی کنید این کدها رو در رخداد Before Update فیلد مورد نظر بنویسید

karmand
دوشنبه 15 بهمن 1386, 09:10 صبح
num_posti نام فیلدی است که باید از فیلدی استفاده کنید که همیشه پر باشد مانند auto number ان را می شمارد پس باید حتما پر باشد
asli نام بانک است
barcode نام فیلدی که نباید تکراری باشد