اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

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

كان عندي كود لايجاد الارقام الناقصه في فواتير تحت 3 شروط واجد صعوبه في فهم الكود وتحليله لتغيير البيانات فيه حسب احتياجي

ليها حسب اسماء الجداول والاستعلامات اللي في البرنامج بتاعي .. الكود فيه شرح بس الحقيقه مفهمتش قوي ومعرفتش فين مفاتيح الكود من اسماء جداول واستعلامات وحقول

وشكرا جزيلا مقدما


Sub ADD_MISSING()
    Dim RS As Recordset
    Set RS = CurrentDb.OpenRecordset("SELECT DISTINCT   PRID, KIND,  YEAR(M_DATE) AS KYEAR FROM MAIN")
    RS.MoveFirst
    
    '// احذف السجلات السابقة من جدول السجلات المفقودة
CurrentDb.Execute ("DELETE * FROM Lost_Serial")    
    Do Until RS.EOF
        '// دليل البحث
        PRID_KIND_KYEAR = RS!PRID & RS!KIND & RS!KYEAR
        
        '//أعلى قيمة للقيد
        MAX_VAL = DMax("PRIVATE_NO", "MAIN", "[PRID]&[KIND]&YEAR([M_DATE])='" & PRID_KIND_KYEAR & "'")
        
        '// دوارة البحث عن القيم غير المسجلة
        For I = 1 To MAX_VAL
            MISS_VAL = DMax("PRIVATE_NO", "MAIN", "[PRID]&[KIND]&YEAR([M_DATE])&[PRIVATE_NO]='" & PRID_KIND_KYEAR & I & "'")
            
           '// إذا لم تجد القيمة مسجلة فأضفها إلى الوظيفة
            If IsNull(MISS_VAL) Then
                
                RSLT = I & ",'" & RS!PRID & "','" & RS!KIND & "','1/1/" & RS!KYEAR & "'"
            
                '// أضف البيانات إلى جدول السجلات المفقودة
                CurrentDb.Execute PARA & "INSERT  INTO Lost_Serial (MISSING_NO, PRID,KIND, M_DATE ) VALUES(" & RSLT & ")"
                'Debug.Print RSLT
            End If
        Next
        RS.MoveNext
    Loop
   
End Sub

 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information