PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [حل شده] جلوگیری از ثبت اطلاعات تکراری در فرم (در یک سطر)



a.dal65
2016/01/31, 10:48
سلام
یه فرم درست کردم که توش چند تا TextBox به نام های زیر هست
نام
نام خانوادگی
نام پدر
و...
من میخوام وقتی همه Textbox ها تکراری بود به کاربر خطا بده و نتونه اطلاعات تکراری رو ثبت کنه
این کد برای چک کردن یه دونه Textbox هست
حالا من میخوام چند تا textbox دیگه اضافه کنم نمیتونم.




If Cells(ver, "A") = TextBox1 Then
MsgBox "This name is already registered !", vbInformation
TextBox1 = Empty
Exit Sub: End If: Next

iranweld
2016/01/31, 11:12
با سلام


Private Sub CommandButton1_Click()

If TextBox1 = TextBox2 And TextBox2 = TextBox3 Then

MsgBox "not ok"

TextBox1 = ""
TextBox2 = ""
TextBox3 = ""

Exit Sub

End If

T = 1

Z1 = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row

For j = 1 To Z1

If TextBox1 = Range("A" & j) And TextBox2 = Range("B" & j) And TextBox3 = Range("C" & j) Then

MsgBox "not ok"

TextBox1 = ""
TextBox2 = ""
TextBox3 = ""

T = 2

Exit Sub

End If

Next

If T = 1 Then

Range("A" & Z1 + 1) = TextBox1
Range("B" & Z1 + 1) = TextBox2
Range("C" & Z1 + 1) = TextBox3
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""


End If


End Sub

a.dal65
2016/01/31, 11:38
ممنون
کد شما توی فرم من کار نکرد
میشه یه نگاه بندازید به فایلم ببینی کجای کار رو اشتباه انجام میدم

iranweld
2016/01/31, 18:37
فایل پیوست شد

a.dal65
2016/02/01, 11:09
ممنون.
کد بدرستی کار میکنه
فقط در یک صورت باز هم تکراری ثبت میکنه
فایل رو باز کنید
از توی یوزر فرم Listbox عطا ذلیران رو انتخاب کن و ذخیره رو بزنید

majid_mx4
2016/02/01, 18:31
با سلام و تشکر از دوست و استاد محترم جناب آقای Iranweld
دوست عزیز atadaliran

این فقط یک پشنهاد و توصیه است (فقط و فقط )
بطور کلی باید در نظر داشتیه باشید استفاده از اسامی مخصوصا اسامی فارسی برای کنترل ثبت کاملا اشتباه است .

اگر بخواهید به همین روند مصر باشید مطمئنن به مشکل خواهید خورد.
بهتر است برای هریک از اسامی کد در نظر گرفته شود حال کد ملی یا کد پرسنلی که بر اساس آن به راحتی میتوانید گزارش ، ثبت ، ویا .... انجام دهید .
موفق باشید میر

a.dal65
2016/02/01, 21:32
ممنون از توصیه و راهنمایتون
قطعا اگه همچین چیزی که شما فرمودین امکان داشت انجام میدادم
این یه فرم ثبت اقساط پرداختی هست که نمیشه درش از کد ملی یا چیزی مثل UnicID استفاده کرد چون هر فرد ماهانه میاد قسطشو پرداخت میکنه و من فقط هدفم این بود که در یک ماه 2 بار اینکارو انجام نشه ( اون هم به اشتباه کاربر)
حالا اگه هر ایده یا ترفندی برای این کار به ذهنتون میرسه واقعا ممنون میشم راهنمایی کنید

majid_mx4
2016/02/01, 23:44
با سلام

اول باید بگویم یکی دیگر از اشتباهات استفاده از تکست باکس می باشد که بهتر است از کمبوباکس با یک لیست یونیک از اسامی ( برای کنترل بهتر اسامی وارد شده بدون خطا ) که درشیت DataName وارد شده استفاده نمایید.( پیشنهاد است برای کنترل بهتر ، چون فرمودید که نمی توانید از کد و یا ... استفاده نمایید)
یک کنترل ساده روی اسامی و تاریخ برای جلوگیری از ثبت دوباره اضافه شده است .

قسمت تغییرداد شده را مشخص کردم
لطفا فایل ضمیمه را چک کنید شاید مطابق میل شما نباشد ولی منظور کلی در نحوه کنترل ورود اطلاعات است .
موفق باشید میر

a.dal65
2016/02/02, 09:00
ممنون جناب میر.
من در حال کامل کردن فرم و رفع نواقص و مشکلات احتمالی که از سمت کاربر میتونه ایجاد کنه هستم
از راهنمایی ها شما و بقیه اساتید حتما اسنقبال میکنم
بابت کمک و وقتی که گذاشتید باز هم تشکر میکنم حتما این کار رو پیدا میکنم توی فایلم