الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إضافة عدد غير محدد من الملفات لكل شخص في قاعدة البيانات

بدأه حسين احمد طالب في 12 سبتمبر 2011 · 8 رد · 1,127 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

فعلى سبيل المثال إذا أردنا تخزين ملفات جميع الأشخاص داخل (folder) اسمه (filesAdd) بمسار تشغيل البرنامج مثلا عند إضافة شخص اسمه حسين الربيعي سيكون (folder) بأسمه و بشكل التالي

path= Application.StartupPath & "\filesAdd\" & "حسين الربيعي" & "\MURFACAT"

إي بمسار تشغيل البرنامج وداخل فولدر (filesAdd) كون فولدر اسمه حسين الربيعي وداخله فولدر اسمه (MURFACAT) لخزن ملفاته فيخزن بمسار تشغيل البرنامج

01315845154.png

خطوات الإضافة : لنفرض أن اسم الشخص الذي نضيفه موجود داخل 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 Sub

4. بقي زر لفتح الملف الذي يتم اختياره من قائمة ملفات الشخص ويكون كوده

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

2

------------------

حسين الربيعي

 

مهندس برامجيات من العراق

 

ادرس  في  RIT  في الولايات المتحدة

 

مدونتي

http://hussienahmmed.blogspot.com/

 

قناة اليوتيوب الخاصة بلدورات

https://www.youtube.com/user/alxs1aa

#3

اخي حسين

بارك الله بك

البرنامج فكرته ممتازة وجميلة ولكن يبدو انه غير معمول على قاعدة بيانات اكسس فقط

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

ارجو الافادة

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#4

مشكور أخى على المجهود

البرنامج مصنوع بالفيجوال بيسك 2008

لذلك أعتقد أن مكانه ليس هنا

و لكن فى القسم المخصص لذلك

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#5

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

شكر حسين على المجهود الرائع .. بالتوفيق

اقتباس
البرنامج مصنوع بالفيجوال بيسك 2008

لذلك أعتقد أن مكانه ليس هنا

و لكن فى القسم المخصص لذلك

اخي Abo_Yossof هذا قسم الفيجوال بيسك دوت نت؟!!

.:: Wish to become better and better ::.

#6

شكرا لكم اخوان والله يبارك فيكم

اخي malik2010 لما تستخدم فقط access لتحميل عدد كبير من البيانات ونعلم ان اخر اصدار توصلت له مايكروسوف من اكسس يخزن بيانات 2GB كأقصى حد فما بالك اذا عندك الف موضف ولكل موضف عشرين كتاب ماذا ستعمل ستواجه مشكلة انت في غنى عنها اضن هذه افضل طريقة لتخزين اكبر عدد من البيانات دون التأثير على حجم قاعدة البيانات

------------------

حسين الربيعي

 

مهندس برامجيات من العراق

 

ادرس  في  RIT  في الولايات المتحدة

 

مدونتي

http://hussienahmmed.blogspot.com/

 

قناة اليوتيوب الخاصة بلدورات

https://www.youtube.com/user/alxs1aa

#7

جزاك الله خيرا على المجهود

حملت البرنامج وعدلت فيه ليتلاءم مع access

2007

لكن للاسف عند run يعطيني رسالة الخطأ التالية :

" Microsoft.ACE.OLEDB.12.0 ليس مدرجا او مسجلا على الحاسوب "

رعم ان البرنامج الذي اعمل عليه لا يعطيني هذا الحطا ابدا و انا اعمل بaccess 2007 و vb2010

هل من معين بارك الله فيكم؟؟؟

تم تعديل هذه المشاركة بواسطة aboumazen في 20 سبتمبر 2011 في 18:07

#8

المشكلة في حاسوبك ان غير متوفرة في حاسوبك حملها من موقع مايكروسوفت

http://support.microsoft.com/kb/239114/en-us

وقد يكون السبب في نوع المعالج حاول ضبطه لما يلائم كمبيوترك

تحياتي

------------------

حسين الربيعي

 

مهندس برامجيات من العراق

 

ادرس  في  RIT  في الولايات المتحدة

 

مدونتي

http://hussienahmmed.blogspot.com/

 

قناة اليوتيوب الخاصة بلدورات

https://www.youtube.com/user/alxs1aa

#9

أخى الكريم

بالنسبة لقاعدة بيانات أكسيس موجودة على سيرفر كيف سيكون التعامل معها

وشكرا جزيلا

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…