-
Posts
404 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو nssj
-
أنا قد سبق إلى ظني أنه من الممكن استخدام التعبير الذي ذكرتَه (.. vbcr ) خلال الكود البدائي الذي وضعتُه أنا بدل استخدام جملة Call SendKeys("= ", True) لكن .. يبدو أني أخطأت الفهم ، وأنك كنت تعني أخي الكريم أنه إذا أردنا تجنب سلبية استخدام أمر (SendKeys) فعلينا أن نستخدم دالة أخرى وطريقة أخرى مختلفة، وهي الطريقة التي استخدمتَها أنت، بتحديد ما قبل وما بعد المؤشر والإضافة بينهما وهذا يجيب على التساؤل الذي دار في ذهني عندما رأيت الكود الذي تفضلت به: لماذا لم تستخدم أمر (SendKeys) الجواب: لهذه السلبية
-
كيف يمكن استخدام هذا الأمر في الكود الذي أرفقتُه وما هو الأمر الذي يوضع قبله؟
-
أخي الكريم .. لكوني أحب التجارب والاستفادة من الأكواد التي يتفضل بها الأفاضل أمثالكم، فباستخدام بعض الأكواد مع الكود الذي تفضلت به استطعت الوصول للمطلوب بطريقة أخرى، قد أستخدمها إذا كان المطلوب إدراج رمز معين، وهو هذا الكود: Me.NASS.SetFocus Me.NASS.SelStart = cursorPosition Call SendKeys("^{ENTER}", True) Call SendKeys("= ", True) لكني لاحظت أنه مفتاح (NumLock) يتأثر عند استخدامه، بحيث أن الكود يعكس تفعيله، فإذا كان شغال فبعد الكود لا يشتغل، وإذا استخدمت الكود مرة أخرى يتفعل !! فهل هذا يعني أن هذا الكود له سلبيات ؟؟
-
شكرا على التوضيح أخي الكريم
-
تم المطلوب أخي الكريم .. جزاك الله خيرا وأحسن إليك كنت أحاول استيعاب الكود الذي تفضلت به لعلي أستخدمه أو جزءا منه في مهمات أخرى .. كما هي عادتي 😁 وأظنني استوعبت عمل الكود، لكن عندي بعض الاستفسارات لعلك تتكرم بتوضيحها - cursorPosition = Me.NASSbox.selStart هل هذه تعني: اجعل هذا المتغير = موقع المؤشر ؟ - beforeText = Left(currentText, cursorPosition) هل هذه تعني: هذا المتغير = كل ما هو قبل المؤشر - afterText = Mid(currentText, cursorPosition + 1) هل هذه تعني: هذا المتغير = كل ما بعد المؤشر - ما وظيفة آخر سطرين:
-
تمام أخي الكريم .. هذه هي النتيجة المطلوبة
-
الإخوة الكرام .. هل يمكن إنشاء كود لإدراج نص مختصر خلال النص ؟ في الملف المرفق ثلاثة أزرار [insert1 // insert2 // insert3] والمطلوب عند استخدام الزر الأول (1insert)، الذهاب لموضع المؤشر وإضافة سطر جديد ثم (1= ) : رقم (1) يليه مباشرة بدون مسافة (=) ثم مسافة ثم بقية النص - وعند استخدام الزر الثاني نفس الشيء ولكن الرقم هنا (2= ) - وكذلك الحال في الزر الثالث نفس الإجراء والرقم (3= ) وكمثال على ذلك، هذه صورة توضح النص الأصلي والنص المطلوب بعد استخدام الزرين الأول والثاني: Assaker.accdb
-
لا حول ولا قوة إلا بالله .. أعتذر مرة أخرى الكود يؤدي المطلوب وهذا التكرار في الأرقام الذي ظهر عندي بسبب أنني استعملت كود (Update_takhrij) على الجدول الأول (book_1) مرتين دون أن أنتبه ويبدو أن تركيزي هذه الأيام ليس في أحسن حالاته .. لذلك لم يخطر ببالي هذا الخطأ إلا مؤخرا أكرر اعتذاري وتم المطلوب بحمد الله .. جزاك الله خيرا أخي الكريم وأحسن إليك
-
اعذرني أخي الكريم .. لم أنتبه إلى أنك قد تفضلت بعمل الكود الثاني (Update_MNOX) إلا قبل قليل والنتيجة صحيحة في الجدول الثاني (book_2) أما في الجدول الأول فيوجد تكرار في الأرقام !!
-
أحسن الله إليك أخي الكريم .. هذه اللمسة الجميلة ستفيدني في أكواد أخرى
-
لمسة جميلة أخي الكريم لكن هل يمكن أن تعرض القائمة الجداول التي تبدأ بكلمة معينة ،و في حالتنا هذه: الجداول التي تبدأ أسماؤها بـ (Book)
-
أخي الكريم .. لتوضيح المطلوب من الكود الثاني، لنترك الملف المرفق سابقا ونعتمد المرفق هنا ستجد فيه أن جداول الكتب (book_1 - book_2) ليس فيها حقول (MNO MNO2 3 4 5 6 7) وإنما فقط حقل (MNOX) فارغا بينما جدول الربط (TAB_takhrij_X) معبأ بالبيانات والمطلوب هو نقل أرقام (MNO) من جدول الربط إلى ما يناسبها من (bookID) في حقل (MNOX) من جداول الكتب فعند إرادة نقل الأرقام لحقل (MNOX) من جدول (book_2) يأخذ الكود اسم الجدول المراد تعبئته من مربع (txt1) أما مربع (txt2) ففيه رقم الجدول (2) وعندها فمجال عمل الكود هي الصفوف التي يكون فيها حقل (TableNo) من جدول (TAB_takhrij_X) = (2) ويقوم بنقل أرقام (MNO) إلى مواضعها بدلالة (bookID) وإذا كان للحديث الواحد أكثر من رقم (MNO) فيوضع الرقم التالي بعد السابق بفاصل & ، لأن حقل ((MNOX) حقل نصي والنتيجة المطلوب الوصول لها في جدول (boo_2) هي: takhrij2.accdb
-
طيب .. الوقت متأخر .. خليها لبكرة إن شاء الله .. حتى أكون مصحصح وأحاول أشرح بالتفصيل 😁
-
تم المطلوب من المطلب الأول في الزر Update_takhrij .. بعد تعديل بسيط 'Set rsSource = db.OpenRecordset("SELECT * FROM [" & sourceTable & "]", dbOpenSnapshot) Set rsSource = db.OpenRecordset("SELECT * FROM [" & sourceTable & "] ORDER BY [" & sourceTable & "].[Tno]")
-
حياك الله أخي الكريم المطلوب قريب من هذه النتيجة .. إلا أنه إذا كان هناك أكثر من رقم (MNO) فيوضع كل رقم في سطر جديد لأن حقل (MNO) في جدول (TAB_takhrij_X) حقل رقمي وليس نص وهذه صورة توضح النتيجة المطلوبة عند وجود أكثر من رقم (MNO) للحديث الواحد أما إدراج جمع الأرقام في حقل واحد مع الفصل بينها بعلام & فهي في الكود الثاني
-
الإخوة الكرام .. في الملف المرفق المطلوب كود (Update_takhrij) لتعبئة البيانات في جدول (TAB_takhrij_X) من الجدول الذي يتم كتابة اسمه في (1txt) ومجال العمل في الصفوف التي لا يكون فيها مربع (MNO) فارغا والمطلوب نقل رقم (bookID) وما يقابله من (MNO) إلى جدول (TAB_takhrij_X)، مع نقل رقم (TableNo) وكذلك الحال في الحقول (2MNO – 3MNO – 4MNO - 5MNO - MNO7 - MNO6) إذا لم تكن فارغة وذلك لأن الجدول (TAB_takhrij_X) هو جدول الربط الذي سيربط بين الجداول المتعددة (book_1 & book_2 .. .. ..) وبين الجدول الرئيسي في قاعدة البيانات، لأن هذه الأرقام تم تعبئتها قديما في جداول الكتب بهذه الطريقة * أما الكود الثاني (Update_MNOX) فهو يقوم بالتعبئة بشكل عكسي يعني يقوم بنقل أرقام (MNO) من جدول (TAB_takhrij_X) إلى حقل (MNOX) من الجدول المطلوب، بدلالة (TableNo) ثم (bookID) وإذا كان للحديث أكثر من رقم (MNO) فيوضع الرقم التالي بعد السابق بفاصل & مثل هذه الصورة والغرض منه هو الاحتفاظ بهذه الأرقام في أماكنها في جداول الكتب من باب الاحتياط، لأن الحقول المتعددة (Mno 1 2 3 4 5 6 7) سوف تحذف من الجداول بعد تعبئة (TAB_takhrij_X) أرجو أن أكون قد وفقت في توضيح المطلوب 😊 takhrij.accdb
-
مساعدة في الذهاب إلى مواضع معينة في القائمة (ListBox)
nssj replied to nssj's topic in قسم الأكسيس Access
جزاك الله خيرا أخي الكريم وأحسن إليك تم المطلوب بحمد الله -
مساعدة في الذهاب إلى مواضع معينة في القائمة (ListBox)
nssj replied to nssj's topic in قسم الأكسيس Access
شكراً على إطرائك أخي الكريم 😊 الكود يؤدي المطلوب بحمد الله وحتى ننهي الموضوع .. ما هو الأمر المطلوب لينتقل المؤشر إلى آخر القائمة أنا كنت أظن أن هناك أوامر بسيطة مباشرة خاصة للانتقال لأول وآخر القائمة على شاكلة: DoCmd.GoToRecord , "", acLast ولكن يبدو أن الأمر ليس كذلك -
مساعدة في الذهاب إلى مواضع معينة في القائمة (ListBox)
nssj replied to nssj's topic in قسم الأكسيس Access
جزاك الله خيرا أخي الكريم نعم يمكن أن يتكرر، والخطأ مني حيث أني لم أنبه أن الانتقال سيكون بالاعتماد على القيمة التي لا تتكرر وهي رقم (Msno) وهي في القائمة: (Column(0 لم أفهم مقصدك أخي الكريم على العموم .. أعجبتني فكرة أن يكود الكود وحدة نمطية لاستدعائها من أكثر من نموذج بل حتى في النموذج الواحد سيكون هناك أكثر من (10) أزرار أوامر لنفس الغرض فلا داعي لتكرار الكود: (أنس – جابر – سعد – بن عباس – بن عمر – بن مسعود – علي – عمر – معاذ – أبو هريرة – عائشة – مبهم – مرسل) وفي كل زر سأضع أنا رقم (Msno) المطلوب الانتقال له في القائمة وقد جربت الأكواد الثلاثة التي تفضلت بها أخي الكريم بعد أن نجحت في تعديلها لتعمل عبر (Msno) ووضعت في الملف المرفق ثلاثة أزرار لكل زر كود، وتم المطلوب وأترك لك أخي الكريم اللمسة النهائية باختيار أحد هذه الأكواد وتعديله وتحويله لوحدة نمطية، بعد أن علمتَ أن الانتقال سيكون إلى رقم فريد وليس نصا يمكن أن يتكرر مع التذكير بالكود الذي ينتقل لآخر القائمة (go_Last) LIST1.accdb -
الإخوة الكرام .. هل يمكن التنقل في القائمة باستخدام الأكواد؟ يعني في الملف المرفق أريد عند الضغط على مربع (ابن عباس) ينتقل التحديد إلى ( عبد الله بن عباس) حاولت بعدة طرق منها: Me.Msaneed_List.Recordset.FindFirst "TNO=798" وأفضل ما وصلت إليه باستخدام كود Me.Msaneed_List.RowSource = "SELECT Tab_Msaneed.MSno,Tab_Msaneed.MS_NAMEX FROM Tab_Msaneed WHERE ((Tab_Msaneed.TNO) > 798) ORDER BY Tab_Msaneed.Tno;" وهو يجعل القائمة تبدأ من (ابن عباس)، وأنا أريد أن ينتقل إليه لا أن يبدأ منه، بحيث يمكنني استعراض ما قبله وما بعده. وكذلك هل يمكن إنشاء كود يعمل تماماً مثل استخدام مفتاحي (Ctrl+Home // Ctrl+End ) بحيث ينتقل المؤشر لأول أو آخر القائمة ؟ LIST.accdb
-
مساعدة في الربط بين الجداول مع خاصية (فرض التكامل المرجعي)
nssj replied to nssj's topic in قسم الأكسيس Access
الذي فهمته من كلامك أخي الكريم أن المشكلة قد تكون في جعل حقل الترقيم التلقائي (ID) هو المفتاح الأساسي فقمت بإضافة حقل رقمي آخر ليكون هو المفتاح الأساسي وهو حقل (bookID) وأنشأت العلاقات بين الجداول وعندما حاولت نقل المعلومات لجدول الربط (TAB_takhrij_X) حصلت نفس المشكلة ففرغت جدول الربط من المعلومات لأقوم بإضافتها من جديد يدويا من خلال نموذج (book) ولم تحدث مشكلة في الصفحات الأولى وعندما ذهبت لآخر صفحتين من كتاب (طبقات أصبهان) وجدوله (bookx) وحاولت إضافة رقم ربط خرجت نفس الرسالة وحتى أقطع الشك باليقين قمت بإنشاء قاعدة بيانات جديدة (3book) وأنشأت جدولين صغيرين بدون بيانات، لكن بنفس تصميم وأسماء الجداول السابقة، وأنشأت جدول الربط (TAB_takhrij_X) وجعلته فارغا لأقوم بتعبئته يدويا عبر نموذج (book) والكتاب الأول (طبقات أصبهان) وجدوله (bookx) وفيه خمس صفحات فقط تم ربطه عبر جدول الربط بلا مشاكل وكذا في الكتاب الثاني (تاريخ أصبهان) وجدوله (bookx2) إلى أن وصلت للصفحة (6) وعندما أضفت رقم الربط خرجت الرسالة أنا أجري تحديثا على جدول (bookx2) فلماذا تخرج لي رسالة أنه مطلوب سجل مرتبط في جدول (bookx) وكلاهما من الجداول الفرعية ولا رابط بينهما وكأن العلاقة المنشأة تتطلب وجود ترابط بين أرقام (bookID) في الجداول الفرعية هذا تفسيري لما حدث .. ولست من أهل الخبرة ولا أدري إن كان ما قمتُ به هو ما قصدته أخي الكريم .. أم أنني أخطات الفهم book3.accdb -
مساعدة في الربط بين الجداول مع خاصية (فرض التكامل المرجعي)
nssj replied to nssj's topic in قسم الأكسيس Access
يعني لكل كتاب أرقام (ID) الخاصة به ورقم (ID) هو لعدد الصفحات أو الأحاديث حسب طبيعة الكتاب فهذا الكتاب عدد صفحاته (500) وبالتالي عدد (ID) هو (500) وذاك الكتاب عدد صفحاته (2000) وبالتالي عدد (ID) هو (2000) وأصلا فالكتابين المرفقين في الملف أنا اختصرتهما إلى (100) وإلا فأحدهما (2090) والآخر (4970) والذي ظهر لي أن لكي تكون العلاقة فيها تكامل فينبغي أن تكون كل هذه الجداول الفرعية لها نفس عدد (ID) وإلا لماذا يرفض إضافة رقم لــ (ID) موجود في جدول (bookx) وغير موجود في (book2) وإذا كان الأمر كذلك فهل من حل ؟ -
مساعدة في الربط بين الجداول مع خاصية (فرض التكامل المرجعي)
nssj replied to nssj's topic in قسم الأكسيس Access
ليست المشكلة بين الجدول الأصل والفروع المشكلة بين الجداول الفروع وهي جداول الكتب: bookx // bookx2 .. .. فرقم (ID) هو تبع لعدد الصفحات او الأحاديث فلا يمكن أن تتوافق أعداد صفحات الكتب والأحاديث -
مساعدة في الربط بين الجداول مع خاصية (فرض التكامل المرجعي)
nssj replied to nssj's topic in قسم الأكسيس Access
حصل خطأ ورفعت الملف الخطأ .. هذا الملف الصحيح book2.accdb -
مساعدة في الربط بين الجداول مع خاصية (فرض التكامل المرجعي)
nssj replied to nssj's topic in قسم الأكسيس Access
الذي يظهر لي أن المشكلة في وجود بعض أرقام (ID) في أحد الجداول وعدم وجودها في جدول آخر هذا ما ظهر لي عندما أنشأت جدولا جديدا فارغا للربط (XXXX) وجعلت العلاقة بالشكل المطلوب وعندما نقلت المعلومات بالنسخ واللصق رفض أن يدخل هذا الصف لأنه لا يوجد (ID) برقم (39) في جدول (bookx) وعندما حاولت أن أضيف رقما جديدا في جدول الربط يدويا من خلال النموذج (book) خرجت هذه الرسالة لأنه لا يوجد (ID) برقم (100) في جدول (bookx2) وكأنه من لوازم (التكامل المرجعي) أن يوجد ترابط بين أرقام (ID) في كل الجداول وهذا متعذر بالطبع، فلكل جدول أرقام (ID) الخاصة به هل ما استنتجتُه صحيح .. وما العمل ؟ ما فعلتُه كان قبل أن أرى مشاركتك أخي الكريم .. وأعتقد أن ما طلبتَه هو ما قمتُ به book2.accdb