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

[ تمت الإجابة ]إختيار مجلد ونسخ كافة محتوياته إلى جدول

بدأه fehme في 2 أكتوبر 2008 · 5 رد · 623 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كل عام وأنتم بألف خير

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

طلبي :

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

#2

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

راجع هذا المثال فهو قريب مما طلبت وكل عام وأنت بخير

#3

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

تم حل المشكلة ولكن للأسف أنا حتى الآن لاأفهم دالة

FOR X و

NEXT X

إذا ممكن شرح لهذا الكود لكي لاأستخدمه نسخ لصق بل يجب أن أفهمه تماماً وأسف على طلبي وجزاكم الله خيراً

يعني أقصد شرح طريقة تكرار الكود حتى الأنتهاء

Function EkseerFileSearch(thepath As String, Ext As String)
On Error Resume Next

	Dim unkndir() As String
	Dim tempdir As String
	Dim ff As String
	Dim DirCount As Integer
	Dim X As Integer
	Dim thepathCount As Integer
	thepathCount = 0
	DirCount = 0
	ReDim unkndir(0) As String
	unkndir(DirCount) = ""
	If Right(thepath, 1) <> "\" Then
	thepath = thepath & "\"
	End If
	DoEvents
	tempdir = Dir(thepath, vbDirectory)
	Do While tempdir <> ""
	If tempdir <> "." And tempdir <> ".." Then
	If (GetAttr(thepath & tempdir) And vbDirectory) = vbDirectory Then
	unkndir(DirCount) = thepath & tempdir & "\"
	DirCount = DirCount + 1
	If GlobalStop = True Then GoTo EEXX
	ReDim Preserve unkndir(DirCount) As String
	End If
	End If
	tempdir = Dir
	Loop
	ff = Dir(thepath & Ext)
	Do Until ff = ""
   Dim n As Integer
	n = 1
	Dim db As Database
	Dim rec As Recordset
	Set db = CurrentDb
	Set rec = db.OpenRecordset("Tabfile")
	rec.AddNew

   On Error Resume Next
		rec!Filpath = thepath & ff
		rec!FileCrTime = FileDateTime(thepath & ff)
		rec!Filesize = FileLen(thepath & ff) & " " & "ÈÇíÊ"

	 rec.Update

	 Me.Label2.Caption = thepath & ff
	 ff = Dir
	 Loop
EEXX:
	 For X = 0 To (UBound(unkndir) - 1)
	 EkseerFileSearch unkndir(X), Ext
	 Next X
	 End Function

تم تعديل هذه المشاركة بواسطة fehme في 3 أكتوبر 2008 في 14:27

#4

السلام عليكم أخي الكريم

أنت تقصد حلقة التكرار التي في أخر الوظيفة التي هي على الشكل الأتي

EEXX:
	 For X = 0 To (UBound(unkndir) - 1)
	 EkseerFileSearch unkndir(X), Ext
	 Next X

فهذه سلمك الله - تفيد في اذا كان هناك دليل فاضي مافيه ملفات

وبداخله دليل أخر به فاضي وبداخل الجميع فولدر به ملف - لو لم يكن هذا الكود لبحث البرنامج

في الدليل الفارغ فأن وجده فارغا فأنه سيتوقف ؟؟ وهذا لا نريده

نريد أن ينتقل للفولدر الداخلي فان كان فارغ ينتقل للذي بداخله الى أن يجد ملفات فأن لم يجد

ملف ينتقل الى أن يجد اوك

ان كان الدليل فارغا انتقل للدليل المجاور الى أن تجد ملفا وأو تنتقل الى أن تنتهي جميع الادله ؟

فهمت علي الأن - للبرهان على ذلك امسح الحلقة من تحت كلمة EEXX: ولا تمسح EEXX: بل اتركها

فقط امسح الحلقة التالية

For X = 0 To (UBound(unkndir) - 1)
	 EkseerFileSearch unkndir(X), Ext
	 Next X

ثم انشيء فولد على سطح المكتب وسمه ماشيئت واتركه فارغا ثم افتحه وضع داخله فولدر أخر وضع فيه

ملف نصي أو صوره أو اي ملف كان ثم استخدم البرنامج بعد التعديل اي بعد مسح الحلقة على الدليل ؟ تلاحظ أن البرنامج يعطيك

أن الدليل فارغ والسبب أنه بحث في الدليل الفارغ ثم توقف !!!

أعد الحلقة مكانها وأبحث في ذات الملف تلاحظ أن البرنامج بحث في الدليل الفارغ ثم انتقل للدليل الداخلي فبحث

ثم أظهر الملف الذي عملته في الدليل الداخلي ... هذه هي مهمة الحلقة الأخيرة والسلام

تم تعديل هذه المشاركة بواسطة ekseer في 4 أكتوبر 2008 في 02:01

#5

جزاك الله خيرأ وألف ألف شكر لك أخي الكريم

وكل عام وأنت بألف خير

شكراً

#6

بسم الله الرحمن الرحيم

تمت الإجابة على الموضوع

إدارة الفريق العربي للبرمجة

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

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

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

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

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