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

طلب كيفية ربط بيانات النموذج الفرعي مع ملفات PDF


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

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

السلام عليكم،،

وسلمكم الله ورعاكم،،

أساتذتي الكرام،،

لدي برنامج مرفق به مجلد يحوي ملفات pdf..

ولدي نموذج به نموذج فرعي به مجموعة من البيانات،،

بيانات النموذج الفرعي تحوي على أسماء سجلات للطلاب وهذه السجلات هي جزء من مسمى ملفات pdf في المجلد المرفق

على سبيل المثال

الطالب محمد رقم سجله في النموج الفرعي 123456 وأسماء ملفات pdf مثلا 144-123456-22 وملف آخر باسم 98123456 وملف آخر باسم محمد123456

فنلاحظ أن اسم السجل موجود في كل اسم ملف خاص بهذا الطالب..

المطلوب كيف يتم ربط ملفات pdf تلقائيا بحيث تظهر في مربع بجوار النموذج الفرعي لجميع ملفات pdf التي تحوي هذا الرقم.. بحيث إذا تم الضغط مرتين على اسم ملف pdf يفتح مباشرة..

 

وبالمثال يتضح المقال..

رعاكم الله

ربط البيانات مع ملف pdf.rar

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

  • أفضل إجابة

وعليكم السلام 🙂

 

تفضل:

image.png.4ae3544c81fa8671682d4e8fe8fb9130.png

.

وهذا يحدث بهذا الكود:


Private Sub Form_Current()

    Dim rst As DAO.Recordset
    Dim strFile As String
    
    Set rst = Me.tabl2.Form.RecordsetClone
    rst.MoveFirst
    
    Me.lst_Files.RowSource = ""
    
    Do Until rst.EOF
        Debug.Print rst!noid
        Me.lst_Files.AddItem ">" & rst!noid
        
        'Now lets find how many files we have
        strFile = Dir(Application.CurrentProject.Path & "\Datapdfx\*" & rst!noid & "*.pdf")
        Do Until strFile = ""
            Debug.Print strFile
            Me.lst_Files.AddItem strFile
            
            strFile = Dir()
        Loop
    
        Me.lst_Files.AddItem ""
        
        rst.MoveNext
    Loop
    
End Sub





Private Sub lst_Files_DblClick(Cancel As Integer)

    Dim pdfPath As String
 
    If Left(Me.lst_Files, 1) = ">" Then Exit Sub
    
    pdfPath = CurrentProject.Path & "\Datapdfx\" & Me.lst_Files
    Shell "explorer.exe " & pdfPath, vbNormalFocus

 
End Sub

 

جعفر

dataPdf.zip

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

ما شاء الله تبارك الله أخي @jjafferr

زادك الله من واسع فضله،،

فلقد فرجت هما كبيرا.. 

واختصرت جهدا صخما..

ووهبت علما جميلا..

كتب الله أجرك ورضي عنك..

هل يمكن التعديل بحيث يقبل أي ملف غير الـ pdf كالوورد مثلا أو الصور.. للناحية المستقبلية وللفائدة العلمية..

سلمك الله وأغناك وأسعدك ومن كل سوء حماك وكل من قرأ وشارك..

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

طبعا أنا كنت أجرب قبل ما أشوف مشاركة أستاذنا العزيز جعفر 🙂 

وهذي محاولتي :

image.png.35c2be58840e71a9bb33b0f67c9f1acb.png

طبعا يتم استعراض ملفات ال PDF في المتصفح ( وهذا يتطلب وجود برنامج مشغل PDF ) ويمكن الاستغناء عن العرض

الكود يجلب كل الملفات المرتبطة بالرقم المطلوب تلقائيا عند الإنتقال من سجل لآخر في النموذج الفرعي ويجمعها في ليست بوكس ..

النقر المزدوج على اسم الملف يفتحه لك خارجيا ..

وهذا الكود :

Public Sub BringAllFilesAndFolders()
Dim path As String, currentPath As String
Dim List As ListBox
Set List = Forms!tabl1!FileList

path = CurrentProject.path & "\Datapdfx\"

currentPath = Dir(path, vbDirectory)

List.RowSource = ""

Do Until currentPath = vbNullString

    If InStr(currentPath, CStr(Me.noid)) > 0 Then
        List.AddItem currentPath
    End If
    currentPath = Dir()
Loop

Set List = Nothing
End Sub

 

ربط البيانات مع ملف pdf.rar

تم تعديل بواسطه Moosak
  • Like 5
رابط هذا التعليق
شارك

أسعدك الله ورضي عنك..

حاولت التطبيق فجاءت هذه الرسالة..

Screenshot_2.png

Screenshot_1.png

18 دقائق مضت, Moosak said:

طبعا أنا كنت أجرب قبل ما أشوف مشاركة أستاذنا العزيز جعفر 🙂 

وهذي محاولتي :

مبدعون مبدعون عادتكم،، إضافة متميزة :fff:

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

الحمد لله،، ثم الحمد لله..

المبدعون الكرام.. @jjafferr @Moosak

تقف الكلمات حائرة.. أمام جميل تعاونكم البناء وأخوتكم الكريمة..

تلاقت الأرواح بكل جمال ومحبة وصدق وتعاون..

فلكم منا صادق الدعاء فلقد أجدتم ونفعتم وكفيتم ووفيتم..

والحمد لله ضبطت الطريقة..

فشكر الله شكرا عظيما وجزاكم خير الجزاء وبارك لكم فيما رزقكم وجعل ما جدتم به رفعة لكم في الدنيا والآخرة..

 

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

34 دقائق مضت, Moosak said:

حياك الله أخي حامل المسك 🙂 

ضع هذا السطر في أول الكود ..

If IsNull(Me.nox) Or Me.nox = "" Then Exit Sub

 

29 دقائق مضت, jjafferr said:

وكذلك كود اخوي موسى بطريقتي :

If Len(Me.nox & "") = 0 Then Exit Sub

إضافة متميزة ورائعة كتميزكم المعتاد.. وبهذه الطريقة نعالج مشكلة إضافة سجل جديد،،

تمت تجربة الكودين ولم تكن رائعة...

بل بل أروووووع أرووووع من الرائعة

سلمكم الله وأغناكم وزادكم علما وهدى وتقى وصحة وعافية،،

:fff::fff::fff::fff:

 

 

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

  • 2 weeks later...
في 10‏/9‏/2022 at 20:54, Moosak said:
ublic Sub BringAllFilesAndFolders()
Dim path As String, currentPath As String
Dim List As ListBox
Set List = Forms!tabl1!FileList

path = CurrentProject.path & "\Datapdfx\"

currentPath = Dir(path, vbDirectory)

List.RowSource = ""

Do Until currentPath = vbNullString

    If InStr(currentPath, CStr(Me.noid)) > 0 Then
        List.AddItem currentPath
    End If
    currentPath = Dir()
Loop

Set List = Nothing
End Sub

أسعدكم الله ووفقكم لكل خير ورضي عنكم،،
هل بالإمكان التعديل على الكود بحيث يأخذ نفس اسم الملف بدون زيادة أو نقصان،،

فإذا كان اسم الملف 200 يظهر الملف الذي يحمل رقم 200 دون 2001 وغيرها..

أثثقلت عليكم ،، لكن هذه ظروف العمل،،

مع جزيل الشكر وعظيم الامتنان،،

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

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