اذهب الي المحتوي
أوفيسنا

nssj

03 عضو مميز
  • Posts

    384
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل منشورات العضو nssj

  1. شكرا لك أخي الكريم .. لكن يظهر أني لم أوضح المطلوب بشكل جيد المطلوب أكرمك الله أن يظهر النص من الكتاب الموجود في الاستعلام، ففي الصف الذي فيه: (ثلاثيات البخاري) رقم الحديث (3) يظهر نص هذا الحديث من ذلك الكتاب، من جدوله (20101) مباشرة، وليس نص الحديث من الجدول الرئيسي (TAB) وهكذا في كل حديث 🤔 😐 .. شكلو كلام دسم كثيير .. بس أخلص أشغال اليوم بحاول أستوعبوا بالليل مع إبريقين شاي 😁
  2. الإخوة الكرام في الملف المرفق جدول رئيسي (TAB) مرتبط بعدة جداول بعلاقة متعدد مع متعدد عبر جدول وسيط (TAB_Books_X) وفي النموذج (Frm7) تظهر نتيجة هذا الربط بشكل صحيح عبر الاستعلام (Q_books)، كما في الصورة ولكن المطلوب أن يظهر حقل النص بجانب رقم الحديث، أعني حقل النص الموجود في جداول الكتب .. ولم أستطع أن أطبق هذا الأمر وامر آخر .. هل يمكن أن تكون جداول الكتب في مجلد آخر على الجهاز وليس داخل قاعدة البيانات هذه .. لأنها عددها كبيير ؟؟ MusndWZwayid 7.accdb
  3. نتيجة التجارب إلى الآن .. بالطريقة الأولى تم التطبيق على الزرين الآخرين بحيث يبدأ الترقيم من الحديث الحالي أو التالي " WHERE (((" & strTableName & ".HNO)>=" & strbar & "))") وفي كود الاستدعاء Call re_Num3("b14", "HNO", str, Me.HNO) ولكن في الطريقة الثانية لم تنجح هذه الطريقة لأن استدعاء الكود يكون من نموذج آخر Call re_Num("b14", "HNO", TempVars("barna"), Forms!b14.bar) وجربت تغييره إلى .. .. .. Forms!b14.HNO) .. .. .. Forms!b14!HNO) .. .. .. Forms!b14!bar) وما زبطت .. شكلو الطريقة الأولى أسهل 😃 شكرا لك أخي الكريم .. يعني كل التجارب الفاشلة كان حلها حذف هالسطر 😂
  4. أحسن الله إليك أخي الكريم ولكن الظاهر إني تلميذ (نص شاطر) 😐 من أول ما شفت الطريقة الأولى وأنا نازل تجارب واختراعات .. مش على التطبيق على بقية الأزرار .. الحمد لله هاي زبطت معي .. 😁 بس كنت بحاول أخلي المؤشر يرجع للصفحة اللي كنت فيها وكبست فيها الزر وقدر الله إني كنت اليوم في جولة على بعض الأكواد اللي عندي وشفت إنو بعضها بعد عملية نقل السجلات وتغيير الأرقام بيرجع للمكان اللي كان فيه بواسطة استخدام (Bookmark) مش باستخدام الانتقال بالرقم لأنو الأرقام تغيرت وحاولت أطبق نفس الموال على الكود بتاعنا .. وفشلت كللللللل التجارب 😒 والآن شفت الطريقة الثانية .. ولسه هلأ بدي أبدأ تجارب عليها 🙂
  5. نعم أخي الكريم .. يبدأ الترقيم من رقم يتم إدخاله من نموذج أو صندوق رسائل
  6. بارك الله فيك أخي الكريم .. هو المطلوب مع بعض التعديلات التي اخترعتُها وزبطت .. في البداية قد يكون الخطأ مني حيث لم أوضح المقصود بشكل واضح .. المطلوب كان أن يزيد رقمين في الحديث التالي ثم يكمل الترتيب تصاعديا متسلسلا بناء على ذلك .. يعني كما في الصورة والكود أعطى الحديث التالي رقما زائدا برقمين كما هو المطلوب، لكنه كان يزيد في الأرقام التي بعده رقمين وأحيانا أكثر كما في الصورة وبعد البحث والتحري 🔍 .. وصلت للمطلوب بأن استبدلت العبارة j = j + 2 بهذه j = j + 1 فحصلت على النتيجة المطلوبة كما في الصورة الأولى فهل هذا هو التصرف السليم أخي الكريم .. أم هناك إجراء أفضل ؟؟ التعديل الثاني: بعد تجربة الكود على أحد الملفات الكبيرة التي عندي ظهر خلل في الترقيم إذ لم يكن يرقم كل الأحاديث، وظهر لي أن السبب هو وجود (ID) في الكود، بينما الملفات التي عندي كلها مرتبة على (HNO) وقد يحدث اختلاف كبير بين الترقيم في (ID) & (HNO) بسبب حذف الأحاديث وإضافتها ونقلها ولكن حصلت على المطلوب بلا مشاكل عندما جعلى الكود يعتمد الترتيب على (HNO) باستبدال هذه العبارة " WHERE (((" & strTableName & ".ID)>" & strbar & "))") بالتالية " WHERE (((" & strTableName & ".HNO)>" & strtxt & "))") ثالثا: كنت سأطلب تعديلا آخر .. وهو ما العمل إذا كنت أريد أن يبدأ الترقيم من الحديث الذي أنا فيه وليس من التالي .. وبعد التجارب حصلت على المطلوب باستبدال (>) بـ (>=) يعني النتائج إلى الآن تمام بحمد الله .. فبارك الله فيك أخي الكريم وهذا الملف المرفق بعد اختراعاتي .. لتنظر فيها يمكن تكون اختراعات مش مزبوطة .. وإذا كانت مزبوطة .. فيأتي دور التعديل الرابع 😃 وهو عند كبس زر (إعادة الترقيم) تخرج رسالة أو صندوق: ابدأ ترقيم هذا الجدول من رقم ( .. ) وبعد إدخال الرقم المطلوب البدء منه ينفذ عملية الترقيم بناء عليه وإذا تكرمت أخي الكريم بإجراء هذا التعديل فسوف أقيس عليه الأمور الأخرى: اجعل رقم هذا الحديث هو ( .. ) وأكمل الترقيم تصاعديا اجعل رقم الحديث التالي هو ( .. ) وأكمل الترقيم تصاعديا وإذا كنت تلميذ شاطر وزبطت معي فسوف يكون التعديل الأخير بإذن الله 🙂 .. وشكرا لك أخي الكريم على صبرك علي سجلات 05.rar
  7. أنا واجهتني نفس المشكلة .. على نفس الجهاز ونفس قاعدة البينات .. فجأة وأنا بشتغل بطل ولا كود يشتغل .. وبتطلع هذه الرسالة !!!!!
  8. نسيت أرفق الملف بعد التجارب سجلات 03.rar
  9. أحسن الله إليك أخي الكريم .. تم المطلوب بحمد الله والآن نأتي لبعض التعديلات إن أمكن 😁 كنت سأطلب منك أخي الكريم أمرين .. يظهر أني استطعت فعلهما .. فهل لك أن تنظر فيما فعلته وهل هو صواب أولا: كنت سأطلب إن كان بالإمكان جعل الترقيم يبدأ من رقم معين، وأجريت بعض التجارب ونجحت أحدها، فإذا أردت ان يبدأ الترقيم من رقم (5) مثلا عدلت على الكود rst!HNO = 5 + i والنتيجة كانت تمام .. ولكن هل هذا هو التصرف الصحيح في هذه الحالة ؟؟ ثانيا: كنت سأثقل عليك أيضا وأطلب تحويله لوحدة نمطية ذكية .. يعني يمكن استدعاؤها من أي نموذج .. فاستفدت من مشاركة الأخ husamwahab في موضوع استعلام لحذف سجلات من .. إلى وعدلت على الوحدة النمطية لتصبح هكذا Function re_Num(ByVal strTableName As String, ByVal strFieldName As String) Dim rst As DAO.Recordset Dim i As Long Dim RC As Long Set rst = CurrentDb.OpenRecordset("Select * From [" & strTableName & "] order by [" & strTableName & "].[" & strFieldName & "]") rst.MoveLast: rst.MoveFirst .. .. .. وفي كود الاستدعاء Call re_Num("**", "HNO") حيث ** اسم الجدول المطلوب وزبطت معي والآن .. تعديل صعب علي .. هل يمكن التعديل على هذا الكود بحيث يبدأ الترقيم من الحديث التالي إلى آخر الجدول بحيث يزداد الترقيم رقمين يعني إذا كان رقم الحديث التالي (500) يصبح (502) ويكمل الترقيم متسلسلا بناء على ذلك إلى آخر الجدول
  10. بارك الله فيك أخي الكريم .. يعمل بسرعة كبيرة بحمد الله ولكن توجد مشكلة .. في بعض الجداول ظهرت رسالة وعند الرجوع للجدول يتضح أن الترقيم يبدأ بـ (10000) أو (10000) ثم يحدث خلل في الترقيم وبعد البحث والتحري 🔍 وتكرار التجارب يظهر أن السبب وجود فارق كبير في ترقيم بعض الأحاديث .. كما في الصورة فأرجو أن يكون بالإمكان معالجة الأمر بحيث تتم عملية الترقيم بغض النظر عن الترقيم الموجود أصلا والخلل فيه والفروق التي قد تكون كبيرة في بعض الأحيان .. لأن المطلوب من الكود هو معالجة هذه المشاكل وإذا تم معالجة هذا الأمر .. فعندي بعض الاستفسارات وربما طلب بعض التعديلات إن كانت ممكنة 🙂.. حيث أن عملية إعادة الترقيم أحتاجها كثيراً في عدة جداول وقواعد بيانات، وربما أحتاج إدراجها أو طلبها خلال بعض الأكواد الأخرى .. والله الميسر
  11. شكرا لك أخي الكريم Barna تمت الإجابة على الشطر الأول .. وبقي الشطر الثاني .. وهو بخصوص إن كانت هناك صيغة أخرى تؤدي الغرض بشكل أسرع في الملفات الكبيرة
  12. الإخوة الكرام .. في الملف المرفق استعلام لإعادة ترقيم حقل (HNO) بترقيم متسلسل والمطلوب القيام بهذه العملية من خلال كود في النموذج على شاكلة DoCmd.RunSQL "UPDATE .. لاستعماله ضمن أكواد أخرى عند اللزوم ثم لا حظت أن هذا الاستعلام يعمل ببطء شديد في الملفات الكبييييرة فهل توجد صيغة أخرى أكثر سرعة تؤدي المطلوب .. سواء كاستعلام أو كود سجلات 01.rar
  13. هذه المعلومة (الظريفة 🙂) منك اخي الكريم جعلتني أعيد النظر في الجدولين، فأضفت للجدول الثاني (b14000) حقل (MNO) ليكون رابطا بين الجدولين وبعد النظر في مكتبة الأكواد التي عندي -والتي مصدرها مشاركات الأفاضل أمثالك أخي الكريم- عدلت الكود إلى cdb.Execute "UPDATE b14 INNER JOIN b14000 ON b14.MNO = b14000.MNO SET b14.HNO = [b14000].[HNO]" وزبطت معي أخيرا .. والآن سوف أضيف الكود (المبالغ به 😃) الذي تفضلت به لهذه المكتبة .. لاستخدامه في التجارب والاختراعات المقبلة
  14. أحسن الله إليك أخي الكريم husamwahab هذا هو المطلوب مع أني عندما فتحت الكود تفاجأت بأنه كود كامل بعدة جمل هل هذا يعني بأن المطلوب لا يمكن تنفيذه بهذه الجمل التي على شاكلة .. .. UPDATE b14 SET b14.HNO ذلك أنه خلال تجاربي الفاشلة 🙄 كانت تظهر لي أحيانا رسالة مفادها أنه يوجد خطأ في بناء جملة (update) .. فسبق إلى ذهني أن الطريقة صحيحة من حيث المبدأ وأن الخطأ إنما كان فقط في الصيغة ؟؟
  15. شكرا على مرورك أخي الكريم أبو عبدالله الحلوانى ولكن كما ذكرت في المشاركة السابقة .. يبدو أني بحاجة لاستعلام تحديث وليس استعلام إلحاق فالمطلوب نسخ بيانات حقل (HNO) التي في جدول (b14000) إلى جدول (b14) وعليه .. فحقل المفتاح الأساسي (MNO) ليس بمشكلة لأنه لا توجد زيادة سجلات .. عدد السجلات سيبقى كما هو والعملية هي مجرد تعبية بيانات أو تغييرها بناء على حقل من جدول آخر الخطأ مني منذ البداية عندما استعملت الكود بصيغة الإلحاق وليس التحديث ثم أحب أن أذكر الإخوة الكرام .. المطلوب أساسا هو أداء هذه العملية من خلال كود وليس استعلام .. أنا لجأت للإستعلام لمعرفة أين الخطأ .. فلم أفلح على الحالتين 😐
  16. شكرا على الإفادة أخي الكريم وبعد تجربة الكود بعد إزالة المفتاح الرئيسي ظهر لي أن المطلوب استعلام تحديث وليس استعلام إلحاق !!!!! المطلوب باختصار هو أنني كنت أنسخ عمود (HNO) من جدول (b14000) ثم أقوم بلصقه في عمود (HNO) من جدول (b14) والمطلوب هو أن يقوم الكود بهذه العملية جربت UPDATE b14 SET b14.HNO = [b14000].[HNO] وما زبطت وحاولت بالاستعلام ونفس النتيجة هو أنا كل ماأفكر حالي وصلت لمستوى مبتدئ بكتشف إنو لسه الطريق طوييييييل 🤔 🤔 🤔
  17. الإخوة الكرام .. الكود في الملف المرفق أخذته من بعض الأكواد، والغرض منه إلحاق البيانات من جدول لآخر .. ولكنه لا يعمل cdb.Execute "insert into b14 (HNO) select HNO from b14000" وجربت إجراء الأمر عبر استعلام فلم ينجح أين الخطأ على الوجهين ؟؟ سجلات xx.rar
  18. السؤال المفروض يكون: طيب إيه بس اللي إنت فاهمه 😂 هاي الأكود (الذكية 😃) صعبة كثييييير علي .. أنا بالكاد ممكن أستوعب بعض الأكواد العادية
  19. شكراَ للأخ ناقل والأخ الناقل ابا جودى 😁 تم المطلوب بحمد الله .. فبارك الله فيكما مع إني زعلان شوي .. فكرت حالي صرت معلم، وخليت النماذج الفرعية بخاصية غير مرئي، وبالنسبة للسطر If Not IsNull(Form_FRM_TFX.txtMNO) Then Me.FRM_TFX.Visible = True Else Me.FRM_TFX.Visible = False شفتو طويل شوي .. وقلت لحالي: مادام إنو هالنموذج صار غير مرئي أصلا، يعني مافي داعي للجملة الأخيرة (Else Me.FRM_TFX.Visible = False) وشطبتها .. بس ما زبطت .. صار النموذج يظهر حتى وحقل (MNO) فارغ .. والغريب إنو بيظهر دايما مع نموذج (Frm_TF) فرجعت كل شي زي ماكان .. وبطلت تجارب واختراعات 😐
  20. مع إني مش فاهم إشي من الكود 🙄 .. بس برضو أنا إلي دور في الموضوع .. بسبب السطر السحري إللي أضفتو Me.Requery 😂 😂 😂
  21. شكلو مصباح علاء الدين شغال اليوم على وذنو 😁 .. وأنا مش ملحق عليه .. راح أجرب المرفق وأبلغكم بالنتيجة
  22. في الملف المرفق النموذج الرئيسي (FRM1) وفيه ثلاث نماذج فرعية 1- (FRM_RMZ_X) 2- (Frm_TF) 3- (FRM_TFX) بالنسبة للنموذجين الأول والثاني فالمطلوب -إن أمكن- ألا يظهرا إلا إذا كان فيهما بيانات، أما إذا كانت الحقول فارغة فلا يظهر النموذج الفرعي أصلاً بدل أن يظهر بحقوله الفارغة أما بخصوص النموذج الفرعي الثالث (FRM_TFX) فالمطلوب ألا يظهر إذا كان حقل (MNO) فارغاً وتوجد نماذج أخرى على هذه الشاكلة .. لكني سأحاول أن أعالج الأمر بنفسي بعد أن أتعلم من إفادات أهل الخبرة ومشاركاتهم في هذا الموضوع 🙂 MusndWZwayid001.rar
  23. الحمد لله .. ومصباح علاء الدين هذا إلك فيه دور أخي الكريم ابا جودى وكل الشكر للأخوين الكريمين husamwahab & ابا جودى وتم المطلوب بحمد الله والحاصل من كل ما سبق: تعلمتُ كيفية حذف سجلات من (..) إلى (..) عبر الاستعلام إذا احتجت لهذا الأمر في بعض الأحيان وإذا كنت أريد إدراج هذا الإجراء في النماذج لتكرار الحاجة إليه فأستخدم الوحدة النمطية، مع الأمر التالي إذا كان مصدر البيانات هو الجدول نفسه Call SpDelRec(Me.RecordSource, "TNO") Me.Requery أما إذا كان مصدر البيانات استعلام فأستخدم الأمر التالي Call SpDelRec("TAB_RMZ", "TNO") Me.Requery مع تغيير اسم الجدول حسب المطلوب
  24. لأ هيك كثييير .. إذا كنت إنت مش مبرمج يعني أنا لسه مش مبتدئ 😁 والطلب اللي طلبتو .. طلبتو لأني شفت أكواد فيها نفس الفكرة .. أو نفس الذكاء .. بتجيب اسم الجدول لحالها بدون ما حدا يحكيلها ما تسألني وين هاي الأكواد .. لأني نسيت 🙃
  25. شكرا أخي الكريم ابا جودى على الإفادة ومن باب التطفل على موائد الكرام أضفت للكود عبارة (Me.Requery) حتى لا تظهر الصفوف المحذوفة # # ، فأصبح الكود هكذا Call SpDelRec("TAB_RMZ", "TNO") Me.Requery فهل هذا هو التصرف السليم والكود الذي تفضلت به أخي الكريم مريح جدا ومرن فبارك الله فيك، وهو مناسب تماما في حالة أن يكون حقل الترقيم مختلف في كل جدول أو نموذج .. لكن أيضاً رغبة في التعلم وحتى لا يبقى في ذهني تساؤلات: في مثل هذه الحالة التي يكون اسم حقل الترقيم وهو مجال عمل الكود موحدا في جميع الجداول والنماذج (TNO)، والمتغير الوحيد هو اسم الجدول، فهل يمكن في مثل هذه الحالة أن يعرف الكود بنفسه اسم الجدول الذي سيجري عليه العملية، يعني أن يأخذ اسم الجدول من مصدر بيانات النموذج الذي تم استدعاؤه منه
×
×
  • اضف...

Important Information