اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

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

بالمثال المرفق  يوجد تقرير 

في خاصية عند الفتح يوجد كود لتنسيق التقرير

بحيث لوكان عدد السجلات مثلا 3 كما بالمثال

يقوم الكود باكمال ظة السجلات الى 10 بحقول فارغة للمحافظ ةعلى التنسيق

 

المشكلة :

اذا لم يكن يوجد سجلات بالجدول فأن الكود لايعمل ويظهر رسالة خطأ

فهو يحتاج الى سجل واحد على الاقل لكي يعمل

المشكلة الثانية

لوكان عدد السجلات بالجدول اكثر من عشرة فأنه يظهر رسالة خطأ ويتوقف عن العمل

 

المطلوب :

تعديل الكود بحيث حتى لو لم يكن هناك سجلات بالجدول يبقي على نفس التنسيق ويظهر عشر سجلات فارغة

واذا كان عدد السجلات بالجدول اكثر من  10 يقوم باظهار جميع السجلات

item.rar

قام بنشر

تفضل حسب الطلب

Dim x As Integer
Dim n As Long
x = DCount("id", "table1")
rsrce = Me.RecordSource
If x >= 10 Then
Me.RecordSource = "Table1"
Exit Sub
End If
n = Nz(DMax("id", "table1"))
If n = 0 Then
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Table1 ( id ) SELECT 1 AS Expr1"
DoCmd.SetWarnings True
End If
For i = 1 To 10 - x
n = n + 1
   rsrce = rsrce & " Union SELECT " & n & " as a, null as b, null as c FROM Table1"
   Next i
Me.RecordSource = rsrce & " ORDER BY Table1.id"

item2.rar

قام بنشر

هذا هو المطلوب اخي ابو خليل

الله يعطيك العافية

 

وحبيت استزيد

واستفسر عن شيئ اخر

لو افترضنا ان مصدر التقرير هو استعلام وليس جدول

كيف سيكون وضع الكود

 

تقبل تحياتي

قام بنشر

حاولة اجعل مصدر البيانات استعلام

لكن توجد مشكلة عند عدم وجود سجلات

حيث لايستطيع الكود افي هذا الجزأ العمل

DoCmd.RunSQL "INSERT INTO Table1 ( id ) SELECT 1 AS Expr1"

ارجو الافادة

قام بنشر

بعد اذن الاستاذ أبو خليل

 

يمكن كتابة الكود بطريقة مختصرة جدا عن طريق خاصية   ForceNewPage   كما يلي

مع وضع الكود في تنسيق التفصيل  Detail_format

 

text9 = هو حقل التسلسل في التقرير

لابد من جعل مصدر هذا الحقل:  = 1   واجراء الجمع على الكل

أي 

control Source : =1

Running Sum : Over All

 

ولو احببت ان تكون كل صفحة لها ترقيم خا ص أي يبدأ من 1 إلى 10

اجعل عملية الجمع على المجموعة

Running Sum : Over Group

 

 

( لان العملية الحسابة مع  mod ) بتبحث عن الرقم الذي يقب القسمة على 10

فإذا وجد رقم يقبل القسمة على 10 بعد 3 حقول سوف ينتقل إلى الصفحة التالية للتقرير

 

ولذلك لابد من ضبط خاصية text9  إلى ما سبق توضيحه في كل من   Control Source   و   Running Sum

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

    If [Text9] Mod 10 = 0 Then
        Me.Detail.ForceNewPage = 10
    Else
        Me.Detail.ForceNewPage = 0
    End If
    
End Sub

اتمنى ان تنال اعجابكم

item3.rar

قام بنشر

بعد اذن الاستاذ أبو خليل

 

يمكن كتابة الكود بطريقة مختصرة جدا عن طريق خاصية   ForceNewPage   كما يلي

مع وضع الكود في تنسيق التفصيل  Detail_format

 

text9 = هو حقل التسلسل في التقرير

لابد من جعل مصدر هذا الحقل:  = 1   واجراء الجمع على الكل

أي 

control Source : =1

Running Sum : Over All

 

ولو احببت ان تكون كل صفحة لها ترقيم خا ص أي يبدأ من 1 إلى 10

اجعل عملية الجمع على المجموعة

Running Sum : Over Group

 

 

( لان العملية الحسابة مع  mod ) بتبحث عن الرقم الذي يقب القسمة على 10

فإذا وجد رقم يقبل القسمة على 10 بعد 3 حقول سوف ينتقل إلى الصفحة التالية للتقرير

 

ولذلك لابد من ضبط خاصية text9  إلى ما سبق توضيحه في كل من   Control Source   و   Running Sum

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

    If [Text9] Mod 10 = 0 Then
        Me.Detail.ForceNewPage = 10
    Else
        Me.Detail.ForceNewPage = 0
    End If
    
End Sub

اتمنى ان تنال اعجابكم

عفوا اخي على

لو لاحظت انه عندما لايوجد الا سجلين بالجدول

فأنه لايكمل ويجعل الصفوف عشرة كما هو مطلوب

فقط يقوم باظهار السجلات الموجودة

وهذا خلاف الطلب من اجل المحافظة على تنسيق التقرير

قام بنشر

شكرا للاستاذ علي المعلومة الجميلة

 

حاولة اجعل مصدر البيانات استعلام

لكن توجد مشكلة عند عدم وجود سجلات

حيث لايستطيع الكود افي هذا الجزأ العمل

DoCmd.RunSQL "INSERT INTO Table1 ( id ) SELECT 1 AS Expr1"

ارجو الافادة

المشكلة عندك 

ارفق مثالك لتشخيص المشكلة

قام بنشر

نعم استاذي الكريم

أي ان المطلوب حتى ولو كان موجود صف أو صفين لابد من اظهار باقي العشرة فارغ

 

 

 

 

 

 

المشكلة عندك 

 

ارفق مثالك لتشخيص المشكلة

 

 

تفضل اخي ابو خليل

انظر المثال المرفق بعد جعل مصدر التقرير استعلام

ووضع الشرط في الاستعلام

 

item3.rar

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information