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

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

قام بنشر (معدل)

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

قمت بتصميم برنامج في الشركة التي اعمل بها وتم اضافة النسخة الاساسية من الجدول بادارة ال it وتوزيع الوجهات على المستخدمين للبرنامج

 ومن ضمن الحقول الخاصة بالبرنامج حقل الـ attachment لامكانية عمل  Upload لملفات pdf وبعد استخدام للبرنامج من الزملاء لمدة تقترب من 10 شهور وجدت شكوى مؤخرا من ظهور الرسالة المرفقة مع عدم امكانية قيام اي حد من الزملا باضافة اي سجل جديد او عمل تحميل لاي ملفات اخرى

ومساحة ملف الجدول الاساسي وصلت حجمها الى 2 جيجا.. وبعد البحث عن سبب ظهور هذه الرسالة وجدت ان السبب ان الملف وصل الى الحد الاقصى وهو 2 جيجا بسب تحميل ملفات ال pdf على نفس ملف الداتا بيز..

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

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

واخيرا خالص شكري للاخوة الكرام واسف على التطويل..

WhatsApp Image 2025-05-19 at 12.55.32 PM.jpeg

تم تعديل بواسطه pingo22
قام بنشر

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

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

طبعاً في مشاركة لمعلمنا الأستاذ @jjafferr في هذا الموضوع هنا ، أشار إلى أنه :-

"في الاوفيس M365 تم رفع الطاقة التخزينية الى 4 جيجا بشرط يكون الوندوز 64 بت" .

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

 

العديد من الأفكار يمكن تنفيذها ولكنك ستحتاج وقتاً ( ليس تحطيم للمعنويات بقدر ما هو حافز أنه يمكنك افراغ القاعدة وإعادة تشغيلها بطريقة علمية وممكنة ) .

  • Like 1
  • تمت الإجابة
قام بنشر

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

 

رجاء اعمل نسخة احتياط من برنامجك ، واحفظها في مكان آمن بعيد عن ملفات عملك.

 

هذا الموضوع يفيدك في تصدير المرفقات من الجدول الى مجلد في الكمبيوتر

.

وهذا الموضوع لحذف المرفقات من الجداول (ولكن يجب ان تتأكد ان جميع المرفقات تم تصديرها اولا)

 

  • Like 2
قام بنشر

نقل الصور من حقل Attachment في Access إلى مجلد باستخدام VBA

نعم، يمكنك نقل الصور من حقل Attachment في Access إلى مجلد مجاور للبرنامج باستخدام كود VBA. إليك كيفية القيام بذلك:

كود VBA لنسخ الملفات المرفقة إلى مجلد

كيفية استخدام الكود

  1. استبدل "اسم_جدولك" باسم الجدول الذي يحتوي على حقل المرفقات

  2. استبدل "اسم_حقل_المرفقات" باسم حقل Attachment في جدولك

  3. سيتم إنشاء مجلد يسمى "Attachments" بجوار ملف قاعدة البيانات إذا لم يكن موجوداً

  4. سيتم حفظ جميع الملفات المرفقة في هذا المجلد

ملاحظات مهمة

  • الكود يتعامل مع جميع أنواع الملفات المرفقة، ليس فقط الصور

  • يتم إنشاء أسماء ملفات فريدة لتجنب الكتابة فوق الملفات الموجودة

  • يتم تخطي الملفات المخفية مثل Thumbs.db

  • تأكد من أن لديك أذونات الكتابة في المجلد الهدف

يمكنك تعديل الكود حسب احتياجاتك الخاصة، مثل تصفية أنواع ملفات معينة (مثل .jpg, .png فقط) أو تنظيم الملفات في مجلدات فرعية.

واليك الكود :-

 
Sub ExportAttachmentsToFolder()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim rsAttach As DAO.Recordset2
    Dim fldAttach As DAO.Field2
    Dim strFilePath As String
    Dim strFileName As String
    Dim strFullPath As String
    Dim strFolderPath As String
    Dim i As Integer
    
    ' تحديد مسار المجلد الهدف (بجوار قاعدة البيانات)
    strFolderPath = CurrentProject.Path & "\Attachments\"
    
    ' إنشاء المجلد إذا لم يكن موجوداً
    If Dir(strFolderPath, vbDirectory) = "" Then
        MkDir strFolderPath
    End If
    
    ' فتح جدول أو استعلام يحتوي على حقل المرفقات
    Set db = CurrentDb()
    Set rs = db.OpenRecordset("اسم_جدولك") ' استبدل باسم الجدول الفعلي
    
    ' تحديد حقل المرفقات
    Set fldAttach = rs.Fields("اسم_حقل_المرفقات") ' استبدل باسم حقل المرفقات
    
    ' التكرار خلال السجلات
    Do Until rs.EOF
        ' فتح سجل المرفقات للسجل الحالي
        Set rsAttach = fldAttach.Value
        
        ' التكرار خلال المرفقات في السجل الحالي
        i = 0
        Do Until rsAttach.EOF
            ' تجنب الملفات المخفية (مثل thumbs.db)
            If Not (rsAttach.Fields("FileName") Like "~*" Or _
                    rsAttach.Fields("FileName") = "Thumbs.db") Then
                
                ' إنشاء اسم فريد للملف لمنع التكرار
                strFileName = rsAttach.Fields("FileName")
                strFullPath = strFolderPath & strFileName
                
                ' التأكد من عدم وجود ملف بنفس الاسم
                While Dir(strFullPath) <> ""
                    i = i + 1
                    strFullPath = strFolderPath & i & "_" & strFileName
                Wend
                
                ' حفظ المرفق إلى الملف
                rsAttach.Fields("FileData").SaveToFile strFullPath
            End If
            
            rsAttach.MoveNext
        Loop
        
        rsAttach.Close
        rs.MoveNext
    Loop
    
    ' تنظيف الذاكرة
    rs.Close
    Set rsAttach = Nothing
    Set fldAttach = Nothing
    Set rs = Nothing
    Set db = Nothing
    
    MsgBox "تم تصدير المرفقات بنجاح إلى: " & strFolderPath, vbInformation
End Sub

 

  • Like 1
قام بنشر

الاخوة الافاضل Foksh   kkhalifa1960 كل شكري وامتناني على اهتمامكم وردكم الغالي

والاستاذ والمعلم القدير أستاذ jjafferr بارك الله فيك وجعله دائما في ميزان حسناتك وزادك من العلم فأنت مثل ما قيل 

خير الناس أنفعهم للناس

خالص شكري وتقديري لكم جميعا

  • Like 1
قام بنشر
7 ساعات مضت, jjafferr said:

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

 

رجاء اعمل نسخة احتياط من برنامجك ، واحفظها في مكان آمن بعيد عن ملفات عملك.

 

هذا الموضوع يفيدك في تصدير المرفقات من الجدول الى مجلد في الكمبيوتر

.

وهذا الموضوع لحذف المرفقات من الجداول (ولكن يجب ان تتأكد ان جميع المرفقات تم تصديرها اولا)

 

عمل جميل ورائع ، ويعبر عن روعة صاحبه وأفكاره معلمنا الفاضل @jjafferr 😇

لم أقرأ هذا الموضوع سابقاً ، وأعتقد أن اليوم كان من حسن حظي اني تابعته :smile:

  • Thanks 1

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