أفضل وأسهل وأأمن وسيلة لخزن عدد غير محدد من الملفات (كتب أو صور أو ملفات مضغوطة) لكل شخص في قاعدة البيانات دون التأثير على حجم قاعدة البيانات هي بتكوين ملف (folder) باسم كل الشخص في قاعدة البيانات يخزن في داخله ملفاته الشخصية .اي عند إضافة كل شخص جديد إلى قاعدة البيانات نضيف مرفقاته معه وسوف يكون (folder) بأسمه يخزن ملفات هذا الشخص في داخله وعندما نريد الوصول إلى هذه الملفات تكون الوسيلة سهلة مجرد نبحث عن ملفا داخل (folder) الخاص به.
فعلى سبيل المثال إذا أردنا تخزين ملفات جميع الأشخاص داخل (folder) اسمه (filesAdd) بمسار تشغيل البرنامج مثلا عند إضافة شخص اسمه حسين الربيعي سيكون (folder) بأسمه و بشكل التالي
path= Application.StartupPath & "\filesAdd\" & "حسين الربيعي" & "\MURFACAT"
إي بمسار تشغيل البرنامج وداخل فولدر (filesAdd) كون فولدر اسمه حسين الربيعي وداخله فولدر اسمه (MURFACAT) لخزن ملفاته فيخزن بمسار تشغيل البرنامج

خطوات الإضافة : لنفرض أن اسم الشخص الذي نضيفه موجود داخل TextBox1name.Text
1. ندرج أداة (CheckedListBox1) ونضيف زر نسمية اضافة ملفات نضيف عن طريقه مسار الملفات المرفقة داخل (CheckedListBox1) بطريقة التالية
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If fDg.ShowDialog() = DialogResult.OK Then CheckedListBox1.Items.Add(fDg.FileName) End If End Sub
2. بعد عملية إضافة سجل لكل شخص نستدعي الدالة التالية لكي تقوم بإضافة ملفاته المرفقة التي أضيف مساراتها إلى (CheckedListBox1) داخل مجلد شخصي للشخص الذي نكونه حديثا
Sub savedMurfacatfile() On Error Resume Next path = Application.StartupPath & "\filesAdd\" & Trim(TextBox1name.Text) & "\MURFACAT" If My.Computer.FileSystem.DirectoryExists(path) = False Then My.Computer.FileSystem.CreateDirectory(path) End If For i = 0 To CheckedListBox1.Items.Count - 1 CheckedListBox1.SelectedIndex = i Dim dnames As New System.IO.FileInfo(CheckedListBox1.SelectedItem) My.Computer.FileSystem.MoveFile(CheckedListBox1.SelectedItem, path & "\" & dnames.Name) Next End Sub
الآن انتهينا من إضافة ملفات مرفقة لكل شخص بقي كيف نظهر هذه الملفات إما المستخدم
3. عند تصفح كل سجل نستدعي الدالة التالية لكي تقوم بإضافة ملفاته المرفقة إلى قائمته
Sub ADDhisMirfacattolist()
Try
Dim pathInputbox As String = Application.StartupPath & "\filesAdd\" & Trim(TextBox1name.Text) & "\MURFACAT"
Dim di As New System.IO.DirectoryInfo(pathInputbox)
NumberOfBook = 0
GroupBox5.Text = "(" & NumberOfBook & ")المرفقات"
CheckedListBox1.Items.Clear()
Dim f1 As FileInfo() = di.GetFiles()
For i As Integer = 0 To (f1.Length - 1)
NumberOfBook = NumberOfBook + 1
GroupBox5.Text = "(" & NumberOfBook & ")المرفقات"
CheckedListBox1.Items.Add(f1(i).Name)
Next
Catch ex As Exception
End Try
End Sub4. بقي زر لفتح الملف الذي يتم اختياره من قائمة ملفات الشخص ويكون كوده
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Try Dim pathInputbox As String = Application.StartupPath & "\filesAdd\" & Trim(TextBox1name.Text) & "\MURFACAT" Dim di As New System.IO.DirectoryInfo(pathInputbox) Dim f1 As FileInfo() = di.GetFiles() For j = 0 To CheckedListBox1.Items.Count - 1 If CheckedListBox1.GetItemChecked(j) = True Then CheckedListBox1.SelectedIndex = j For i As Integer = 0 To (f1.Length - 1) If String.Equals(CheckedListBox1.SelectedItem.ToString(), f1(i).Name.ToString) Then Process.Start(f1(i).FullName) End If Next End If Next Catch ex As Exception End Try End Sub
حمل المثال من هنا
او من على مدوني من هنا
http://hussienahmmed.blogspot.com/2011/09/blog-post_3452.html