حامل المسك قام بنشر سبتمبر 22, 2013 قام بنشر سبتمبر 22, 2013 السلام عليكم ورحمة الله وبركاته .. أسأل الله لكم مزيدا من فضله ... لدي برنامج يقوم بسحب الصور من المجلد المرفق وهذا بفضل الله ثم بفضل اساتذتنا في هذا المنتدى العامر ... الطلب : كيف يمكن وضع مربع تحرير وسرد بحيث عند اختيار الذي لهم صورة يظهر فقط الذي لهم صور والعكس صحيح وعند طلب الكل يظهر الكل .. مرفق مثال card1.rar
ابوخليل قام بنشر سبتمبر 23, 2013 قام بنشر سبتمبر 23, 2013 المسألة يكتنفها عائقان : 1- ان الصور لا يوجد لها روابط داخل قاعدة البيانات ، فلو وجدت هذه الروابط لتمكنا من الفلترة بكل يسر 2- ان عناصر الصور داخل النموذج غير منضمة فيصعب التعامل معها خاصة في النماذج المستمرة . ومع ذلك : اعتقد انه يمكن تحقيق الفكرة اذا تمكنا من المقارنة بين اسماء الصور في المجلد وبين المعرفات داخل القاعدة . وهذا ما سأحاول تجربته ان استطعت ، وأسأل الله العون . ملحوظة : يفضل اجراء ضغط وإصلاح لللمرفق قبل رفعه ، لاحظ حجم المرفق اعلاه بعد الضغط وكان حجمه قبل الاصلاح 1.6 ميجا
حامل المسك قام بنشر سبتمبر 24, 2013 الكاتب قام بنشر سبتمبر 24, 2013 فتح الله عليك أبا خليل وأنار دربك ... الضغط والإصلاح فكرة رائعة الفرق كبير .. لكن أهم شيء لا يخل بنظام البيانات ونحوها ...
ابوخليل قام بنشر سبتمبر 24, 2013 قام بنشر سبتمبر 24, 2013 انظر مثالك بعد التعديل استخدمنا وحدة نمطية لجلب اسماء الصور وايداعها داخل جدول ثم وظفنا هذا الجدول داخل استعلام النموذج تم فحصه على اكسس 2003 جرب ووافني بالنتيجة card11.rar
حامل المسك قام بنشر سبتمبر 24, 2013 الكاتب قام بنشر سبتمبر 24, 2013 هذا ليس رائع بل أروع من رائع وفكرة جميلة جدا عملت على 2007 بشكل ممتاز وهلا تكرمت ببيان هذا الكود On Error GoTo Err_erru_Click Dim scfil, fil1, pafil As Object Dim db As Database Dim rs As Recordset Dim i As String Set db = CurrentDb Set rs = db.OpenRecordset("tbl1") Set scfil = CreateObject("Scripting.FileSystemObject") Set pafil = scfil.GetFolder(CurrentProject.Path & "\photos\").Files For Each fil1 In pafil i = scfil.GetExtensionName(fil1.Name) i = UCase(i) If i = "jpg" Then rs.AddNew rs("picNm") = (scfil.GetBaseName(fil1.Name)) rs.UpDaTe End If Next Exit_erru_Click: Exit Sub Err_erru_Click: DoCmd.CancelEvent Resume Exit_erru_Click Set scfil = Nothing Set pafil = Nothing Set rs = Nothing بوركت أبا خليل لك يد سابقة ولاحقة متعك الله بالصحة والعافية
ابوخليل قام بنشر سبتمبر 24, 2013 قام بنشر سبتمبر 24, 2013 هذا ما تيسر وآمل ان يحقق الفائدة On Error GoTo Err_erru_Click Dim scfil, fil1, pafil As Object ' اعلان عن متغيرات تمثل كائنات 'اعلان عن متغير يمثل قاعدة بيانات Dim db As Database ' اعلان عن متغير يمثل سجلات Dim rs As Recordset ' اعلان عن متغير يمثل مصفوفة نصية Dim i As String ' القاعدة الحالية Set db = CurrentDb ' فتح سجلات الجدول Set rs = db.OpenRecordset("tbl1") 'انشاء كائن ضمن انظمة الملفات Set scfil = CreateObject("Scripting.FileSystemObject") ' الحصول على الملفات داخل مجلد الصور Set pafil = scfil.GetFolder(CurrentProject.Path & "\photos\").Files 'بداية دوارة : كل ملف في المسار الهدف For Each fil1 In pafil ' استخراج اسم اللاحقة او ما يسمى بالامتداد i = scfil.GetExtensionName(fil1.Name) ' ارجاع الى حروف كبيرة وهي زائدة فلسنا بحاجتها فاسماء الملفات ارقام i = UCase(i) ' بداية الشرط : اذا كانت اللاحقة (؟) وهنا يمكنك تحديد نوع الملفات المستخرجة If i = "JPG" Then ' اضف سجلات جديدة rs.AddNew ' استخراج اسم الملف ' rs("picNm") = (scfil.GetBaseName(fil1.Name)) السجلات ' تحديث rs.UpDaTe ' نهاية الشرط End If 'عودة للدوارة Next Exit_erru_Click: Exit Sub Err_erru_Click: DoCmd.CancelEvent Resume Exit_erru_Click Set scfil = Nothing Set pafil = Nothing Set rs = Nothing
حامل المسك قام بنشر سبتمبر 24, 2013 الكاتب قام بنشر سبتمبر 24, 2013 بوركت أبا خليل لكن عندما أطلب التقرير تظهر كافة البيانات هل يمكن ربطه بالتقرير بحيث يظهر فقط الذي تم اختياره (الذين لهم صورة أو ليس لهم صورة أو الكل) ..
حامل المسك قام بنشر سبتمبر 24, 2013 الكاتب قام بنشر سبتمبر 24, 2013 ظهر لي إشكال وهو في حال إضافة صورة لطالب جديد أو كان اسمه موجود لا يتم إداراجه ضمن قائمة الذي لهم صور وكذلك العكس لو طالب حذفت صورته فإنه لا ينقله إلى الذين ليس لهم صور
ابوخليل قام بنشر سبتمبر 24, 2013 قام بنشر سبتمبر 24, 2013 بوركت أبا خليل لكن عندما أطلب التقرير تظهر كافة البيانات هل يمكن ربطه بالتقرير بحيث يظهر فقط الذي تم اختياره (الذين لهم صورة أو ليس لهم صورة أو الكل) .. الحل ان تجعل الاستعلام خارجي فيكون مصدرا للنموذج والتقرير معا والطريقة عندما تفتح على مصدر سجلات النموذج وهو الاستعلام من الخصائص احفظ فقط فيأخذ صورة من الاستعلام ليضعها ضمن الاستعلامات ويسألك ان كنت تريد هذا الاخير هو مصدر السجلات وستكون الاجابة بنعم ظهر لي إشكال وهو في حال إضافة صورة لطالب جديد أو كان اسمه موجود لا يتم إداراجه ضمن قائمة الذي لهم صور وكذلك العكس لو طالب حذفت صورته فإنه لا ينقله إلى الذين ليس لهم صور هذه تحتاج الى اعادة فحص وتجربة للمثال وسأعمل ذلك ان شاء الله
ابوخليل قام بنشر سبتمبر 24, 2013 قام بنشر سبتمبر 24, 2013 المشكلة تتمثل في جدول الملفات حيث يجب تفريغه من البيانات قبل جلبها مرة اخرى ضع هذه الاسطر في أعلى الوحدة النمطية وبالضبط تحت سطر on Error DoCmd.SetWarnings False DoCmd.RunSQL "DELETE tbl1.*, * FROM tbl1" DoCmd.SetWarnings True
ابوخليل قام بنشر سبتمبر 24, 2013 قام بنشر سبتمبر 24, 2013 المثال مرفق بعد تعديل الملاحظتين card12.rar
حامل المسك قام بنشر سبتمبر 25, 2013 الكاتب قام بنشر سبتمبر 25, 2013 رائع وعمل متميز.. معذرة . بقي أمر ولعله الأخير عندما أضيف صورة أو أحذفها لابد من غلق النموذج ثم فتحه حاولت وضع كود التحديث DoCmd.RunCommand acCmdRefresh بعد on Error فلم تنجح الطريقة .. فأود أن يكون التحديث مباشرة عندما أضيف أو أحذف تظهر من غير أن أغلق النموذج ثم أفتحه مرة أخرى ...
تمت الإجابة ابوخليل قام بنشر سبتمبر 25, 2013 تمت الإجابة قام بنشر سبتمبر 25, 2013 كما ذكرت في مشاركتي الاولى ان الامر مقارنة بل مقابلة بين ارقام في مجلد خارجي مع ارقام ضمن جدول في قاعدة البيانات وعند اختلال احد الطرفين لا يظهر الخلل الا بعد المقابلة مرة اخرى تم التعديل بتحويل الكود الى وحدة نمطية عامة نستدعيها عند الحاجة card14.rar
حامل المسك قام بنشر سبتمبر 25, 2013 الكاتب قام بنشر سبتمبر 25, 2013 عمل رائع كفيت ووفيت رعاك الله وبارك فيك ... هو المطلوب ..
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.