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

ترقيم جديد للنموذج الفرعي


Eng.Qassim
إذهب إلى أفضل إجابة Solved by ابوخليل,

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

السلام عليكم 

اعتقد ان الموضوع تناوله بعض الاخوة الافاضل ...بحثت في المنتدى ولم اجد ضالتي ...ربما السبب في عنوان الموضوع

المهم ...اني احتاج لترقيم جديد في النموذج الفرعي لكل فاتورة جديدة 

عملت ذلك حسب ماتعلمته من منتدانا واساتذتنا الكبار ...

حاولت التخلص من كلمة Error التي تظهر لي في السطر الاخير ...ولم افلح 

image.png.8af5c74214b0ba6a57c66adf50df7002.png

 

invoice1.rar

رابط هذا التعليق
شارك

عليكم السلام

هل هذه هي الدالة التي تبحث عنها ؟

Public Function RowNum(frm As Form) As Variant
On Error GoTo Err_RowNum
    With frm.RecordsetClone
        .Bookmark = frm.Bookmark
        RowNum = .AbsolutePosition + 1
    End With
Exit_RowNum:
    Exit Function
Err_RowNum:
    If Err.Number <> 3021& Then  'Ignore "No bookmark" at new row.
        Debug.Print "RowNum() error " & Err.Number & " - " & Err.Description
    End If
    RowNum = Null
    Resume Exit_RowNum
End Function
'=RowNum([form])

 

invoice2.rar

رابط هذا التعليق
شارك

4 دقائق مضت, ابوخليل said:

هل هذه هي الدالة التي تبحث عنها ؟

لا استاذي @ابوخليل

انظر الى التسلسل 

image.png.678a10c37f5bca763bfe54b03d3ced65.png

اريد حقل ت 1 2 3 وهكذا ... وهو يعمل لدي مضبوط .. لكن السطر الاخير الذي ليس فيه اي سجلات يعطي كلمة Error 

الدالة تعمل جيدا معي ...لكن كلمة Error توحي للمستخدم ان هناك خطأ

رابط هذا التعليق
شارك

  • أفضل إجابة

سبب الخطأ ان قيمة مربع التحرير = صفر  وليس null

جرب هذا

=IIf([ItemCode]=0;Null;Nz(DCount("ItemCode";"SalesOrderDetailsT";"SaleID=" & [SaleID] & "AND SaleOrder <" & [SaleOrder]);0)+1)

 

  • Like 2
رابط هذا التعليق
شارك

احسنت استاذ @ابوخليل

كنت اظن ان الدالة لاترى الحقل null وانما رقم ..وبفضل الله وفضلك وجدت الحل 

كان المفروض ان اختار الحقل saleOrder وليس ItemCode

=IIf(IsNull([SaleOrder]);Null;Nz(DCount("*";"SalesOrderDetailsT";"SaleID=" & [SaleID] & "AND SaleOrder <" & [SaleOrder]);0)+1)

 

رابط هذا التعليق
شارك

دائما تحدث معنا ..

يوم كامل ابحث عن سبب لعدم ظهور صورة معينة رغم ان كل الصور تظهر .. والنتيجة كان السبب حرف واحد زائد في احدى الكلمات ... وقد استنجدت باكسس للبحث عن الاخطاء في الاكواد ولكن بلا فائدة لان فيجول لا يعتبرها خطأ حيث انها اصبحت تحمل قيمة ولكن القيمة مغايرة .

رابط هذا التعليق
شارك

2 ساعات مضت, Eng.Qassim said:

كنت اظن ان الدالة لاترى الحقل null وانما رقم ..وبفضل الله وفضلك وجدت الحل 

فكرة اخرى

لو جعلت حقل الترقيم في جدول تفاصيل الفاتورة

ويبدأ العد في حدث بعد التحديث للحقل ItemCode

فلن تظهر كلمة Error

ونكتفي بـ

Me.txtNewNumber = Nz(DCount("ItemCode", "SalesOrderDetailsT", "SaleID=" & [saleID] & "AND SaleOrder <" & [SaleOrder]), 0) + 1

ونستغني عن الكود الموجود في حدث الحالي للنموذج الفرعي

ولكن لو حرف امتناع لامتناع

اخونا الشايب

رابط هذا التعليق
شارك

6 ساعات مضت, Eng.Qassim said:

سوف يأخذ اخر رقم لجميع الحقول 

لا لا بل يحسب بشكل صحيح لكن هل جعلت

10 ساعات مضت, شايب said:

لو جعلت حقل الترقيم في جدول تفاصيل الفاتورة

ستجد ان الترقيم صحيح

الملف مرفق

 

 

invoice1.accdb

  • Like 1
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information