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

تعديل على كود حفظ متعدد للوثائق بجانب قاعدة البيانات


moho58

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

السلام عليكم الإخوة الأفاضل في هذا المنتدى الجميل

في هذا الموضوع اٍريد التعديل على كود خاص بحفظ متعدد للوثائق بجانب قاعدة البيانات:

هذا الكود الرائع لأخ فاضل بناءا على طلبي لي سابق هنا

الكود يشتغل وجربته على عدة نماذج وشغال

ونظرا لاحتياجاتي:

قمت باضافة حقلين جديدين  في جدول TblAttchedFiles

وهما:

annee_dossier

titre_f

فظهرت معي المشكلة التالية:

العنوان - السنة - اسم الملف: لايكونون في نفس السطر  ** كما في الصورة المرفقة رقم 1**

وتحدث هذه المشكلة عند البداية أولا بكتابة العنوان أو السنة  ثم قمت بإضافة الملف

لكن عندما أقوم بإضافة الملف أولا  ثم كتابة العنوان والسنة لا نلاحظ هذه المشكلة.

الرجاء التعديل على الكود لحل المشكلة خاصة أنني ممكن أضيف أكثر من 3 حقول مستقبلا عندما احتاج.

 

الطلب الثاني: الرجاء التعديل على كود الحذف في زر  delete  : لحذف الملف: أريد حذف السجل حتى وان كان الملف غير مرفق (غير مضاف) كما في الصورة التوضيحية رقم 2

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

 

الصورة2.jpg

الصورة1.jpg

base_mu.accdb

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

12 دقائق مضت, moho58 said:

السلام عليكم الإخوة الأفاضل في هذا المنتدى الجميل

في هذا الموضوع اٍريد التعديل على كود خاص بحفظ متعدد للوثائق بجانب قاعدة البيانات:

هذا الكود الرائع لأخ فاضل بناءا على طلبي لي سابق هنا

الكود يشتغل وجربته على عدة نماذج وشغال

ونظرا لاحتياجاتي:

قمت باضافة حقلين جديدين  في جدول TblAttchedFiles

وهما:

annee_dossier

titre_f

فظهرت معي المشكلة التالية:

العنوان - السنة - اسم الملف: لايكونون في نفس السطر  ** كما في الصورة المرفقة رقم 1**

وتحدث هذه المشكلة عند البداية أولا بكتابة العنوان أو السنة  ثم قمت بإضافة الملف

لكن عندما أقوم بإضافة الملف أولا  ثم كتابة العنوان والسنة لا نلاحظ هذه المشكلة.

الرجاء التعديل على الكود لحل المشكلة خاصة أنني ممكن أضيف أكثر من 3 حقول مستقبلا عندما احتاج.

 

الطلب الثاني: الرجاء التعديل على كود الحذف في زر  delete  : لحذف الملف: أريد حذف السجل حتى وان كان الملف غير مرفق (غير مضاف) كما في الصورة التوضيحية رقم 2

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

 

الصورة2.jpg

الصورة1.jpg

base_mu.accdb 564 kB · 0 downloads

اولا اهلا وسهلك بيك اخي الكريم

بالنسبه لنقطة انك تريد الحذف لوجود اى بيانات للسجل وليس فقط اسم الملف

عدل على شروط الحذف

If Not IsNull(FileName) Or Not IsNull(annee_dossier) Or Not IsNull(titre_f) Then

 

اما بالنسبه للنقطة الاولى :-

15 دقائق مضت, moho58 said:

العنوان - السنة - اسم الملف: لايكونون في نفس السطر  ** كما في الصورة المرفقة رقم 1**

ده بسبب ان الكود فى الاصل بيضيف سجل جديد وليس تحديث

ولحلها يحتاج لوضع الكثير من الاحتمالات

لكن خلينا نبسط الامور حتى لا تثبح معقده وتأخذ وقت
 

 

استبدل الكود التالى بكود رفع الملف او فتحه

 

Private Sub cmdUploadOpen_Click()
On Error GoTo HandleError
 
    Dim folderPath As String
    Dim subFolderPath As String
    Dim fileDialog As fileDialog
    Dim selectedFile As String
    Dim destinationFile As String
    Dim recordID As String
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim i As Integer

    
    folderPath = CurrentProject.Path & "\AttachedFiles"

    If Dir(folderPath, vbDirectory) = "" Then
        MkDir folderPath
    End If

    recordID = [Forms]![frm_sader_wared]![SN].Value
    subFolderPath = folderPath & "\" & recordID
    If Dir(subFolderPath, vbDirectory) = "" Then
        MkDir subFolderPath
    End If

    If Me.NewRecord Then
        Set fileDialog = Application.fileDialog(msoFileDialogFilePicker)
        With fileDialog
            .AllowMultiSelect = True
            .Title = "Select Files to Attach"
            If .Show = -1 Then
                Set db = CurrentDb()
                Set rs = db.OpenRecordset("TblAttchedFiles", dbOpenDynaset)

                For i = 1 To .SelectedItems.Count
                    selectedFile = .SelectedItems(i)
                    destinationFile = subFolderPath & "\" & Dir(selectedFile)
                    FileCopy selectedFile, destinationFile
                    rs.AddNew
                    rs!LSn = recordID
                    rs!FileName = Dir(selectedFile)
                    rs.Update
                Next i

                rs.Close
                Set rs = Nothing
                Set db = Nothing
            End If
        End With
    
    ElseIf IsNull(Me.FileName) Or Me.FileName = "" Then
        
        Set fileDialog = Application.fileDialog(msoFileDialogFilePicker)
        With fileDialog
            .AllowMultiSelect = False
            .Title = "Select Files to Attach"
            If .Show = -1 Then
                Set db = CurrentDb()
                Set rs = db.OpenRecordset("TblAttchedFiles", dbOpenDynaset)

                For i = 1 To .SelectedItems.Count
                    selectedFile = .SelectedItems(i)
                    destinationFile = subFolderPath & "\" & Dir(selectedFile)
                    FileCopy selectedFile, destinationFile
                    rs.FindFirst "LSn = " & recordID & " AND ID = " & ID
                    If Not rs.NoMatch Then
                        rs.Edit
                            rs!FileName = Dir(selectedFile)
                        rs.Update
                    End If
                Next i

                rs.Close
                Set rs = Nothing
                Set db = Nothing
            End If
        End With

    Else
        Application.FollowHyperlink subFolderPath & "\" & Me.FileName
    End If
  Form.Requery
HandleExit:
    Exit Sub
    
HandleError:
    If Err.Number = 16388 Then
        Exit Sub
    ElseIf Err.Number = 490 Then
        MsgBox "لايمكن فتح الملف لانه مفقود"
        Exit Sub
    ElseIf Err.Number = 0 Then
        Exit Sub
    Else
        MsgBox Err.Number & vbNewLine & vbNewLine & Err.Description
    End If
    Resume HandleExit
End Sub

 

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

الأخ الفاضل @عمر ضاحى

مشكور على الرد والمتابعة

بالنسب لكود الحدف:

 

If Not IsNull(FileName) Or Not IsNull(annee_dossier) Or Not IsNull(titre_f) Then

ربما أنا لم ارشرح جيدا

إن أمكن أريد ان يتم حذف سجل حسب الشرط التالي: سواء  كان فيه الملف لوحده أو العنوان لوحده أو السنة لوحده أو مجتمعين إثنين فقط أو مجتمعين ثلاثة معا

 

بالنسية لكود رفع الملف وفتحه بعد التجربة مزال نفس المشكل 

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

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

6 ساعات مضت, moho58 said:

3.jpg.9fe1202cc545a1d04deccd9f256ca8e0.jpg

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

image.thumb.gif.91f3ed737766b88d1033b40819c7a940.gif

 

 

المرفق

base_mu.rar

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

22 دقائق مضت, عمر ضاحى said:

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

image.thumb.gif.91f3ed737766b88d1033b40819c7a940.gif

 

 

المرفق

base_mu.rar 39.81 kB · 0 downloads

تحية طيبة أخي

مشكور جدا على الاهتمام بموضوعي

فيما يخص كود الحذف شغال وهذا هو المطلوب

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

لإني أنا مزالت عندي نفس المشكلة

وشكرا

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

10 دقائق مضت, moho58 said:

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

من باب التأكد ، هل ما تقوم به هو نسخ الكود من ملف الخل الذي شاركك به الأستاذ @عمر ضاحى لملفك ومشروعك الأصلي ؟؟

 

اذا كان نعم فتأكد من المكتبات التي في الملف المرفق وبين مشروعك

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

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

من باب التأكد ، هل ما تقوم به هو نسخ الكود من ملف الخل الذي شاركك به الأستاذ @عمر ضاحى لملفك ومشروعك الأصلي ؟؟

 

اذا كان نعم فتأكد من المكتبات التي في الملف المرفق وبين مشروعك

مشكور أخي على الرد والمتابعة

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

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

لذلك منه فضلا التحقق من الملف المرفوع او وضع الكود هنا

 

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

×
×
  • اضف...

Important Information