لطفا درباره اينكه چگونه بايد برنامه مان را تنظيم كنيم تا هنگاميكه اگر در textbox مقداري تكراري وارد كرديم به ما پيغام بدهد و اجازه ثبت مقدار تكراري را به ما ندهد؟
Printable View
لطفا درباره اينكه چگونه بايد برنامه مان را تنظيم كنيم تا هنگاميكه اگر در textbox مقداري تكراري وارد كرديم به ما پيغام بدهد و اجازه ثبت مقدار تكراري را به ما ندهد؟
سلام دوست عزیز میتونی از کد زیر استفاده کنی.
کد:Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Text1.Locked = False
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim I As Integer
For I = 1 To Len(Text1.Text)
If Mid(Text1.Text, I, 1) = Chr(KeyAscii) Then
MsgBox "مقدار تکراري است"
Text1.Locked = True
Exit For
Else
Text1.Locked = False
End If
Next
End Sub
خيلي از شما متشكرم ولي اين جواب نميدهدنقل قول:
برنامه من سيستم بايگاني است و وقتي كه مثلا در شماره ثبت نامه هايم اگر شماره تكراري وارد شود هنگاميكه روي كليد ثبت كليد شد اگر شماره تكراري بود نبايد آن را ثبت كند و بايد پيغام بدهد به نظر من بايد در اطلاعات ثبت شده جستجو كند ولي نميدانم چگونه لطفا اگر ميدانيد راهنماييم كنيد . با تشكر
سلام دوست عزیز.من یه مثال براتون میزنم ان شاالله که درست میشه.نقل قول:
به کد زیر دقت کن:
کد زیر رکورد اولی را انتخاب میکند:کد:Adodc1.Recordset.MoveFirst
For I = 1 To Adodc1.Recordset.RecordCount
If Adodc1.Recordset.Fields("fName").Value = Text1.Text Then
MsgBox "فیلد وارد شده تکراری است"
Exit For
End If
Adodc1.Recordset.MoveNext
Next
ما یک حلقه تا تعداد رکوردها تعریف کردیم:کد:Adodc1.Recordset.MoveFirst
Adodc1.Recordset.RecordCount تعداد رکوردها را برمیگرداند.
و شرط گذاشتیم که در دیتابیس ما اگر فیلد "fName" برابر با TextBox بود آنگاه پیغام دهد که تکراری است و Exit For از حلقه خارج می شود.
کد زیر هم رکورد بعدی را انتخاب میکند تا حلقه به پایان برسد:
ببخشید که متوجه منظورتون نشده بودم آخه کمی نامفهوم بود.کد:Adodc1.Recordset.MoveNext
خيلي از شما متشكرم، يك سئوال ديگر هم داشتم
شما در باره messagebox فارسي چيزي ميدانيد يا نه؟ لطفا راهنماييم كنيد .
بايد تمام آن فارسي باشد، يعني بجاي noو yes بله و خير دارد.
با تشكر
[QUOTE=hamishebahar;3820245]سلام دوست عزیز.من یه مثال براتون میزنم ان شاالله که درست میشه.
به کد زیر دقت کن:
کد زیر رکورد اولی را انتخاب میکند:کد:Adodc1.Recordset.MoveFirst
For I = 1 To Adodc1.Recordset.RecordCount
If Adodc1.Recordset.Fields("fName").Value = Text1.Text Then
MsgBox "فیلد وارد شده تکراری است"
Exit For
End If
Adodc1.Recordset.MoveNext
Next
ما یک حلقه تا تعداد رکوردها تعریف کردیم:کد:Adodc1.Recordset.MoveFirst
Adodc1.Recordset.RecordCount تعداد رکوردها را برمیگرداند.
و شرط گذاشتیم که در دیتابیس ما اگر فیلد "fName" برابر با TextBox بود آنگاه پیغام دهد که تکراری است و Exit For از حلقه خارج می شود.
کد زیر هم رکورد بعدی را انتخاب میکند تا حلقه به پایان برسد:
ببخشيد Adodc1 در اينجا چي هست آخه وقتي تعريف ميكنم از چه نوعي بايد باشد.کد:Adodc1.Recordset.MoveNext
سلام دوست گرامی.سورس زیر یک MsgBox فارسیه میتونی دانلودش کنی:نقل قول:
کد:http://hamishebaharp30world.persiangig.com/Visual%20Basic%206/MBMsgbox120Sample%28hamishebahar%29%28Forum.p30World.Com%29.rar
ببخشید منظورتون از Adodc1 چيست ؟ من بايد بجاي آن چه چيز را بگذارم؟ ببخشيد اينقدر سئوال ميكنمنقل قول:
سلام.نقل قول:
خواهش میکنم.تا سوال نکنید که جواب نمیگیرید.مگه شما تو برنامه تون از کنترل Adodc استفاده نکردین؟
این کنترل یک دیتابیس مانند اکسس رو به برنامه تون ارتباط میده.
روی toolbox راست کلیک کنید و ...Components رو انتخاب کنید.مانند شکل زیر:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
حالا از پنجره باز شده مطابق شکل زیر گزینه Microsoft ADO Data Control 6.0 (OLEDB) را تیک بزنین و ok بزنید کنترل Adodc به toolboxاضافه میشه و شما میتونید از اون استفاده کنید.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]