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

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

قام بنشر

لست متأكداً أني فهمت الطلب بشكل صحيح أم لا فمن إطلاعي على المرفق لاحظت أنك تقوم بفتح التقرير مع مربع حوار الطباعة فخمنت أنك تريد طباعته مباشرة وليس فتحه في وضع المعاينة إذا كان هذا هو طلبك فقد قمت بتعديل الماكرو لطباعة التقرير مباشرة بدون فتحه في وضع المعاينة 

الطالب.accdb

قام بنشر

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

Private Sub أمر25_Click()
On Error Resume Next

    Dim ID As Long
    ID = Me.رقم_الهوية
    DoCmd.OpenReport "T1", acViewNormal, , "[رقم الهوية]=" & ID

On Error GoTo 0
End Sub

 

ملفك بعد التعديل :-

الطالب.zip

قام بنشر

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

اريد فقط الصفحة الاولى من التقرير فقط اذا كان ماكروا او كود جزاكم الله خير الجزاء

قام بنشر
56 دقائق مضت, dd13901390 said:

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

اهااا المشكلة هذه هي بسبب قياسات الصفحة والهوامش 

قم بتصغير عرض التقرير إلى 27 سم وستنتهي المشكلة

تحياتي

 

  • Thanks 1
قام بنشر (معدل)
في 15‏/11‏/2025 at 18:45, kkhalifa1960 said:

تفضل هذا الكود مهما كان الهوامش .

DoCmd.OpenReport "اسم_التقرير", acViewPreview
DoCmd.PrintOut ac

اعتذرا لصاحب الموضوع وكي تعم الفائدة ممكن استاذ تعمل معروف وتزيد للكود طباعة الصفحة اي  نسخ الطباعة 3 مرات بزر واحد

3 نسخ.png

تم تعديل بواسطه طاهر اوفيسنا
قام بنشر
منذ ساعه, طاهر اوفيسنا said:

3 مرات بزر واحد

 

اعتقد يمكن تحقيق ذلك من خلال استخدام OpenArgs كمتغير لعدد النسخ المستهدف طباعتها . وبالتالي نطبق فكرة الطباعة عند فتح التقرير بحيث يتم الطباعة مباشرةً بحلقة تكرارية لعدد مرات الطباعة عند فتح التقرير .

بحيث أولا نفتح التقرير من خلال زر ، مع تمرير قيمة المعامل OpenArgs وهنا سيكون 3 كمثال :-

DoCmd.OpenReport "اسم تقريرك", acViewNormal, , , , "3"

وداخل حدث عند فتح التقرير ، نحدد عدد الصفحات ( كما في المثال السابق ) الصفحة الأولى أو الحالية ، نستخدم الفكرة التالية :-

Private Sub Report_Open(Cancel As Integer)

    Dim c As Integer
    
    If Not IsNull(Me.OpenArgs) Then
        For c = 1 To Val(Me.OpenArgs) - 1
            DoCmd.PrintOut acPages, 1, 1
        Next c
    End If

End Sub

 

 

جرب وأخبرنا بالنتيجة

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

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

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

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

سجل حساب جديد

تسجيل دخول

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

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

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

Important Information