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

كيفية تصدير التقرير الى pdf للسجل الحالي


عدي99

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

السلام عليكم

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

ارجو ان اكون قد وفقت لايصال الفكرة

وجزاكم الله خيرا 

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

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

 

اهلا وسهلا بك في المنتدى:smile:

 

عملت لك طريقتين مختلفتين ، بالرقم ، وبالنص ، وباستخدام نافذة الحفظ ، وباستخدام نافذة الحفظ التي يقدمها اكسس لحفظ اسم الملف ،

542.Clipboard01.jpg

 

وهذا كود حدث النموذج:

Option Compare Database

Private strInputFileName As String

Private Sub cmd_Show_PDF_Click()
On Error GoTo err_cmd_Show_PDF_Click
    
    'Call Get_File_Click
    Call Get_File_Click
    
    If Len(strInputFileName & "") = 0 Then Exit Sub
    
    DoCmd.OpenReport "rpt_Names", acViewPreview, , "[ID]=" & Me.ID, acHidden
    DoCmd.OutputTo acOutputReport, "rpt_Names", acFormatPDF, strInputFileName
    
    DoCmd.Close acReport, "rpt_Names", acSaveNo

'    PauseTime = 1    ' Set duration.
'    Start = Timer    ' Set start time.
'    Do While Timer < Start + PauseTime
'        DoEvents    ' Yield to other processes.
'    Loop
    
    Application.FollowHyperlink strInputFileName
    
Exit Sub
err_cmd_Show_PDF_Click:

    If Err.Number = 53 Then
        'file does not exist
        Resume Next
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
    End If
    
End Sub

Private Sub Get_File_Click()


    Dim strFilter As String

  
    'set what files should be filtered when the open dialog popsup
    'strFilter = ahtAddFilterItem(strFilter, "All Files (*.*)", "*.*")
    'strFilter = ahtAddFilterItem(strFilter, "Word document (*.doc)", "*.doc")
    'strFilter = ahtAddFilterItem(strFilter, "Excel sheet (*.xls)", "*.xls")
    'strFilter = ahtAddFilterItem(strFilter, "Ms Access files(mdb , accdb)", "*.mdb; *.accdb")
    strFilter = ahtAddFilterItem(strFilter, "PDF files ( pdf )", "*.pdf")
        'OpenFile=True means Open dialog,
        'OpenFile=False means Save dialog,
    strInputFileName = ahtCommonFileOpenSave(InitialDir:="C:\", _
                       Filter:=strFilter, OpenFile:=False, _
                       DialogTitle:="Please select a Ms Access File...", _
                       Flags:=ahtOFN_HIDEREADONLY)


    'the user clicked cancel, and didn't select a file
    If strInputFileName = "" Then Exit Sub

       
    
End Sub

Private Sub Save_This_File_Click()
On Error GoTo err_Save_This_File_Click

    Me.fName.SetFocus
    
    DoCmd.OpenReport "rpt_Names", acViewPreview, , "[fName]='" & Me.fName & "'", acHidden
    DoCmd.OutputTo acOutputReport, "rpt_Names", acFormatPDF, abc
    
Exit_Save_This_File_Click:
    DoCmd.Close acReport, "rpt_Names", acSaveNo
    
Exit Sub
err_Save_This_File_Click:

    If Err.Number = 2501 Then
        Resume Exit_Save_This_File_Click
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
    End If
    
End Sub

 

جعفر

 

542.reprtPdf2.accdb.zip

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

5 دقائق مضت, عدي99 said:

لان جربت ولم تفلح معي

ولكن عندك المرفق ، تقدر تشوف طريقة عمله !!

 

بإختصار:

يجب عليك اولا ان تختار سجل ، حتى نعرف قيم حقوله ،

ثم نفتح التقرير بتصفية ، حسب الحقل الذي تريد تصفيه ، وسواء الحقل رقم او نص (الحقل ID رقمي ، والحقل fName نص) ،

فطريقة معاينة تقرير عادي بتصفية بأحد هذه الحقول يكون:

للحقل الرقمي
DoCmd.OpenReport "rpt_Names", acViewPreview, , "[ID]=" & Me.ID

او

للحقل النصي
DoCmd.OpenReport "rpt_Names", acViewPreview, , "[fName]='" & Me.fName & "'"

.

وامر تصدير / طباعة التقرير  rpt_Names على صيغة pdf هو (والذي يطبع جميع السجلات):

DoCmd.OutputTo acOutputReport, "rpt_Names", acFormatPDF, File_name_and_path

.

وبما اننا نريد ان ان نصدر سجل واحد ، والامر عاليه لا يسمح لنا بذلك ،

فنقوم بمعاينة التقرير كما عملنا سابقا ، فلما يأتي امر التصدير الى pdf ، يأخذ بياناته من التقرير المفتوح (بدلا ان يأخذ جميع السجلات) ،

ولكنه لا يبدو جيدا ان يرى المستخدم التقرير مفتوحا امامه ، لذلك نفتح التقرير بصورة مخفيّه (حيث يراها البرنامج ولا يراها المستخدم) ، هكذا:

للحقل الرقمي
DoCmd.OpenReport "rpt_Names", acViewPreview, , "[ID]=" & Me.ID , acHidden

او

للحقل النصي
DoCmd.OpenReport "rpt_Names", acViewPreview, , "[fName]='" & Me.fName & "'" , acHidden

.

والشئ الاخير هو اسم الملف ومسار حفظه ،

فاذا لم يكن معرّفا (لم تكون فيه قيمة) ، فيفتح لك الاكسس نافذة اختيار المجلد واسم الملف) :smile:

 

جعفر

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

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