منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[vb6.0] استخدام المعاملات مع قواعد البيانات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (https://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (https://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (https://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أمثلة ومشاريع vb6.0 (https://vb4arb.com/vb/forumdisplay.php?fid=30)
+---- الموضوع : [vb6.0] استخدام المعاملات مع قواعد البيانات (/showthread.php?tid=40055)



استخدام المعاملات مع قواعد البيانات - شبح_الشبكة - 21-11-21

سلام عليكم ياسادة
أحياناً نضطر لتسجيل بيانات متكررة داخل قواعد البيانات مثل انوع ( ذكر / أنثى ) بدلاً من ذلك ننشئ جدول من حقلين الأول كود والثاني هي البيان . وباستخدام الكود التالي نحصل على قيمة الحقل الأول بمعرفة الثاني والعكس .
فمثلاً 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
أرجو أن يحوز على إعجابكم


RE: استخدام المعاملات مع قواعد البيانات - Taha Okla - 21-11-21

وعليكم السلام ورحمة الله وبركاته

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

كود :
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)اا
خلي برنامج بالأساس ما يوصل للخطأ ولا يقع فيه ..
حتى تضمن نتائج صحيحة على طول ..