-
آموزش کد نویسی جلوگیری از ثبت عدد در Short Text
در یکی دیگر از قسمت های آموزش اکسس ؛ اینبار قصد داریم تا با استفاده از کدنویسی VBA مانع از ثبت عدد در Short Text شویم. همانطور که قبلأ در خواص فیلدها در اکسس توضیح دادیم ، در صورت استفاده از نوع فیلد Text چه از نوع Short و چه Long ، امکان انجام محاسبات ریاضی را نخواهیم داشت و ورود اعداد در برخی از فیلدهایی که نوع آن ها بایستی حتمأ بصورت متن باشد بایستی محدود گردد.
لذا در برخی از مواقع ضرورت دارد تا مانع از خطای کاربر در ثبت داده های عددی درفیلدهای Short Text شویم. بطور مثال اگر در یک فرم از کاربر نام و نام خانوادگی او سوال شود ؛ نباید این امکان وجود داشته باشد تا وی بتواند از داده عددی در این نوع فیلد استفاده کند. برای پیاده سازی این مسأله بایستی ابتدا یک ماژول در محیط VBA ایجاد کنیم و کد زیر را در درون آن قرار دهیم.
Public Function TextOnly(ByVal strText As String) As Boolean 'www.mrplanner.ir Dim intCounter As Integer For intCounter = 1 To Len(strText) If IsNumeric(Mid(strText, intCounter, 1)) Then TextOnly = False Exit Function End If Next intCounter TextOnly = True End Function
در مرحله بعدی بایستی در رویداد Before Update فرم متصل به جدولی که فیلد از جنس Short Text در درون آن قرار گرفته است ، کدهای زیر را قرار دهیم.
Private Sub Form_BeforeUpdate(Cancel As Integer) 'نام فيلد مورد نظر با fieldName جايگذين کنيد ' www.mrplanner.ir If Len(Me.nam & vbNullString) = 0 Then Exit Sub Else If Not TextOnly(Me.nam) Then MsgBox "امکان ورود مقدار عددي در اين فيلد وجود ندارد ", _ vbExclamation, "ورود داده نامعتبر" Cancel = True End If End If End Sub
پس با استفاده از کدهای بالا این امکان وجود دارد تا با جلوگیری از ثبت عدد در Short Text که ممکن است سهوأ یا عمدأ توسط کاربر وارد شود باعث جلوگیری از بروز خطا خواهیم شد.