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

ارجو المساعدة استخراج تقارير على شكل PDF تلقائيا


HERO92
إذهب إلى أفضل إجابة Solved by jjafferr,

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

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

ارجو المساعدة 
يوجد لدى قاعدة بيانات اكسس يتم استخراج تقارير مبنى على استعلام على شكل PDF بتاء على ادخال رقم وتاريخ وهذا يتم لكل رقم واحد واحد ولكثرة التقارير يأخد وقت ومجهود كبير جدا ، هل يمكن عمل كود فى النموذج لاستخراج جميع التقارير على شكل PDF مرة واحدة بناء على تاريخ معين (بمعنى يتم استخراج كل رقم فى تقرير مستقل بناء على تاريخ معين عن طريق النموذج )

مرفق مثال للمطلوب

وتقبل خالص تحياتى

TEST.rar

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

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

الاستاذ / جعفر المحترم 

اولا اشكرك على اهتمامك وجزاك الله خيرا

 

تم الاطلاع على الصور وتم تنفيذها لكن تم اخراج تقرير واحد فقط ولكن المطلوب وضع تاريخ ووعند الضغط على الزر يتم اخراج جميع  التقارير الـPDF لكل رقم موجود بالعمود Cen بجدول TTTT وحفظ تقارير الــ PDF فى مجلد على الجهاز  كما ارغب فى تسيمة كل تقرير حسب الرقم الموجود فى العمود Cen

 

 

تقبل خالص تحياتى 

تم تعديل بواسطه HERO92
رابط هذا التعليق
شارك

وعليكم السلام  :smile:

 

خلينا على السؤال الاصل ، ومن ثم نرى الباقي ان شاء الله  :smile:

 

لوسمحت تفتح الجدول TTTTTT (أسف ما حسبت كم T يوجد في اسم الجدول  :smile: ) ، وستلاحظ ان التواريخ فيها كلها عبارة عن سجل واحد فقط !!

وافتح الاستعلام Query ، وبدون اي تاريخ ، سترى ان عندك تاريخين مختلفين كذلك !!

يعني ، لو ان عندك اكثر من سجل بنفس التاريخ ، لرأيت جميع السجلات تُطبع في تقرير واحد.

 

جرب وخلي السجلات في الجدول بنفس التاريخ ، ثم اطبع من النموذج ، واخبرنا النتيجة  :smile:

 

 

جعفر

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

عفوا

انت قلت سابقا:

لاستخراج جميع التقارير على شكل PDF مرة واحدة

 

 

 

والان تقول:

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

 

 

 

يعني انت لا تريد جميع التقارير في ملف pdf واحد ،

وانما تريد كل تقرير في ملف pdf مستقل؟

هل هذا صحيح؟

 

 

جعفر

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

الاستاذ / جعفر    المحترم 

 

تحية طيبة 

 

نعم كلامك صحيح اذا تم توحيد التاريخ يتم طباعة جميع السجلات فى تقرير واحد ، ولكن التواريخ لدى مختلفة مثال 1/5/2015 يوجد به 100 سجل وكل رقم يحتوى على مجموعة سجلات من الــ 100 سجل  وهكذا  

 

المطلوب 

عند الضغط على الزر فى النموذج  يتم اخراج كل رقم بمجموعة السجلات الخاصة به فى تقرير مستقل  على شكل PDF وتحفظ التقارير فى مجلد على الجهاز كما ارغب فى تسيمة كل تقرير حسب الرقم الموجود فى العمود Cen

 

وتقبل خالص تحياتى

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

أنا آسف ، فانت تتكلم عن حقلين ، بينما انا اتكلم عن حقل واحد هو التاريخ !!

 

الحل سهل ، والامر هو:

Private Sub Command1_Click()
On Error GoTo Command1_Click_Err

    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("Select * From TTTT Where [date]=#" & Me.iDate & "#")
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    
    'Output_Path= "c:\"
    Output_Path = Application.CurrentProject.Path & "\"
    
    For i = 1 To RC
    
    DoCmd.OutputTo acOutputReport, "AAAA", "PDFFormat(*.pdf)", Output_Path & rst!Cen, False, , 0, acExportQualityPrint
    
    rst.MoveNext
    Next i
    
    rst.Close: Set rst = Nothing


Command1_Click_Exit:
    Exit Sub

Command1_Click_Err:
    MsgBox Error$
    Resume Command1_Click_Exit

End Sub

ولكن يجب ان اعرف تفاصيل أدق ،

لذا رجاء ، اعمل لي/او ارفق سجلات صحيحة بتواريخ وارقام صحيحة ،

كما ارفق لي سواء في اكسل ، او صورة ، توضح فيها السجلات التي تكون مجموعة مع بعض بالتاريخ و cen ،

وعلى اساسه اضبط لك الكود ان شاء الله  :smile:

 

 

جعفر

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

الاستاذ / جعفر المحترم 

 

مرفق قاعدة البيانات به البيانات المطلوبة 

ومرفق صورة  لشكل التقرير الذى يتم استخراجه  والمطلوب 

 

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

 

تقبل خالص تحياتى 

TEST.rar

post-95563-0-52976800-1432815496_thumb.p

تم تعديل بواسطه HERO92
رابط هذا التعليق
شارك

وعليكم السلام  :smile:

 

الآن وقد وفرت ووضحت الأمور بالتفصيل ، اليك الجواب بالتفصيل  :wink2:

 

الآن النموذج يحتوي على حقلين:

حقل التاريخ ، حيث تختار التاريخ المطلوب ،

اما حقل IDD ، فهو ليس لك ، وانما للبرنامج ، لذا يمكنك ان تجعله مخفي  :smile:

post-142414-0-47546000-1432830464_thumb.

 

 

والزر Exporter يحتوي على هذا الكود:


Private Sub cmd_Export_to_pdf_Click()
On Error GoTo err_cmd_Export_to_pdf_Click
 
    Dim rst As DAO.Recordset
    
    'get the unique IDDs from qry_Test_Sums
    Set rst = CurrentDb.OpenRecordset("Select * From qry_Test_Sums Where [Date]=#" & Me.Idate & "#")
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    
  
    'now loop through the IDDs, printing a Report for each
    For i = 1 To RC
    
        'write the IDD to the Form,
        'where qry_Test uses it with the Date from
        Me.iIDD = rst!IDD
        
        'Output_Path= "c:\" & rst!IDD & ".pdf"
        Output_Path = Application.CurrentProject.Path & "\" & rst!IDD & ".pdf"
    
    'The print to pdf cpmmand
    DoCmd.OutputTo acOutputReport, "AAAA", "PDFFormat(*.pdf)", Output_Path, False, , 0, acExportQualityPrint
    
    rst.MoveNext
    Next i
    
    'cleaning up
    Me.iIDD = ""
    rst.Close: Set rst = Nothing
    
    MsgBox "pdf Printing completed"
    
 
 
cmd_Export_to_pdf_Click_Exit:
    Exit Sub
 
err_cmd_Export_to_pdf_Click:
    
    If Err.Number = 3021 Then
        MsgBox "No Records to Print"
        Resume cmd_Export_to_pdf_Click_Exit
    Else
        MsgBox Error$
    End If

End Sub

والكود يرسل قيمة IDD من الاستعلام qry_Test_Sums ، 

post-142414-0-76997100-1432830475_thumb.

 

 

حيث يتم استعمال هذه القيمة ، مع قيمة التاريخ في النموذج ، لتصفية سجلات الاستعلام qry_Test ، 

post-142414-0-36061000-1432830497_thumb.

 

 

والنتيجة

300.pdf

 

 

يقوم البرنامج بتصدير جميع ملفات pdf الى نفس المجلد الذي به البرنامج ، وقد وضعت لك مثال لتغيير المسار.

 

 

جعفر

post-142414-0-65444600-1432830485_thumb.

78.2.TEST.accdb.zip

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

جزاك الله خيرا استاذ جعفر

 

تم تجربة البرنامج ولكن يطلع رسالة وهى (No Records to Print) ولايوجد تقارير فى الملف  ارجو التوضيح هل لابد من عمل تعديل من قبلنا ليشتغل بشكل صحيح

 

تقبل خالص تحياتى

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

الاستاذ الفاضل / جعفر

 

اولا نأسف على كثرة الاسئلة

 

هل يمكن عمل زر اخر  لاستخراج ملفات اكسل  لكل رقم موجود بالعمود Cen  من جدول (TTTT)  فقط وبتاريخ معين  وحفظ ملفات الاكسل فى مجلد على الجهاز  كما ارغب فى تسيمة كل ملف اكسل حسب الرقم الموجود فى العمود Cen

 

اشكرك على حسن تعاونك معنا

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

تفضل اخى الكريم

 

مرفق قاعدة البيانات به نموذج لاستخراج ملف اكسل مستقل لكل رقم بناء على تاريخ معين

ومرفق ملف اكسل كمثال

المطلوب

عند الضغط على الزر فى النموذج  يتم اخراج كل رقم بمجموعة السجلات الخاصة به فى ملف اكسل مستقل  ويحفظ ملفات الاكسل فى مجلد على الجهاز كما ارغب فى تسيمة كل ملف اكسل  حسب الرقم الموجود فى العمود Cen

 

شاكرين حسن تعاونك معنا

TEST.accdb(1).rar

300.rar

تم تعديل بواسطه HERO92
رابط هذا التعليق
شارك

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