منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : استخدام المعاملات مع قواعد البيانات
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سلام عليكم ياسادة
أحياناً نضطر لتسجيل بيانات متكررة داخل قواعد البيانات مثل انوع ( ذكر / أنثى ) بدلاً من ذلك ننشئ جدول من حقلين الأول كود والثاني هي البيان . وباستخدام الكود التالي نحصل على قيمة الحقل الأول بمعرفة الثاني والعكس .
فمثلاً D_RS هو الجدول المستخدم لحفظ الأكواد ، D_Source  القيمة المطلوب البحث عنها داخل الجدول ، ترتيب حقل البحث ، D_Result_Col هو الحقل الناتج من الكود
Public Function Decoder(D_RS As Recordset, _
                        D_Source As String, _
                        D_Search_Col As Integer, _
                        D_Result_Col As Integer) As String
      On Error Resume Next
      D_RS.MoveLast
      D_RS.MoveFirst
      For Counter = 1 To D_RS.RecordCount
            If D_Source = Trim(D_RS.Fields(D_Search_Col)) Then
                  Decoder = D_RS.Fields(D_Result_Col)
                  Exit For
            Else
                  D_RS.MoveNext
            End If
      Next Counter
End Function
أرجو أن يحوز على إعجابكم
وعليكم السلام ورحمة الله وبركاته

الكود بشكل أبسط :

كود :
Public Function Decoder(D_RS As Recordset, _
                       D_Source As String, _
                       D_Search_Col As Integer, _
                       D_Result_Col As Integer) As String

   If D_RS.RecordCount > 0 Then D_RS.MoveFirst
   Do Until D_RS.EOF
       If D_Source = Trim(D_RS.Fields(D_Search_Col)) Then
           Decoder = D_RS.Fields(D_Result_Col)
           Exit Do
       End If
       D_RS.MoveNext
   Loop

End Function


حاول قدر المستطاع أن تستغني عن جملة تجاوز الخطأ (On Error Resume Next)اا
خلي برنامج بالأساس ما يوصل للخطأ ولا يقع فيه ..
حتى تضمن نتائج صحيحة على طول ..