-
Posts
378 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو nssj
-
نسيت أرفق الملف بعد التجارب سجلات 03.rar
-
أحسن الله إليك أخي الكريم .. تم المطلوب بحمد الله والآن نأتي لبعض التعديلات إن أمكن 😁 كنت سأطلب منك أخي الكريم أمرين .. يظهر أني استطعت فعلهما .. فهل لك أن تنظر فيما فعلته وهل هو صواب أولا: كنت سأطلب إن كان بالإمكان جعل الترقيم يبدأ من رقم معين، وأجريت بعض التجارب ونجحت أحدها، فإذا أردت ان يبدأ الترقيم من رقم (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) ويكمل الترقيم متسلسلا بناء على ذلك إلى آخر الجدول
-
بارك الله فيك أخي الكريم .. يعمل بسرعة كبيرة بحمد الله ولكن توجد مشكلة .. في بعض الجداول ظهرت رسالة وعند الرجوع للجدول يتضح أن الترقيم يبدأ بـ (10000) أو (10000) ثم يحدث خلل في الترقيم وبعد البحث والتحري 🔍 وتكرار التجارب يظهر أن السبب وجود فارق كبير في ترقيم بعض الأحاديث .. كما في الصورة فأرجو أن يكون بالإمكان معالجة الأمر بحيث تتم عملية الترقيم بغض النظر عن الترقيم الموجود أصلا والخلل فيه والفروق التي قد تكون كبيرة في بعض الأحيان .. لأن المطلوب من الكود هو معالجة هذه المشاكل وإذا تم معالجة هذا الأمر .. فعندي بعض الاستفسارات وربما طلب بعض التعديلات إن كانت ممكنة 🙂.. حيث أن عملية إعادة الترقيم أحتاجها كثيراً في عدة جداول وقواعد بيانات، وربما أحتاج إدراجها أو طلبها خلال بعض الأكواد الأخرى .. والله الميسر
-
شكرا لك أخي الكريم Barna تمت الإجابة على الشطر الأول .. وبقي الشطر الثاني .. وهو بخصوص إن كانت هناك صيغة أخرى تؤدي الغرض بشكل أسرع في الملفات الكبيرة
-
الإخوة الكرام .. في الملف المرفق استعلام لإعادة ترقيم حقل (HNO) بترقيم متسلسل والمطلوب القيام بهذه العملية من خلال كود في النموذج على شاكلة DoCmd.RunSQL "UPDATE .. لاستعماله ضمن أكواد أخرى عند اللزوم ثم لا حظت أن هذا الاستعلام يعمل ببطء شديد في الملفات الكبييييرة فهل توجد صيغة أخرى أكثر سرعة تؤدي المطلوب .. سواء كاستعلام أو كود سجلات 01.rar
-
هذه المعلومة (الظريفة 🙂) منك اخي الكريم جعلتني أعيد النظر في الجدولين، فأضفت للجدول الثاني (b14000) حقل (MNO) ليكون رابطا بين الجدولين وبعد النظر في مكتبة الأكواد التي عندي -والتي مصدرها مشاركات الأفاضل أمثالك أخي الكريم- عدلت الكود إلى cdb.Execute "UPDATE b14 INNER JOIN b14000 ON b14.MNO = b14000.MNO SET b14.HNO = [b14000].[HNO]" وزبطت معي أخيرا .. والآن سوف أضيف الكود (المبالغ به 😃) الذي تفضلت به لهذه المكتبة .. لاستخدامه في التجارب والاختراعات المقبلة
-
أحسن الله إليك أخي الكريم husamwahab هذا هو المطلوب مع أني عندما فتحت الكود تفاجأت بأنه كود كامل بعدة جمل هل هذا يعني بأن المطلوب لا يمكن تنفيذه بهذه الجمل التي على شاكلة .. .. UPDATE b14 SET b14.HNO ذلك أنه خلال تجاربي الفاشلة 🙄 كانت تظهر لي أحيانا رسالة مفادها أنه يوجد خطأ في بناء جملة (update) .. فسبق إلى ذهني أن الطريقة صحيحة من حيث المبدأ وأن الخطأ إنما كان فقط في الصيغة ؟؟
-
شكرا على مرورك أخي الكريم أبو عبدالله الحلوانى ولكن كما ذكرت في المشاركة السابقة .. يبدو أني بحاجة لاستعلام تحديث وليس استعلام إلحاق فالمطلوب نسخ بيانات حقل (HNO) التي في جدول (b14000) إلى جدول (b14) وعليه .. فحقل المفتاح الأساسي (MNO) ليس بمشكلة لأنه لا توجد زيادة سجلات .. عدد السجلات سيبقى كما هو والعملية هي مجرد تعبية بيانات أو تغييرها بناء على حقل من جدول آخر الخطأ مني منذ البداية عندما استعملت الكود بصيغة الإلحاق وليس التحديث ثم أحب أن أذكر الإخوة الكرام .. المطلوب أساسا هو أداء هذه العملية من خلال كود وليس استعلام .. أنا لجأت للإستعلام لمعرفة أين الخطأ .. فلم أفلح على الحالتين 😐
-
شكرا على الإفادة أخي الكريم وبعد تجربة الكود بعد إزالة المفتاح الرئيسي ظهر لي أن المطلوب استعلام تحديث وليس استعلام إلحاق !!!!! المطلوب باختصار هو أنني كنت أنسخ عمود (HNO) من جدول (b14000) ثم أقوم بلصقه في عمود (HNO) من جدول (b14) والمطلوب هو أن يقوم الكود بهذه العملية جربت UPDATE b14 SET b14.HNO = [b14000].[HNO] وما زبطت وحاولت بالاستعلام ونفس النتيجة هو أنا كل ماأفكر حالي وصلت لمستوى مبتدئ بكتشف إنو لسه الطريق طوييييييل 🤔 🤔 🤔
-
الإخوة الكرام .. الكود في الملف المرفق أخذته من بعض الأكواد، والغرض منه إلحاق البيانات من جدول لآخر .. ولكنه لا يعمل cdb.Execute "insert into b14 (HNO) select HNO from b14000" وجربت إجراء الأمر عبر استعلام فلم ينجح أين الخطأ على الوجهين ؟؟ سجلات xx.rar
-
السؤال المفروض يكون: طيب إيه بس اللي إنت فاهمه 😂 هاي الأكود (الذكية 😃) صعبة كثييييير علي .. أنا بالكاد ممكن أستوعب بعض الأكواد العادية
-
شكراَ للأخ ناقل والأخ الناقل ابا جودى 😁 تم المطلوب بحمد الله .. فبارك الله فيكما مع إني زعلان شوي .. فكرت حالي صرت معلم، وخليت النماذج الفرعية بخاصية غير مرئي، وبالنسبة للسطر 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) فرجعت كل شي زي ماكان .. وبطلت تجارب واختراعات 😐
-
مع إني مش فاهم إشي من الكود 🙄 .. بس برضو أنا إلي دور في الموضوع .. بسبب السطر السحري إللي أضفتو Me.Requery 😂 😂 😂
-
شكلو مصباح علاء الدين شغال اليوم على وذنو 😁 .. وأنا مش ملحق عليه .. راح أجرب المرفق وأبلغكم بالنتيجة
-
في الملف المرفق النموذج الرئيسي (FRM1) وفيه ثلاث نماذج فرعية 1- (FRM_RMZ_X) 2- (Frm_TF) 3- (FRM_TFX) بالنسبة للنموذجين الأول والثاني فالمطلوب -إن أمكن- ألا يظهرا إلا إذا كان فيهما بيانات، أما إذا كانت الحقول فارغة فلا يظهر النموذج الفرعي أصلاً بدل أن يظهر بحقوله الفارغة أما بخصوص النموذج الفرعي الثالث (FRM_TFX) فالمطلوب ألا يظهر إذا كان حقل (MNO) فارغاً وتوجد نماذج أخرى على هذه الشاكلة .. لكني سأحاول أن أعالج الأمر بنفسي بعد أن أتعلم من إفادات أهل الخبرة ومشاركاتهم في هذا الموضوع 🙂 MusndWZwayid001.rar
-
الحمد لله .. ومصباح علاء الدين هذا إلك فيه دور أخي الكريم ابا جودى وكل الشكر للأخوين الكريمين husamwahab & ابا جودى وتم المطلوب بحمد الله والحاصل من كل ما سبق: تعلمتُ كيفية حذف سجلات من (..) إلى (..) عبر الاستعلام إذا احتجت لهذا الأمر في بعض الأحيان وإذا كنت أريد إدراج هذا الإجراء في النماذج لتكرار الحاجة إليه فأستخدم الوحدة النمطية، مع الأمر التالي إذا كان مصدر البيانات هو الجدول نفسه Call SpDelRec(Me.RecordSource, "TNO") Me.Requery أما إذا كان مصدر البيانات استعلام فأستخدم الأمر التالي Call SpDelRec("TAB_RMZ", "TNO") Me.Requery مع تغيير اسم الجدول حسب المطلوب
-
لأ هيك كثييير .. إذا كنت إنت مش مبرمج يعني أنا لسه مش مبتدئ 😁 والطلب اللي طلبتو .. طلبتو لأني شفت أكواد فيها نفس الفكرة .. أو نفس الذكاء .. بتجيب اسم الجدول لحالها بدون ما حدا يحكيلها ما تسألني وين هاي الأكواد .. لأني نسيت 🙃
-
شكرا أخي الكريم ابا جودى على الإفادة ومن باب التطفل على موائد الكرام أضفت للكود عبارة (Me.Requery) حتى لا تظهر الصفوف المحذوفة # # ، فأصبح الكود هكذا Call SpDelRec("TAB_RMZ", "TNO") Me.Requery فهل هذا هو التصرف السليم والكود الذي تفضلت به أخي الكريم مريح جدا ومرن فبارك الله فيك، وهو مناسب تماما في حالة أن يكون حقل الترقيم مختلف في كل جدول أو نموذج .. لكن أيضاً رغبة في التعلم وحتى لا يبقى في ذهني تساؤلات: في مثل هذه الحالة التي يكون اسم حقل الترقيم وهو مجال عمل الكود موحدا في جميع الجداول والنماذج (TNO)، والمتغير الوحيد هو اسم الجدول، فهل يمكن في مثل هذه الحالة أن يعرف الكود بنفسه اسم الجدول الذي سيجري عليه العملية، يعني أن يأخذ اسم الجدول من مصدر بيانات النموذج الذي تم استدعاؤه منه
-
شكراً لك على الإفادة أخي الكريم husamwahab وتطبيقا لما فهمته عدلت على استعلام الحذف بحيث أكتب فيه مباشرة أرقام الحذف المطلوبة، فأصبح بهذه الصورة وإلى هنا تم المطلوب بحمد الله، فجزاك الله خيراً وأحسن إليك ولكن .. أطمع بإجراء آخر إن كان بالإمكان وهو تحويل الكود الذي تفضلت به إلى وحدة نمطية ذكية أو كود ذكي، يتم استدعاؤه من أي نموذج، فيخرج هذا المربع [حذف من () إلى ()] وبمجرد كتابة الأرقام يقوم بالمهمة، دون الحاجة لكتابة كود لكل نموذج أو تغيير اسم النموذج، فهو يغير اسم النموذج بالنظر للنموذج الذي تم استدعاؤه منه، وفي جميع النماذج الأرقام المطلوبة هي تحت حقل باسم موحد (TNO) وفي الملف المرفق نموذجين للتطبيق عليهما إن كان هذا ممكنا Tab05.accdb
-
شكراً لك أخي الكريم husamwahab ولكن رغبة في التعلم اسمح لي بسؤال: لماذا لم تستخدم استعلام الحذف أنا بالنظر لكوني مبتدئاً أشعر أن التعامل مع الاستعلام أسهل، لا سيما وهو في وضع التصميم، حيث أستطيع تغيير الجداول والحقول حسب الحاجة دون اللجوء للغة البرمجة (SQL)
-
الإخوة الكرام .. مطلوب استعلام لحذف سجلات معينة يتم تحديدها بالأرقام من () إلى () والترقيم من حقل (Tno) Tab02.accdb
-
نعم أخي الكريم husamwahab هذا هو المطلوب فجزاك الله خيراً وأحسن إليك
-
الإخوة الكرام .. مطلوب كود لتعبئة حقل (MNO) من الجدول (TAB_TF) والقيمة المطلوبة هي الرقم الموجود في حقل (MNO2) ويحدده قيمة الحقل (lvl) فحيث ما كانت قيمة (lvl) = 1 أو 2 فإن قيمة (MNO) هي رقم (MNO2) السابق له والذي قيمة (lvl) فيه = 0 أما حيث ما كانت قيمة (lvl) = 3، فإن قيمة (MNO) هي رقم (MNO2) السابق له والذي قيمة (lvl) فيه هو 2 وليس مطلوبا تعبئة السجلات التي تكون فيها قيمة (lvl) = 0، لأنها ستحذف، فهي موجودة فقط لتعبئة الجدول بالطريقة السابقة والترتيب بناء على حقل (Tno) وللتوضيح فإن هذه الأرقام لبيان الأصول والفروع، فحقل (MNO) هو للأصول ، وحقل (MNO2) لفروعها وحيثما كان (lvl) = 0 ، فهذا يعني أنه الأصل والفروع التابعة له هي التي فيها (lvl) = 1 أو 2 ولكن الفرع الذي برقم (2) قد يكون له فروع، وهي الأرقام (3) التي بعده أرجو أن أكون قد وفقت في شرح المطلوب، ولزيادة البيان ففي الملف المرفق جدول (TAB_TF2) كتبت بعضه يدويا للتوضيح Tab_Tf.accdb
-
😐 طيب .. ممكن طلب آخر يمكن يكون أسهل هل يمكن تحويل هذه الأكواد إلى وحدة نمطية ذكية لتطبيقه على أكثر من نموذج .. قصدي بوحدة نمطية ذكية أنها تكتشف اسم النموذج والجدول بنفسها، فبمجرد استدعاء الكود من أي نموذج يقوم الكود بتنفيذ العملية عليه .. لأن حقل الترقيم الذي هو مجال عمل الكود موحد في جميع الجداول والنماذج وهو (Tno) والأكواد المطلوبة 1- كود نقل السجل حركة واحدة للأسفل أو للأعلى، وهو أحد الأكواد التي أشار إليها عليها الأخ biskra 2- كود الإضافة الذي تفضل به الأخ (kanory)، حيث سوف أستخدمه في الجداول والنماذج الفرعية، حيث لا توجد مشكلة النصوص الطويلة التي تسبب البطء، وميزة كود الأخ (kanory) أنه لا يتطلب وجود الترقيم العشري يكفي فيه فقط وجود حقل الرقم المسؤول عن الترتيب (Tno) وفي الملف المرفق نموذجان للتطبيق عليهما .. وقد نسخت الأكواد المطلوبة في وحدات نمطية للتوضيح .. هذا ما أعرفه فقط النسخ واللصق، أما التحويل والتفعيل فهذه لأهل الخبرة MusndWZwayid 01.accdb