ابو تميم قام بنشر أبريل 22, 2014 قام بنشر أبريل 22, 2014 تحية طيبة في قاعدة البيانات المرفقة أريد عمل نموذج بحث كما هو في النموذج الموجود في الملف search بحيث أستطيع البحث في قاعدة البيانات بأكثر من خيار وأكثر من شرط كما هي الخيارات الموجودة في النموذج أي أنني أختار من هذه الخيارات ما أرغب بالبحث عنه أو ما يوجد لدي من معلومات للبحث عنها ولكن المهم في الموضوع ليس فقط عملية البحث وإنما المهم هنا هو أن إظهار النتائج في ListView بحيث أتمكن من توسيع الأعمدة أو تضييقها بحسب كمية المعلومات في السجل ، حيث أن بعض الحقول تحتوي على بيانات طويلة ويصعب قراءتها إذا قمنا بتصميم طريقة بحث مقيدة في عرض العمود أما في ListView فإنه يمكننا توسيع عرض العمود كما نشاء هل يمكن عمل ذلك في الآكسيس حيث أني قمت بعملها في الاكسل وهي تعمل معي ولكن لم أتمكن من تصميمها في آكسيس أرجو أن يكون الشرح واضحا شكرا جزيلا لكم search.rar
ابو تميم قام بنشر أبريل 23, 2014 الكاتب قام بنشر أبريل 23, 2014 حقول البحث هي نفسها الظاهرة في النموذج اي اني اريد ان ابحث في البيانات التي تتطابق مع الحقول الظاهرة في النموذج علما ان كل مربع بحث يختص بعمود محدد في جدول البيانات بمعنى اخر مثلا مربع serialnum يختص بعمودserial number وهكذا باقي المربعات والمطلوب عندما اضع معلومة في احد هذه المربعات واضغط بحث تظهر لي النتائج التي تتطابق مع هذا المربع او ان ما كتب في مربع البحث جزء منها علما ان النموذج الذي اتحددث عنه في مشاركتي الاولى والنموذج مرفق فيه وهو يحتوي على مربعات مرتبطة مباشرة بالجدول الخاص بالبيانات وذلك للتوضيح فقط علما انه يمكن البحث باكثر من شرط اي يتم الكتابة في اكثر من مربع وهنا يجب ان تظهر لنا البيانات التي تتطابق مع المعلومات المدخلة ارجو ان اكون قد وضحت الفكرة
أبو آدم قام بنشر أبريل 23, 2014 قام بنشر أبريل 23, 2014 إنشاء عنصر تحكم ActiveX " ListView " افتح نموذج قاعدة البيانات إنشاء نموذج جديد لا يعتمد على أي جدول أو استعلام ، ثم قم بحفظه بالإسم frmListView ، و إفتح طريقة عرض التصميم. من القائمة إدراج Insert ، أو تصميم Design ( حسب الإصدار ) ، انقر فوق عنصر تحكم ActiveX أو عنصر تحكم مخصص في الإصدار 7.0، انقر فوق عنصر التحكم ListView Microsoft في قائمة عناصر التحكم ومن ثم انقر فوق موافق. من خصائص العنصر يتم تعيين خصائص عنصر التحكم ListView التالية: الاسم: ctlListView العرض: حسب الحاجة وتصميم النموذج الارتفاع: حسب الحاجة وتصميم النموذج قم بإنشاء وحدة نمطية و إنسخ اليها الوظيفة filllist التالية: Function FillList(Domain As String, LV As Object) As Boolean '================================================================== ' Purpose: to fill a ListView control with data from a table or ' query ' Arguments: a Domain which is the name of the table or query, and ' a ListView control object ' Returns: A Boolean value to indicate if the function was ' successful '================================================================== Dim db As Database, rs As Recordset Dim intTotCount As Integer Dim intCount1 As Integer, intCount2 As Integer Dim colNew As ColumnHeader, NewLine As ListItem On Error GoTo Err_Man ' Clear the ListView control. LV.ListItems.Clear LV.ColumnHeaders.Clear ' Set Variables. Set db = CurrentDb Set rs = db.OpenRecordset(Domain) ' Set Column Headers. For intCount1 = 0 To rs.Fields.Count - 1 Set colNew = LV.ColumnHeaders.Add(, , rs(intCount1).Name) Next intCount1 LV.View = 3 ' Set View property to 'Report'. ' Set Total Records Counter. rs.MoveLast intTotCount = rs.RecordCount rs.MoveFirst ' Loop through recordset and add Items to the control. For intCount1 = 1 To intTotCount If IsNumeric(rs(0).Value) Then Set NewLine = LV.ListItems.Add(, , Str(rs(0).Value)) Else Set NewLine = LV.ListItems.Add(, , rs(0).Value) End If For intCount2 = 1 To rs.Fields.Count - 1 NewLine.SubItems(intCount2) = rs(intCount2).Value Next intCount2 rs.MoveNext Next intCount1 Exit Function Err_Man: ' Ignore Error 94 which indicates you passed a NULL value. If Err = 94 Then Resume Next Else ' Otherwise display the error message. MsgBox "Error: " & Err.Number & Chr(13) & _ Chr(10) & Err.Description End If End Function خلف الحدث OnLoad للنموذج frmListView إنسخ التالي : Private Sub Form_Load() Dim intResult as Integer intResult = FillList("Employees",Me!ctlListView) End Sub افتح النموذج في طريقة عرض النموذج ، سيقوم عنصر التحكم ListView بعرض محتويات الجدول أو الاستعلام الذي تحدده ضمن الكود " Employees " .
ابو تميم قام بنشر أبريل 23, 2014 الكاتب قام بنشر أبريل 23, 2014 بسم الله ما شاء الله كنت أعلم أن طلبي ليس مستحيلا وهو موجود بالفعل في اكسيس قمت بتنفيذ الخطوات التي تفضلت بها أستاذنا أبو آدم وهي تعمل معي بشكل ممتاز جدا وتم تنفيذ عرض البيانات في ListView كما هو مطلوب مع العلم أن اسم قاعدة البيانات هو data وليس Employee ولكنها بالتأكد سقطت سهوا من عالم قدير مثلك بقي لدينا أستاذي القدير هو : 1. تنفيذ عملية الاستعلام من خلال عدة حقول وهي كما شرحت سابقا 2. عند عرض البيانات لا يمكننا تحديد سجل كامل وإنما يتحدد معي أول حقل في السجل فقط هل يمكن حل هذه المشكلة ؟؟؟ 3. هل يمكننا ترتيب تصاعدي أو تنازلي للبيانات عند الضغط على رؤوس الأعمدة ؟؟؟؟ ونتابع ما نحتاج من متطلبات بحسب النتائج اللاحقة ولي رجاء عندك أستاذي ابو آدم أرجو أن يكون تنفيذك للمطلوب بشرح العملية كما شرحتها في ردك السابق ( آلية إنشاء عنصر تحكم ActiveX " ListView " ) فهذا هو المطلوب وهو ليس أن ننتفذ المطلوب وإنما نتعلم كيف تمت العملية لأني إن عملت بيدي أفضل لي للتعلم من أن آخذ الملف جاهز بدون تعب فلا تعطيني سمكة وإنما علمني كيف أصطاد مرفقا الملف الناتج معي بعد تنفيذ للمطلوب السابق ( إنشاء عنصر تحكم ActiveX " ListView " ) شكرا جزيلا على جهودكم الطيبة search with ListView.rar
أبو آدم قام بنشر أبريل 23, 2014 قام بنشر أبريل 23, 2014 أخي العزيز أبا تميم جزيت خيراً محتويات الجدول أو الاستعلام الذي تحدده ضمن الكود " Employees " وردت على سبيل المثال وليس التحديد و الحصر بالتطبيق لديك ، لأننا سنعمل بإذن الله على إستعلام لتنفيذ البحث
ابو تميم قام بنشر أبريل 23, 2014 الكاتب قام بنشر أبريل 23, 2014 جزاك الله خيرا أستاذي القدير أبو آدم إلى أن تعلمني الخطوة التالية لتنفيذ عملية البحث سأحاول العمل من خلال إنشاء استعلام والمتابعة بقدراتي البسيطة جدا فأفضل طريق إلى التعلم هو المحاولة والعمل الجاد سأحاول وأنتظر ردكم القادم لتنفيذ عملية البحث ومتابعة باقي المطلوب في مشاركتي السابقة جزاكم الله خيرا
أبو آدم قام بنشر أبريل 23, 2014 قام بنشر أبريل 23, 2014 أود أن انوه هنا لمجموعة من الأمور تتعلق بالتسميات ، وحسب الاصول المريحة ، فإتباع الأصل و الأحوط ينجي صاحبة عند الالتباس ، فحين تتوحد الأسماء بلا تمييز يلتبس الأمر بين الجدول ومربع النص والحقل وغيرها ، ومن ذلك نقول ، أننا ننصح باتباع ما يلي تمثيلاً وليس قصراً وحصراً : استخدام البادئة tbl في الاسم للدلالة على الجدول tblData ، أو استخدام الاسم الافتراضي الذي يقترحه النظام استخدام البادئة qry في الاسم للدلالة على الاستعلام qrySearch ، أو استخدام الاسم الافتراضي الذي يقترحه النظام ، وهكذا لبقية كائنات القاعدة . استخدام البادئة str في الاسم للدلالة على حقل الجدول strCode . استخدام البادئة txt في الاسم للدلالة على مربع النص txtCode ، أو استخدام الاسم الافتراضي الذي يقترحه النظام استخدام البادئة txt في الاسم للدلالة على مربع النص txtCode ، أو استخدام الاسم الافتراضي الذي يقترحه النظام استخدام البادئة cmb في الاسم للدلالة على مربع التحرير والسرد cmbDevType ، أو استخدام الاسم الافتراضي الذي يقترحه النظام ، وهكذا لبقية عناصر النموذج . أظن أن الفكرة وصلت دون الإكثار من الاسهاب منعاً لشبهة الإطالة وللحديث والتطبيق بقية ....
أبو آدم قام بنشر أبريل 23, 2014 قام بنشر أبريل 23, 2014 نتابع ... قم بانشاء استعلام اختيار يحوي كافة الحقول للجدول Data انتقل لعرض التصميم للاستعلام انتقل للعامود Column التالي لآخر عامود مستخدم في الاستعلام على السطر أكتب العبارة التالية Field : [code]=[Forms]![search]![code] Or [Forms]![search]![code] Is Null السطر Show يحمل خيار Check Box أجله فارغاً – No ، وتعني إخفاء نتائج الحقل السطر Criteria أكتب True / صواب هذه العبارة تعني : أظهر النتائج على شرط ، الحقل Code = القيمة الموجودة في الحقل Code من النموذج search – أو – إذا كان الحقل Code من النموذج search فارغاً فاترك الشرط لهذا الحقل جرب على حقل واحد وقم بتشغيل الإستعلام ( بدون النموذج ) ووافني بالنتيجة وللحديث والتطبيق بقية ....
ابو تميم قام بنشر أبريل 23, 2014 الكاتب قام بنشر أبريل 23, 2014 (معدل) شكرا أستاذي أبو آدم لقد جربت الاستعلام على الحقل code ونجحت العملية وكنت عندما أشغل الاستعلام يطلبني إدخال قيمة ( code ) وعندما أدخل له قيمة كود من إحدى البيانات في الجدول يعرض لي بيانات ذلك السجل الذي يتعلق بالكود المكتوب ، وطبعا لا يظهر الحقل code في الجدول الناتج لأننا قمنا بإخفاءه . وأيضا عندما أترك قيمة code فارغة يقوم بعرض جميع البيانات هل هذا هو المطلوب أم أني أخطأت ؟؟؟ وعلى فكرة : طريقة الاستعلام هذه جديده علي ولم أستعملها مطلقا قبل الآن لأني جديد على الاكسيس وأيضا لم أقرأ عنها قبل الآن جزاك الله خيرا على هذه المعلومات القيمة جعلها الله في ميزان حسناتك تم تعديل أبريل 23, 2014 بواسطه ابو تميم
ابو تميم قام بنشر أبريل 27, 2014 الكاتب قام بنشر أبريل 27, 2014 لعل التأخير فيه خير كيف انت يا استاذنا ابو آدم، ارجو ان تكون بصحة وعافية ، طمئنا عليك
أبو آدم قام بنشر مايو 1, 2014 قام بنشر مايو 1, 2014 في اجمال مسألة البحث واستعلامه وادوات النموذج فيه ، أرى ان احاول الاستفادة من المرفق ، وهو للعبد الفقير لله على الرابط .... http://www.officena.net/ib/index.php?showtopic=35575 وللحديث بقية ...
أبو آدم قام بنشر مايو 1, 2014 قام بنشر مايو 1, 2014 . عند عرض البيانات لا يمكننا تحديد سجل كامل وإنما يتحدد معي أول حقل في السجل فقط هل يمكن حل هذه المشكلة ؟؟؟ الضغط المزدوج على ctlListView ، في وضع التصميم للنموذج ، يظهر مربع حوار خصائص الكائن ctlListView تظهر امامك مجموعة كبيرة من الخيارات و الخصائص ، منها FullRowSelect قم باختيار نعم وللحديث بقية ....
ابو تميم قام بنشر مايو 2, 2014 الكاتب قام بنشر مايو 2, 2014 (معدل) طرائق البحث روعة كصاحبها جزاك الله خيرا وقد حاولت استخدام نفس الطرق مع Listview ولكني لم أستطع فهم لغة التخاطب مع Listview ولم أتمكن من إجراء أي لغة حوار مع هذا الكائن... تم حل مشكلة تحديد سجل كامل بناء على شرحكم ... جزاك الله خيرا نتركها لكم أستاذنا ابو آدم بعد أن تتعافوا بإذن الله تعالى شافاك الله أستاذنا العزيز ابو آدم تم تعديل مايو 2, 2014 بواسطه ابو تميم
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.