View Full Version : جلو گیری از رکورد تکراری
eimanrezaei
چهارشنبه 27 مرداد 1389, 16:22 عصر
با سلام خدمت سروران گرامی با عرض معذرت این مطلب را قبلا در سایت دیده بودم ولی متاسفانه هر چه جستجو کردم پیدا نکردم راستش عجله داشتم من یک فرم دارم که می خواهم در شماره قبض عدد تکراری ثبت نشود و همچنین پس از تکمیل رکورد از آن سوال ذخیره شود را بپرسد لطفا سریع تر راهنمایی بفرمایید
mmehdiii
چهارشنبه 27 مرداد 1389, 17:01 عصر
اگه جستجو میکردی حتما ً پیدا میشد
راهای زیادی واسش هست اما سادش اینه که تو تیبل مورد نظر رو فیلد قبضت رو خاصیت Indexed برابر Yes (No Duplicate) بزاری
و واسه دومیشم از کد زیر تو فرمت استفاده کن
Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo Err_BeforeUpdate
If Me.Dirty Then
If MsgBox(".آیا قصد ذخیره اطلاعات را دارید", vbMsgBoxRight + vbYesNo + _
vbQuestion, "توجه") = vbNo Then
Me.Undo
End If
End If
Exit_BeforeUpdate:
Exit Sub
Err_BeforeUpdate:
MsgBox Err.Number & " " & Err.Description
Resume Exit_BeforeUpdate
End Sub
eimanrezaei
چهارشنبه 27 مرداد 1389, 23:24 عصر
دوست عزیز می خواهم هنگام رکورد تکراری پیام فارسی دهد
mmehdiii
چهارشنبه 27 مرداد 1389, 23:41 عصر
سرچ کن پیدا میکنی
راه منطقیش اینه که خطاهای موجود رو هندلش کنی که بعدا ً هم به دردت بخوره
این هم نمونه ای که مشکلتو حل میکنه :
smderfan
پنج شنبه 28 مرداد 1389, 04:04 صبح
سلام
از تابع Dlookup استفاده كنيد.
http://barnamenevis.biz/forum/search.php?searchid=2866382 (http://barnamenevis.biz/forum/search.php?searchid=2866382)
amirzazadeh
پنج شنبه 28 مرداد 1389, 09:36 صبح
با سلام خدمت سروران گرامی با عرض معذرت این مطلب را قبلا در سایت دیده بودم ولی متاسفانه هر چه جستجو کردم پیدا نکردم راستش عجله داشتم من یک فرم دارم که می خواهم در شماره قبض عدد تکراری ثبت نشود و همچنین پس از تکمیل رکورد از آن سوال ذخیره شود را بپرسد لطفا سریع تر راهنمایی بفرمایید
از اين لينك كمك بگيريد.
http://barnamenevis.org/forum/showpost.php?p=618282&postcount=86
stabesh
سه شنبه 28 دی 1389, 14:23 عصر
با سلام و تشکر
من لینکهای زیر رو دیدم ولی یکم راهنمایی لازم دارم
http://barnamenevis.org/showthread.php?87658-%D9%86%D9%85%D9%88%D9%86%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D9%88-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-VBA&p=618282#post618282
http://barnamenevis.org/showthread.php?185448-%D9%88%D9%82%D8%AA%DB%8C-%DB%8C%DA%A9-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-duplicate-%D9%88%D8%A7%D8%B1%D8%AF-%D9%85%DB%8C-%DA%A9%D9%86%D9%85-%D8%AF%D8%B1-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-%D8%AF%D9%88%D9%85-%DB%8C%D9%87-warning!-%D8%A8%D8%AF%D9%87/page2&highlight=duplicate (http://barnamenevis.org/showthread.php?185448-%D9%88%D9%82%D8%AA%DB%8C-%DB%8C%DA%A9-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-duplicate-%D9%88%D8%A7%D8%B1%D8%AF-%D9%85%DB%8C-%DA%A9%D9%86%D9%85-%D8%AF%D8%B1-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-%D8%AF%D9%88%D9%85-%DB%8C%D9%87-warning%21-%D8%A8%D8%AF%D9%87/page2&highlight=duplicate)
http://barnamenevis.org/showthread.php?27815-%D9%85%D8%A8%D8%A7%D8%AD%D8%AB-%D9%85%D8%B1%D8%A8%D9%88%D8%B7-%D8%A8%D9%87-SQL-SERVER&p=142572&viewfull=1#post142572
http://barnamenevis.org/showthread.php?27194-%D8%AA%D9%88%D8%B6%DB%8C%D8%AD%D8%A7%D8%AA%DB%8C-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-Create-UNIQUE&p=139743&viewfull=1#post139743
http://barnamenevis.org/showthread.php?98373-%D8%AC%D9%84%D9%88%DA%AF%DB%8C%D8%B1%DB%8C-%D8%A7%D8%B2-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1-%D9%88-%D8%A7%D9%81%D8%B2%D8%A7%DB%8C%D8%B4-%DA%A9%D8%A7%D8%B1%D8%A7%DB%8C%DB%8C&p=484068&viewfull=1#post484068
http://barnamenevis.org/showthread.php?147820-%D9%BE%DB%8C%D8%BA%D8%A7%D9%85-%D8%AE%D8%B7%D8%A7%DB%8C-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%AF%D8%B1-SQL&highlight=duplicate+%D8%A8%D9%87+%D9%81%D8%A7%D8%B 1%D8%B3%DB%8C
http://msdn.microsoft.com/en-us/library/ms714687%28v=vs.85%29.aspx
http://www.fmsinc.com/microsoftaccess/errors/errornumber_description.html
دیتابیسهای برنامه من در sql server 2000 و با odbd به اکسس متصلش می کنم می خواستم به جای استفاده از recordset و dlookup از شماره error استفاده کنم چون فکر کنم sql sever خیلی سریع تر duplicate رو پیدا میکنه اما متاسفانه error شماره نداره و فقط ODBC fail میده و میگه ایراد از چیه
می خواستم پیغامهای sql رو فارسی کنم که به دلایلی که در بالا لینکشو گفتن مناسب نیست
حالا دو تا خواهش دارم
1- اینکه به جز ODBC و ADO با چه روش دیگه ای که سرعتش هم بالا باشه میشه وصل بشم
2-اگه بهترین راه ODBC چکار باید بکنم
متشکرم
stabesh
پنج شنبه 30 دی 1389, 11:07 صبح
با سلام و تشکر
من لینکهای زیر رو دیدم ولی یکم راهنمایی لازم دارم
http://barnamenevis.org/showthread.php?87658-%D9%86%D9%85%D9%88%D9%86%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D9%88-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-VBA&p=618282#post618282
http://barnamenevis.org/showthread.php?185448-%D9%88%D9%82%D8%AA%DB%8C-%DB%8C%DA%A9-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-duplicate-%D9%88%D8%A7%D8%B1%D8%AF-%D9%85%DB%8C-%DA%A9%D9%86%D9%85-%D8%AF%D8%B1-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-%D8%AF%D9%88%D9%85-%DB%8C%D9%87-warning!-%D8%A8%D8%AF%D9%87/page2&highlight=duplicate (http://barnamenevis.org/showthread.php?185448-%D9%88%D9%82%D8%AA%DB%8C-%DB%8C%DA%A9-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-duplicate-%D9%88%D8%A7%D8%B1%D8%AF-%D9%85%DB%8C-%DA%A9%D9%86%D9%85-%D8%AF%D8%B1-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-%D8%AF%D9%88%D9%85-%DB%8C%D9%87-warning%21-%D8%A8%D8%AF%D9%87/page2&highlight=duplicate)
http://barnamenevis.org/showthread.php?27815-%D9%85%D8%A8%D8%A7%D8%AD%D8%AB-%D9%85%D8%B1%D8%A8%D9%88%D8%B7-%D8%A8%D9%87-SQL-SERVER&p=142572&viewfull=1#post142572
http://barnamenevis.org/showthread.php?27194-%D8%AA%D9%88%D8%B6%DB%8C%D8%AD%D8%A7%D8%AA%DB%8C-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-Create-UNIQUE&p=139743&viewfull=1#post139743
http://barnamenevis.org/showthread.php?98373-%D8%AC%D9%84%D9%88%DA%AF%DB%8C%D8%B1%DB%8C-%D8%A7%D8%B2-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1-%D9%88-%D8%A7%D9%81%D8%B2%D8%A7%DB%8C%D8%B4-%DA%A9%D8%A7%D8%B1%D8%A7%DB%8C%DB%8C&p=484068&viewfull=1#post484068
http://barnamenevis.org/showthread.php?147820-%D9%BE%DB%8C%D8%BA%D8%A7%D9%85-%D8%AE%D8%B7%D8%A7%DB%8C-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%AF%D8%B1-SQL&highlight=duplicate+%D8%A8%D9%87+%D9%81%D8%A7%D8%B 1%D8%B3%DB%8C
http://msdn.microsoft.com/en-us/library/ms714687%28v=vs.85%29.aspx
http://www.fmsinc.com/microsoftaccess/errors/errornumber_description.html
دیتابیسهای برنامه من در sql server 2000 و با odbd به اکسس متصلش می کنم می خواستم به جای استفاده از recordset و dlookup از شماره error استفاده کنم چون فکر کنم sql sever خیلی سریع تر duplicate رو پیدا میکنه اما متاسفانه error شماره نداره و فقط ODBC fail میده و میگه ایراد از چیه
می خواستم پیغامهای sql رو فارسی کنم که به دلایلی که در بالا لینکشو گفتن مناسب نیست
حالا دو تا خواهش دارم
1- اینکه به جز ODBC و ADO و OLEDB با چه روش دیگه ای که سرعتش هم بالا باشه میشه وصل بشم
2-اگه بهترین راه ODBC چکار باید بکنم
متشکرم
تاحالا كسي اين مشكل رو نداشته ؟ :ناراحت:
amirzazadeh
یک شنبه 03 بهمن 1389, 08:27 صبح
سلام
اين كد رو در رويداد ON ERROR فرمتون قرار بديد:
If DataErr = 3146 Then
MsgBox "تكراري"
Response = Continue
End If
.....................
موفق باشيد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.