nssj قام بنشر مارس 3, 2021 قام بنشر مارس 3, 2021 (معدل) في الملف المرفق المطلوب تعبئة حقلين بحسب القيمة الموجودة في حقل (nom) أولا: حقل (TR) وهو: نعم أو لا، المطلوب وضع إشارة (نعم) حيث تكون القيم في (nom) ^ أو #^ أو @^ ثانيا: الحقل (Type1) وهو قائمة من أربع قيم، والمطلوب: - إذا كان (nom) رقما أو ("*") أو ("^") تكون قيمة (Type1) [1 (مسند)] - إذا كان (nom) (@) أو (@^) تكون قيمة (Type1) [2 (موقوف)] - إذا كان (nom) (^) تكون قيمة (Type1) [3 (طريق)] - إذا كان (nom) (#) أو (#^) تكون قيمة (Type1) [4 (زائد)] MZtab.accdb تم تعديل مارس 3, 2021 بواسطه nssj
biskra قام بنشر مارس 3, 2021 قام بنشر مارس 3, 2021 2 ساعات مضت, nssj said: أولا: حقل (TR) وهو: نعم أو لا، المطلوب وضع إشارة (نعم) حيث تكون القيم في (nom) ^ أو #^ أو @^ جوابا عن الجزء الأول من السؤال بواسطة استعلام تحديث MZtab.accdb 2 1
nssj قام بنشر مارس 3, 2021 الكاتب قام بنشر مارس 3, 2021 جزاك الله خيراً أخي الكريم biskra وبانتظار الجزء الثاني
nssj قام بنشر مارس 3, 2021 الكاتب قام بنشر مارس 3, 2021 قياسا على ما تفضل به الأخ الكريم biskra قمت بعمل استعلامات تحديث للجزء الثاني كما في الملف المرفق، ولكن: 1- هل يمكن دمج هذه الاستعلامات في استعلام أو إجراء واحد 2- لم تنجح معي الخطوة الأولى التي فيها "*" "^" 3- وكذلك بالنسبة للخطوة الأولى المطلوب أن يحدث إلى (1) في حالة وجود أي رقم في حقل (nom) MZtab2.accdb
biskra قام بنشر مارس 3, 2021 قام بنشر مارس 3, 2021 (معدل) 1 ساعه مضت, nssj said: - لم تنجح معي الخطوة الأولى التي فيها "*" "^" جرب المعيار التالي حسب التجربة يقوم بتحدث الحقل الذي فيه رقم ="*" Or "^" Or >="0" تم تعديل مارس 3, 2021 بواسطه biskra 1
nssj قام بنشر مارس 3, 2021 الكاتب قام بنشر مارس 3, 2021 تم التحديث حسب الأرقام .. ولكن لم يتم التحديث حسب "*" "^" هل المشكلة في وجود علامتي التنصيص "" فلا بد من استبدالها .. أم هناك حل
biskra قام بنشر مارس 3, 2021 قام بنشر مارس 3, 2021 (معدل) عندي اشتغلت عادي سوف اراجع الملف و اخبرك للتأكد MZtab2(1).accdb تم تعديل مارس 3, 2021 بواسطه biskra 2
biskra قام بنشر مارس 4, 2021 قام بنشر مارس 4, 2021 16 ساعات مضت, nssj said: 1- هل يمكن دمج هذه الاستعلامات في استعلام أو إجراء واحد محاولة بواسطة دالة لتنفيذ الإستعلامات بواسطة زر على النموذج، MZtab2(1).accdb 2
nssj قام بنشر مارس 4, 2021 الكاتب قام بنشر مارس 4, 2021 (معدل) 1 ساعه مضت, biskra said: محاولة بواسطة دالة لتنفيذ الإستعلامات بواسطة زر على النموذج هل هذا يعني أنه لا يمكن دمج هذه الاستعلامات في استعلام واحد ثم .. تبقى مشكلة تحديث "*" "^" حيث أنه في الملف الذي أرفقتَه بعد تشغيل استعلام التحديث (type1) الخاص بـ "*" "^" تبقى هذه الحقول كما هي ولم تتغير إلى (1) كما في الصورة تم تعديل مارس 4, 2021 بواسطه nssj
biskra قام بنشر مارس 4, 2021 قام بنشر مارس 4, 2021 منذ ساعه, nssj said: (type1) الخاص بـ "*" "^" تبقى هذه الحقول كما هي ولم تتغير إلى (1) غير معيار التصفية إلى الكود التالي Like '"*"' Or '"^"' Or >="0" 2
jjafferr قام بنشر مارس 4, 2021 قام بنشر مارس 4, 2021 السلام عليكم 🙂 هذه مشاركتي ، وانا لا احب ان اجعل المعادلات تتزاحم في الاستعلام ، ويُصعب تعديلها لاحقا 🙂 في الاستعلام ، ننادي دالة لقيمة TR ، ودالة اخرى لقيمة Type ، وبما ان القيمتين تعتمدان على قيمة الحقل nom ، فنرسل قيمته الى الدوال : . والنتيجة : . والدوال: Function TR_Check(str_N As String) As Boolean If str_N = "^" Or str_N = "#^" Or str_N = "@^" Then TR_Check = True End If End Function Function Type_Check(str_N As String) As String If IsNumeric(str_N) Or str_N = Chr(34) & "^" & Chr(34) Or str_N = Chr(34) & "*" & Chr(34) Then Type_Check = "[1 (مسند)]" ElseIf str_N = "@^" Or str_N = "@" Then Type_Check = "[2 (موقوف)]" ElseIf str_N = "^" Then Type_Check = "[3 (طريق)]" ElseIf str_N = "#^" Or str_N = "#" Then Type_Check = "[4 (زائد)]" End If End Function . ويمكنك ان تأخذ معادلات الاستعلام ، وتضعها في استعلام تحديث 🙂 جعفر 1350.MZtab.accdb.zip 1
jjafferr قام بنشر مارس 4, 2021 قام بنشر مارس 4, 2021 ونصيحة ، ابدا لا تستخدم هذه الخاصية في الجدول : . وانما اعمل جدول خاص بقيم هذا الحقل ، ثم في الاستعلام تربط هذا الحقل بحقل الجدول الآخر. لاحظ ان جوابي في المشاركة السابقة لم يتطرق لهذا الحقل ، لأنه لا يوجد طريقة لمعرفة استخدامك لهذه الخاصية إلا بفتح الجدول في وضع التصميم ومعرفة القيم !! عليه ، الدوال يجب تغييرها الى: Function TR_Check(str_N As String) As Boolean If str_N = "^" Or str_N = "#^" Or str_N = "@^" Then TR_Check = True End If End Function Function Type_Check(str_N As String) As Long If IsNumeric(str_N) Or str_N = Chr(34) & "^" & Chr(34) Or str_N = Chr(34) & "*" & Chr(34) Then Type_Check = 1 ElseIf str_N = "@^" Or str_N = "@" Then Type_Check = 2 ElseIf str_N = "^" Then Type_Check = 3 ElseIf str_N = "#^" Or str_N = "#" Then Type_Check = 4 End If End Function جعفر 4
nssj قام بنشر مارس 4, 2021 الكاتب قام بنشر مارس 4, 2021 شكرا لك أخي الكريم biskra .. الدالة الجديدة حلت المشكلة أخي الكريم جعفر .. كلامك مهم جداً .. لكن لقلة خبرتي لم أستوعبه جيدا .. فصبرك علي شوي أولاً: نصيحتك المشكورة: 4 ساعات مضت, jjafferr said: ابدا لا تستخدم هذه الخاصية في الجدول هذا أمر سيربك حساباتي .. لأني استخدمت هذه الطريقة في أكثر من حقل في هذا الجدول وفي غيره، وهذا الملف الذي رفعته هنا هو مجرد مثال، وكنت سأطبق الحل في الحقول والجداول الأخرى بنفسي قياسا على ما سيتفضل به الإخوة في هذه المشاركة ولكن .. إذا كانت طريقتي هذه مرجوحة في نظر أهل الخبرة فلا بد من العدول عنها وفي الملف المرفق محاولة مني لتطبيق نصيحتك بحسب فهمي .. فهل ما فعلته صواب وإذا كان صوابا ننطلق للنقطة الثانية: كيف سيطبق الاستعلام الذي تفضلت به على الجدول MZtab07.accdb
biskra قام بنشر مارس 4, 2021 قام بنشر مارس 4, 2021 نزل الملف المرفق من طرف الأستاذ جعفر و طبق عليه التعديلات، و لا تنسى تعديل الدوال حسب ما اقترحه الأستاذ، و لن تخلط الأمور فالحل المقترح من طرفه احترافي و يوفر لك الثبات و الدقه في تنفيذ المطلوب، 1
nssj قام بنشر مارس 4, 2021 الكاتب قام بنشر مارس 4, 2021 بعد التجارب نجحت في تطبيق الاستعلام على الجدول من خلال استعلام تحديث، وبهذا تم تجاوز النقطة الثانية بقيت النقطة الأولى بخصوص تصميم الجدول وهل تصرفي صحيح وهاهو الملف السابق مع استعلام التحديث الذي أنشأته MZtab08.accdb
أفضل إجابة jjafferr قام بنشر مارس 5, 2021 أفضل إجابة قام بنشر مارس 5, 2021 السلام عليكم 🙂 ملاحظاتي: 1. يجب ان يكون هذا الحقل هكذا ، وعادة يكون المفتاح الاساس ، ولكن لأن عندك مفتاح اساس آخر ، فمافي مشكلة: . 2. وجميع الحقول لا تستخدم خاصية Lookup الجدول : . 3. تسمية الجداول/النماذج/الاستعلامات/التقارير تبدأ بحرف/حروف تميزها عن بقية الكائنات (ما يكون عندك جدول واستعلام ونموذج وتقرير بنفس الاسم ، Type1 ، مثلا) ، وانما يكون tbl_Type1 و qry_Type1 ..) ، ونجعل الحقل مفهرس لأن عنده علاقة مع جدول آخر (انظر الصورة رقم 11) ، ويجب ان يكون في جدول الحقلين Auto_ID و Auto_Date (المسمى غير مهم ، وانما الاعدادات مهمة) ، فبالاضافة الى فائدة Auto_ID لتسريع جلب بيانات الجدول ، و Auto_Date لمعرفة وقت عمل السجل ، فإن هذين الحقلين هما الاساس في تحويل جدولك الى SQL Server لاحقا اذا شئت : . 4. مصدر سجلات الحقل من جدوله tbl_Type1 ، بينما مصدر بيانات السجل من جدول MZ_TAB : . 5. هكذا نرى في النموذج الاسم الذي نريد المستخدم ان يراه : . 6. . 7. بعد ان يُدخل المستخدم قيمة للحقل nom ، يمكن استخدام الدوال لتحديث الحقلين الآخرين في النموذج : . 8. وبما انن نحدّث الحقلين تلقائيا ، فنقفلهم حتى لا يعبث بهما المستخدم : . 9. نوع القيمة المسترجعة من الدالة ، يجب ان تطابق تلك التي في الجدول : . 10. تجنب استخدان الكلمات العربية في اي من كائنات برنامجك ، فمن السهل التغلب على هذه النقطة من البداية ، ولكن اذا لم تفعل هذا ، فستقلب كف على كف : . 11. العلاقة بين الجدول الجديد والجدول/الجداول التي تكون فيها قيمة TYPE1 ، اما العلاقة التي في الاعلى ، فمالك شغل في اولاد الجيران وعملهم 😁 . جعفر 1350.1.MZtab08.accdb.zip 2 1
kha9009lid قام بنشر مارس 5, 2021 قام بنشر مارس 5, 2021 منذ ساعه, jjafferr said: ملاحظاتي: ملاحظات قيمة اللهم اجعل ما يقدمه اخي جعفر من علم نافع في ميزان اعماله 1
nssj قام بنشر مارس 5, 2021 الكاتب قام بنشر مارس 5, 2021 منذ ساعه, kha9009lid said: ملاحظات قيمة هي كذلك فعلا .. ولأهمية الأمر فسأطرح قريبا موضوعا خاصا بعنوان (مساعدة في تصميم الجداول) لنبدأ من أول السطر فقد كان تركيزي هنا على تحديث حقل بناء على حقل آخر .. لكن ينبغي أولا أن أتأكد من أن هذه الحقول صممت بالطريقة الصحيحة وينبغي أن أشرح أولا بعض الأمور المهمة .. فمثلا في موضوعنا هذا فإن حقل (nom) هو حقل مؤقت تم استيراده من وورد، وفيه عدة رموز وأرقام، سوف تترجم إلى معلومات في حقلين (TYPE1 - TYPE2) ولها دور في ترقيم المفتاح الأساسي (Mno) وبعد أداء هذه المهمة سوف يحذف ليتم بعد ذلك مراجعة معلومات الحقلين وتعديل ما فيها من خطأ وتعبئتهما يدويا في حالة إضافة الأحاديث الجديدة .. لذلك وضعتهما على شكل قائمة محصورة الاحتمالات للاختيار بينها وعدم الخطأ في إدخال المعلومات بل وكذلك الأمر في حقل (Tlvl) حقل فيه رموز خاصة وضعت في وورد ، سوف تترجم إلى بيانات لها أهميتها في ربط الجدول الرئيسي بالجداول الأخرى .. وهذه أمور لا يكمن القيام بها في وورد .. فترجمة هذه الرموز والأرقام إلى بيانات هي مهمة أكسس .. ثم بعد ذلك معلومات الأحاديث الجديدة التي ستضاف ستحدث يدويا في حقولها الحاصل .. وحسب فهمي لقوانين هذا المنتدى المبارك فإن موضوعنا هنا تم بحمد الله .. وينتقل بحث تصميم الجداول لموضوع آخر .. والله الموفق
ابوبسمله قام بنشر مارس 5, 2021 قام بنشر مارس 5, 2021 1 ساعه مضت, kha9009lid said: ملاحظات قيمة اللهم اجعل ما يقدمه اخي جعفر من علم نافع في ميزان اعماله اللهم آمين واياكم اخى خالد وجميع اخوانى واساتذتى
jjafferr قام بنشر مارس 5, 2021 قام بنشر مارس 5, 2021 شكرا شباب 🙂 كنت ابحث عن هذا الموضوع ، والحمدلله لقيته ، وفيه نصائح عن الامور التي تحتاجها لأي برنامج ، وكان لأخوي @kha9009lid السهم الاكبر من هذه النصائح (شكرا اخوي خالد 🙂) : . جعفر
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.