
شايب
03 عضو مميز-
Posts
342 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
2
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو شايب
-
مساعده في فتح نموذج من نموذج اخر وكتابه رقم في حقل معين
شايب replied to Mohamed Khaled Galal's topic in قسم الأكسيس Access
والله يا اباخليل اني احبك في الله وانت استاذي اولا واخرا -
مساعده في فتح نموذج من نموذج اخر وكتابه رقم في حقل معين
شايب replied to Mohamed Khaled Galal's topic in قسم الأكسيس Access
اما اذا اردنا استخدام متغير كما اشار الاستاذ الكبير في الوحدة النمطية نعدل في المتغير الى Public myNumId(1) As Variant غيرنا المتغير ليكون يقبل قيمتين وغيرنا نوعة من رقم الى غير محدد ليقبل اي نوع من الحقول ثم في النموذج الاول نضع الامر myNumId(0) = Me.ID myNumId(1) = Me.Discount DoCmd.OpenForm "frm2", acNormal وفي النموذج الثاني في حدث عند التحميل نضع Me.ID = myNumId(0) Me.Discount = myNumId(1) لم نحتاج الى دالة التقسيم في حال كنت مبتدي وليس لديك معرفة لمعالجة رسائل الخطا فان طريقة الاستاذ الكبير اسهل الملف مرفق db1(2).rar -
مساعده في فتح نموذج من نموذج اخر وكتابه رقم في حقل معين
شايب replied to Mohamed Khaled Galal's topic in قسم الأكسيس Access
نعم ممكن حقلين وثلاثة وعشرة وهذا الامر للطريقة التي اشار اليها الاخ شايب وايضا لطريقة الاستاذ الكبير ولكن الاخ شايب سوف يشرح ذلك في الطريقة التي اشار اليها في زر الامر نضع الامر التالي DoCmd.OpenForm "frm2", acNormal, , , acFormAdd, , [ID] & "|" & [Discount] هنا لدينا حقلي المعرف والحسم وفصلنا بينهما بـ & "|" & والهدف من ذلك ان نستخدم دالة التقسيم في النموذج الثاني لفصل قيمة المعرف عن قيمة الحسم ثم في نموذج الوجهة اي النموذج الثاني وضعنا الامر التالي Dim a As Variant a = Split(Me.OpenArgs, "|") Me.ID = a(0) Me.Discount = a(1) الملف مرفق اخونا الفاضل شايب db1.rar -
مساعده في فتح نموذج من نموذج اخر وكتابه رقم في حقل معين
شايب replied to Mohamed Khaled Galal's topic in قسم الأكسيس Access
مشاركة مع استاذنا طريقة اخرى بدون استخدام متغير عام تحميل القيمة مباشرة في امر فتح النموذج باستخدام الامر التالي DoCmd.OpenForm "frm2", acNormal, , , acFormAdd, , ID وفي النموذج الثاني في حدث عند التحميل نضع الامر Me.ID = Me.OpenArgs اخير في تعديل الاستاذ الكبير وكذلك في تعديل اخونا شايب يفضل ان تضع امر معالجة الخطأ في حالة كون حقل id في النموذج الاول فارغ والله الموفق -
نفس الفكرة والاختلاف في الحدث واستخدامه لحدث الحالي افضل العود قدها الكبير الله والمقصد ان اخونا الفاضل شايب كبير سن وهو لا يدعي انه كبير في العلم ولا يمكن ان يضع نفسه في مصافكم انتم الاساتذة فهو انسان بسيط يشارك بما يعتقد انه مفيد ويتقبل النقد بصدر رحب وخصوصا اذا كان من منصف لا يتبع الاهواء او يكيل الاتهامات بدون دليل تحياتي وتقديري اخونا الشايب 🌹
-
وعليكم السلام ممكن عملها عن طريق التنسيق الشرطي ومن اسهل الطرق تضليل جقول النموذج المستمر ثم تنسيق شرطي ثم قاعدة جديدة ثم تعبير ونكتب tx2=id tx2 حقل نصي غير منضم ومخفي id هو حقل المعرف ثم في حدث عند النقر او عند التركيز للحقل id نضع الامر tx2=id مرفق مثال اخونا الكبير شايب Database28.accdb
-
للاسف ياعمنا الاصدار لدي 64
-
مع اطيب تحية وتقدير لاستاذنا ومعلمنا @ابوخليل عمل جميل وتصميم جذاب ونصائح استفدنا منها كثيرا مع ذلك الطريقة المستخدمة سبق ان حذر منها الاخ شايب وخصوصا ان البرنامج يتعلق بجمع تبرعات واموال تصرف في مواردها الشرعية ولكن هذه الثغرة كبيرة وتعطي لمن يدخل صلاحيات كاملة وامور اخرى تتمثل في امكانية تنفيذ اوامر من خارج القاعدة مثل استعراض بيانات وخذف واضافة وتخريب لبنية البرنامج وهنا سبق الحديث عن هذه الثغرة وطريقة علاجها بشكل مرضي ايضا توجد ثغرة اخرى تسمح بتجاوز فورم تسجيل الدخول من خلال امر من قاعدة اخرى اخيرا الاخ شايب ينبه لما يجد انه يمثل خطورة على البيانات وفقا لعلمه القاصر ويود ان يشير الى الموضوع السابق الذي تحدثنا فيه عن الثغرات ان احد المشرفين والذي لا اتذكره وضع مرفق عالج فيه الثغرتين الاستعلام والامر الخارجي اعتقد هذا الموضوع ان لم تخني الذاكرة ⬇️ والله الموفق مع اطيب الامنيات اخونا الشايب 🌹
-
لحاجة في نفس يعقوب وامور اخرى الشكر لله اخي مع اطيب امنياتي لك بالتوفيق اخونا الفاضل شايب 🌹
-
وعليكم السلام اخونا العزيز شايب يجزم ان هذا الكود من عملنا الاخ متقاعد وعلى الرغم من عدم الاقتناع بعمل متقاعد الا انه يمكن تنفيذ ماتريد باضافة السطر التالي rs!feah = fld.Properties("Caption") بعد rs.AddNew الملف مرفق مع عدم الاقتناع اخونا الشايب test2023(1).accdb
-
الاخ العزيز شايب سبق ان شاهد اكثر من مشاركة تتحدث عن مثل ذلك احداها كانت عن طريق اخونا صاحب معرف متقاعد وقد اشار حينها غفر الله لنا وله الى طريقتين عن طريق الكود والاخرى باستعلام توحيد وان لم يحقق المطلوب فقد تجد في الموقع مشاركات افضل فاستخدم خاصية البحث وخصوصا ان الاخ متقاعد ليس حجة ومشاركاته يشوبها ما يشوبها وَقَد يَخطِئُ الرَأيَ اِمرُؤٌِ وَهُوَ حازِمٌ .. كَما اِختَلَّ في وَزنِ القَريضِ عَبيدُ اخونا الشايب 🌹
-
رب شيخ ظل يهديه إلى .. سبل الحق غلام ما احتلم الشكر لله استاذ اخونا الفاضل شايب 🌹
-
Me.ActiveControl.Dropdown او ممكن تكتب اسم القائمة Me.اسم القائمة.Dropdown ونختار الحدث الذي تضع فيه الامر عند التركيز او عند النقر حسب احتياجك
-
DoCmd.Restore اخونا الفاضل شايب 🌹
-
تصميم واجهة مستخدم ، وواجهة تغيير كلمة المرور
شايب replied to بسام المبروك القيلوشي's topic in قسم الأكسيس Access
الشايب يرفع الراية البيضاء ويقول لكم العين لا تعلو على الحاجب وانتم اساتذتنا 🌹 -
تصميم واجهة مستخدم ، وواجهة تغيير كلمة المرور
شايب replied to بسام المبروك القيلوشي's topic in قسم الأكسيس Access
اهم شي ثغر مبتسم اها الاخ العزيز شايب يقول توجد افكار جميلة في المثال ولكن يمكن اختراقة عن طريق ارسال امر من قاعدة بيانات اخرى وبدون الدخول في التفاصيل شاهد الصورة المرفقة اخونا شايب 🌹 -
تصميم واجهة مستخدم ، وواجهة تغيير كلمة المرور
شايب replied to بسام المبروك القيلوشي's topic in قسم الأكسيس Access
المثال من البداية يحتوي على ثغرة تسمح بالدخول باي اسم كما يمكن اختيار اي مستخدم موجود وتوليف كلمة سر وبالتالي يمكن بسهولة الدخول على نموذج المستخدمين كل المطلوب اختيار المستخدم bassam وتوليف كلم مرور بطريقة معينة الاخ الفاضل شايب لا يهدف الى انتقاد العمل بقدر ما ينبه على وجود ثغرة في المثال حتى بعد تعديل الاستاذ الكبير اخونا شايب 🌹 -
مع عدم اقتناع اخونا شايب بفكرة الفلترة عند التغيير بداية في حدث عند التغيير نضع الامر On Error Resume Next Dim strWhere As String Dim strtxt As String If Me.X1.Text <> "" Then strtxt = Me.X1.Text strWhere = "[FATHER_NAME]&[NUM_PAID]&[DATE_PAID]&[INSTALLMENTS] like '*" & strtxt & "*'" Me.Filter = strWhere Me.FilterOn = True Else Me.Filter = "" Me.FilterOn = False End If Me.X1.SetFocus Me.X1.SelStart = Len(Me.X1.Text) وفي حدث عند مفتاح اعلى نضع الامر If KeyCode = 32 Then Me.X1.Value = Me.X1.Text & Chr$(32) Me.X1.SelStart = Len(X1.Text) End If وخطوة اضافية ليست مهمة في حدث عند النقر المزدوج نضع Me.X1 = "" Me.Filter = "" Me.FilterOn = False Me.X1.SetFocus الملف مرفق مع عدم الاقتناع والافضل من وجهة نظر الاخ شايب استخدام الفلترة في حدث بعد التحديث لكون الامر ينفذ مرة واحد ولكن للناس فيما يعشقون مذاهب اخيرا الاخ شايب ليس خبير ولا من اساتذة الموقع ومشاركاته تخطئ وتصيب وتخطئ اكثر مما تصيب والنقد مرحب به وخصوصا باني لم اراجع الملف بشكل جيد لكون مشاركتي بداية كانت تتعلق بجزئية عدم تكرار المعيار اخونا العزيز شايب 🌹 Aziz5_03.accdb
-
يا هلا باستاذنا ابو احمد الحقيقة ان الاخ شايب لم يدخل في التفاصيل وقد اشار الى ذلك بشكل واضح وكان اعتقادة لكون صاحب المشاركة حديث عهد بالاكسس انه ربما بدون قصد غير نوع الصلة في الاستعلام وبالتالي لم يعتبر مشاركته لتقديم الحل وانما توقع لسبب وجود الحقل الفارغ وبالتالي لم يرفق تعديل على الملف واكتفي بالاشارة لتوقعة اخير اتفق معك في ولو اني تفحصت الملف بامعان لتغيرت القناعة اخيرا الاخ العزيز شايب يشد على يديك استاذنا الغالي ويتفق معكم اننا نحتاج الى التمعن اكثر وتقديم المقترحات المبنية على تراكم الخبرات ولا نكتفي بتقديم حل سريع لمجرد الظهور او لزيادة عدد المشاركات اخونا الشايب 🌹
-
اعتقد المشكلة بسبب نوع العلاقة في الاستعلام zx ينتج عنها حقول فارعة للحقل Item_Name الاخ شايب لم يدخل في تفاصيل الملف ولا طريقة عمله ويترك الامر لك فانت ادرى بطريقة عملك شاهد الصورة المتحركة واعمل مثلها للاستعلام zx اخونا شايب
-
في المثال الاساسي يوجد خلل وكذلك في تعديلكم استاذ قاسم جرب تفلتر اسم من مقطعين اي بينهما مسافة مثلا ستجد المشكلة طبعا الحل متوفر انظر مشاركة استاذنا ابو احمد وتوجد طريقة اخرى في حدث عند مفتاح اعلى ايضا تكرار المعايير ليست خطأ ولكن بمكن اختصارها بامر واحد بدلا من Me.Form.Filter = "[QryPaids]![FATHER_NAME] LIKE '*" & filterText & "*' OR [QryPaids]![NUM_PAID] LIKE '*" & filterText & "*'" ممكن نكتب الامر هكذا strWhere = "[FATHER_NAME]&[NUM_PAID] like '*" & strtxt & "*'" وممكن نزيد الحقول لاي عدد بدون الحاجة لتكرار like و or هنا نبحث في اربعة حقول بمربع نص واحد strWhere = "[FATHER_NAME]&[NUM_PAID]&[DATE_PAID]&[INSTALLMENTS] like '*" & strtxt & "*'" وفي هذه الطريقة اضافة للبحث والفلترة المعروفة يمكن تقسيم البحث على الحقول مثلا نبحث عن احمد الذي يعمل في ادارة وباشر العمل بتاريخ ويكون البحث باستخدام "*" بالشكل التالي احمد*المالية*12/1/2018 و الحديث قد يطول ولكن نترك الامر للاساتذة الكرام فاهل مكة ادرى بشعابها اخير يعتقد اخونا شايب ان الفلترة اثناء الكتابة خيار غير جيد اذا كانت القاعدة تحتوي على عدد كبير من السجلات او اذا عملنا عن طريق الشبكة واعتذر عن وضع مرفق فمشاركتي تهتم بالجانب النظري اضافة لعدم اقتناعي بفكرة الفلترة عند التغيير اخونا شايب 🌹
-
بعد التحية ربط بين ثلاثة حقول في جدولين لمنع التكرار
شايب replied to elmozy525's topic in قسم الأكسيس Access
بصراحة اعتقد والعلم عند الله ان بناء الجداول و وضع العلاقات يحتاج الى اعادة نظر فمن وجهة نظر الاخ شايب ان جدول الاسرة هو الجدول الاساسي وجدول الابناء هو جدول تابع وبالتالي تكون العلاقة رأس باطراف وليست راس براس مثال المستفيد الاساسي يمثل السجل الرئيسي اما الابناء والتابعين فيمثلون السجلات التابعة مهما كان عددهم وبالتالي يكون هناك رقم قومي واحد اساسي اما الارقام للتابعين فتكون لمجرد التوثيق وهذا الامر سوف يسهل العمل ويمكن استعراض المستفيد والتابعين وتسجيلهم وووو بشكل اسرع ولكنها تبقى وجهة نظر من غير متخصص اخونا الشايب -
بعد التحية ربط بين ثلاثة حقول في جدولين لمنع التكرار
شايب replied to elmozy525's topic in قسم الأكسيس Access
اخي العزيز انا لا اتحدث عنك شخصيا وخصوصا انك عضو جديد بالموقع وانما عن بعض السلبيات التي نشاهدها وقد اصبحت اكثر وضوحا هذه الفترة وفي جميع الاحوال الامر ليس تصيد للاحطاء بقدر ماهو محاولة لتفادي السلبيات قبل سنوات كنت و مجموعة من المبرمجين في واحد من اكبر مواقع برمجة php وهاكات منتديات vBulletin وكان الموقع الاول في هذا المجال ثم مر الموقع بفترة خارج الزمن انتشرت فيها المجاملات والتكتلات مما دفع الكثير للابتعاد عن الموقع واتمنى الا نمر بمثل ذلك هنا اخونا شايب -
بعد التحية ربط بين ثلاثة حقول في جدولين لمنع التكرار
شايب replied to elmozy525's topic in قسم الأكسيس Access
السلام عليكم استاذي ابو احمد انا ايضا بعد رد الاستاذ قاسم فكرت بتقديم حل من خلال استعلام توحيد ولكني وجدت حل استاذنا الحبيب ابو خليل من خلال استعلام بالكود ثم وجدت حلك السابق وكلكم اساتذة كبار مع اعجابي بطريقتك في كتابة الاكواد والتي تشير بوضوح الى تمكن تام ماشاء الله واعتقد ان كافة الحلول السابقة تؤدي المطلوب والاخ شايب لا يعتقد انه مؤهل لتفضيل حل عن اخر الحقيقة وانا لا اتحدث بشكل خاص عن صاحب الموضوع ولكن بعض الزملاء يطرح موضوع ثم لا يكلف نفسة عناء الرد على من اقتطع من وقته الكثير لتقديم العون والبعض يعتمد على الاسماء الكبيرة او القروبات الخاصة ولا يهتم بالحل المقدم ويتجاهل جهود الاخرين بينما عبارة شكرا قد تعني الكثير للمتلقي ولن تكلف قائلها هذا الرد من تجارب سابقة لهذا المعرف وثلاث معرفات سابقة تخليت عنها خلال فترة انتسابي للموقع واود اخير ان اشير الى ان هذا رأي شخصي لا يمثل تراكمات سابقة او بسبب شحن نفسي بما لا اطيق كما انه لا يهدف الى تأجيج الرأي العام لصالحي او لمصلحة اخرين الاخ شايب 🌹