بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
378 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو nssj
-
بعد عدة تجارب تمكنت من فعل المطلوب: تغيير طريقة عرض النموذج دون إغلاق النموذج والذهاب لوضع التصميم .. ولأنه في طريقة عرض ورقة البيانات لا تظهر الأزرار جعلت العودة لطريقة عرض النموذج بالنقر المزدوج وأضفت لهذه التجارب زرا لجعل النموذج ملئ الشاشة وزرا آخر للعودة للوضع السابق والأمور التي لم أستطع فعلها: 1- عدم إظهار رسالة حفظ التغييرات عند الإغلاق بالطريقة العادية، فأنا أريد الخروج دون حفظ التغييرات في طريقة العرض، كل ما استطعت فعله أن يجعله يخرج بدون رسالة الحفظ عند الخروج بالكبس على زر خاص تم إنشاؤه لهذا الغرض 2- عدم إظهار ورقة الخصائص في طريقة عرض ورقة البيانات 3- الانتقال إلى عرض ورقة البيانات إذا كان النموذج ملئ الشاشة ونتيجة تجاربي في الملف المرفق .. وكوني تمكنت من فعل المطلوب لا يعني بالضرورة أن الطريقة التي اتبعتها هي الطريقة الصحيحة .. هي مجرد محاولات تنتظر التقييم من أهل الخبرة FormView.accdb
-
جزاك الله خيرا أخي الكريم جعفر .. لكن بصراحة لما شفت الأكواد قلت لحالي: ياااااه .. كل هذا عشان تعرض النموذج بهالطريقة .. وكان مالها الطريقة الافتراضية 😅 وكنت متخوف من الكود في حدث عند التحميل ، لأن لكل نموذج أكواد خاصة فيه عند التحميل وخفت تتعارض الأكواد أو يتسبب في بطء الفتح لكن بعد التطبيق هديت أعصابي 🙂 .. وما لاحظت بطء في فتح النماذج لكن في الطريقة الثانية كانت تخرج رسالة برقم (2450) عند فتح النموذج الثاني بطريقة عادية وليس من خلال النموذج الآخر .. وتمت معالجة المشكلة بإضافتها للكود If Err.Number = 2145 Or Err.Number = 2450 Then وختاما .. بحكم خبرتك أخي الكريم: بأي الطريقتين تنصحني، أنا بنظرتي السطحية أميل للطريقة الثانية لأن عدد أسطر الكود فيها أقل، وأنا مش قادر أتخلص من فكرة إنو قلة عدد أسطر الكود يعني إنو أسرع وأقل تعقيدا
-
جزاك الله خيرا أخي الكريم محمد أبوعبدالله .. ولكن في هذه الطريقة إشكاليتان: 1- فبعد استخدامها ولو لمرة واحدة: فعند فتح النموذج الآخر بشكل عادي يفتح على السجل المخزن في الذاكرة، وتجاوزت هذه الإشكالية بأن أضفت في آخر الكود i = 0 ثم رأيت مشاركة الأخ jjafferr.. وطريقته ليست فيها هذه الإشكالية لكن تبقى الإشكالية الثانية في الطريقتين 2- النماذج المطلوب التطبيق عليها ليست في وضع منبثق، وأنا أفضل أن تفتح عند الطلب بهذا الكود بشكل منبثق أو مربع حوار، دون تغيير خصائص النموذج، لذلك استخدمت في الكود (acDialog) والخطأ مني منذ البداية كان ينبغي أن أرفق ملفا للتطبيق عليه .. فهذا هو الملف، مع العلم أني بعد إجراء المزيد من التجارب عدلت على الكود ليصبح DoCmd.OpenForm "FRM2", acNormal, , , , acDialog [Forms]![Frm2].Recordset.FindFirst "[ID]=" & ID ولكن أصبحت تخرج هذه الرسالة فهل هذا يعني أن علي أن أصرف النظر عن قضية فتح النموذج المستدعى بهذه الطريقة في وضع منبثق، وأكتفي بأن يفتح بطريقته الافتراضية ؟ OpenForm.accdb
-
الإخوة الكرام .. إذا كنت في سجل معين في نموذج (FRM1) وأردت فتح نموذج آخر (FRM2) على نفس الموضع من خلال هذا الكود DoCmd.OpenForm "FRM2", acNormal, , "[ID]=" & ID, , acDialog يفتح هذا السجل فقط ولا يمكنني الانتقال بين السجلات حتى أزيل عامل التصفية فهل من طريقة لجعله يؤدي نفس المهمة ولكن بدون فلترة يعني وكأنني فتحت النموذج يدويا ثم طلبت الانتقال للسجل المطلوب
-
الإشكالية الثانية (إظهار حاصل مجموع القوائم) تم حلها بحمد الله، فخلال بحثي وصلت للصايغة الصحيحة لهذا الغرض وهي: DCount(""*"", ""[TAB]"", ""[TYPE1]>0"") بقي الإشكال الأول: وهو الصياغة الصحيحة لإحضار المجموع من خلال العلاقة بين جدولين: عدد (MSNO) من جدول (Tab_Msaneed) التابع لهذه القوائم (Lvl1 – lvl2 – lvl3 – lvl4) من خلال العلاقة بين الجدولين (Tab_Msaneed) (TAB_Msaneed_list) أجريت عدة محاولات .. كانت تخرج لي رسالة وفي الصياغة الأخيرة المذكورة سابقا أصبحت الرسالة ما هي الصياغة الصحيحة للكود، أم أنه لا بد من استخدام الاستعلام الخارجي ؟
-
إشكالات طارئة !!! أجريت تعديلا بسيطا على هذه الطريقة: استبدلت استعلام التحديث بهذه العبارة في حدث عند التحميل CurrentDb.Execute "UPDATE TAB_RMZ SET TAB_RMZ.Total = DCount(""*"",""[TAB_RMZ_X]"",""[RMZno]="" & [RMZno])" وطبقت هذه الطريقة أيضا في جدول (Tab_Msaneed) والنتيجة تمام بحمد الله .. لكن حصلت معي بعض الإشكالات مع جدول (DATA_list) وهو الجدول الذي فيه كل القوائم، واجهتني مشكلتان: الأولى: لا مشكلة إذا كانت العلاقة بين جدولين كما هو الحال في قائمتي (نوع الحديث1) (نوع الحديث 2)، المشكلة إذا كانت العلاقة بين أكثر من جدولين، يظهر هذا في قوائم المسانيد: (LVL1) (LVL2) (LVL3) (LVL4) لم أستطع أن أجعل النتيجة تظهر بالطريقة السابقة (UPDATE TAB .. ..)، لأني لم أعرف كيف أصوغ العبارة، استطعت أن أحصل على النتيجة عبر استخدام استعلام (Q_Msaneed_List) .. فما هي الصياغة الصحيحة لعبارة التحديث ؟ 'CurrentDb.Execute "UPDATE [DATA_list] TAB_Msaneed_list INNER JOIN Tab_Msaneed ON TAB_Msaneed_list.ID = Tab_Msaneed.ID_MSA SET [DATA_list].TOTAL = DCount(""*"", ""[TAB_Msaneed_list]"", ""[lvl4]="" & [nom2]) WHERE (((DATA_list.NOM2)>0) AND ((DATA_list.NOM1)=6)) " ثانيا: في خانة (الكل) المطلوب إظهار حاصل مجموع القوائم التابعة له وليس عدد كل السجلات، يعني في الصورة: المفروض أن تكون النتيجة (3084) وليس (3087) .. لكن أيضا لا أعرف كيف تصاغ عبارة الكود !! CurrentDb.Execute "UPDATE [DATA_list] SET [DATA_list].TOTAL = DCount(""*"", ""[TAB]"", ""[TYPE1]="" & 1 and 2) WHERE (((DATA_list.NOM2)=0) AND ((DATA_list.NOM1)=1)) " Total.rar
-
مساعدة في كود حذف عدة سجلات بعد نسخها إلى جدول آخر
nssj replied to nssj's topic in قسم الأكسيس Access
أحسن الله إليك أخي الكريم .. تم المطلوب بحمد الله وبما أن هذه من المرات القليلة التي يتم فيها المطلوب من أول تعديل ولم ندخل في دوامة التعديل على التعديل بسبب أنني لم أوضح المطلوب كما ينبغي 🙄 .. فلا بأس من سؤال عالماشي 😁 لاحظت في هذا الكود والذي قبله أنك استخدمت هذا الأمر لزيادة السرعة Me.Painting = False Me.Painting = True وأنا أستخدم عادة DoCmd.Echo False DoCmd.Echo True ويظهر لي أنهما يؤديان نفس المهمة .. فهل الأمر كذلك أم يوجد بينهما فرق في الأداء والسرعة -
الإخوة الكرام .. في الملف المرفق كود لحذف سجل أو عدة سجلات، بعد نسخها لجدول آخر وهو يعمل معي بشكل جيد والحمد لله لكن توجد مشكلة .. أرجو أن تكون بسيطة وهو أنه بسبب استخدام (Requery) يرجع لأول الملف والموضع المطلوب أن يرجع إليه، هو قبل أول حديث تم حذفه ففي هذا المثال إذا تم تحديد عدة سجلات لحذفها أولها رقمه (42) فالمطلوب أن يرجع لأول حديث قبله وهو (38) Delete.accdb
-
تنفيذ الأمر في السجلات التي يتم تحديدها بالفأرة فقط
nssj replied to nssj's topic in قسم الأكسيس Access
أحسن الله إليك أخي الكريم .. تم المطلوب بحمد الله -
تنفيذ الأمر في السجلات التي يتم تحديدها بالفأرة فقط
nssj replied to nssj's topic in قسم الأكسيس Access
أحسن الله إليك أخي الكريم .. وكالعادة: أولا: أخذت وقتاً حتى استوعبت ما قمت به أخي الكريم 🙄 ثانيا: بعد الاستيعاب – وكالعادة – لا بد من ممارسة هوايتي المفضلة: التعديل على الأكواد 😁 وهذه المرة من المرات القلييييلة التي تنجح فيها تجاربي دون أن أثقل عليك وعلى الإخوة الكرام وخلاصة التجارب: 1- جعلت الكود الذي في الفورم لا يعمل إلا بعد الكبس على زر معين If Me.SelHeight = 0 Or Me.TempVars_Clear.Caption = "no" Then Exit Sub 2- تمكنت من جعله عند الطلب يطبق أكثر من مهمة متعاكسة، مهمة على (MOVEX) ومهمة مختلفة على (SelectX) .. .. If Me.com1.Enabled = True Then Call com1_Click ElseIf Me.TempVars_Use.Enabled = True Then Call TempVars_Use_Click End If ولتجنب موضوع نسيان التحديد وتركه جعلت في أول كل كود منهما If TempVars!tmpVars_DoIn = 0 Then Exit Sub وفي آخره TempVars!tmpVars_DoIn = 0 والأمور بحمد الله تمام .. فبارك الله فيك أخي الكريم ولكن قبل ختام الموضوع عندي استفسار أخير: كونك أخي الكريم جعلت الجملة الشرطية التي تحدد متى يتم تنفيذ الكود بهذه الصيغة CurrentDb.Execute .. … .. WHERE TNO In (" & Mid(TempVars!tmpVars_DoIn, 3) & ")" هذا يعني أنه من غير الوارد أن يتم الأمر كما كنت أظن، يعني جملة شرطية ( WHERE .. .. ..) تعتمد فقط على السجلات التي يتم تحديدها بالفأرة دون الحاجة إلى مربع اختيار هذا لأن عندي عدة جداول ليس فيها مربع اختيار (SelectX) وقد أحتاج لتنفيذ أمر على عدة سجلات متتالية يتم تحديدها بالفأرة فكان ظني أن أستخدم هذه العبارة الشرطية لتنفيذ الأمر في السجلات المحددة لكن ما فهمته الآن أنه لا بد من وجود مربع اختيار لتنفيذ المهام على السجلات المحددة هل ما فهمته صحيح أخي الكريم ؟ -
تنفيذ الأمر في السجلات التي يتم تحديدها بالفأرة فقط
nssj replied to nssj's topic in قسم الأكسيس Access
أحسن الله إليك أخي الكريم .. يبدو أن الموضوع ليس سهلا كما كنت أظن أنا كنت أظن أن الأمر سيتم بصياغة الجملة التي بعد (WHERE) بمعني أن تكون هناك جملة أو صيغة تميز السجلات التي تم تحديدها بالفأرة لينفذ عليها الأمر وأنا كنت أنوي استخدام هذه الجملة لتنفيذ أوامر أخرى مثل (حذف سجلات تم تحديدها بالفأرة) وغير ذلك، أحيانا على مربع (MOVEX) وأحيانا على مربع (SelectX) -وهو غير موجود في النموذج المرفق لأنه للتجربة فقط- وذلك حسب طبيعة الكود ومهمته لكن .. إذا كان الأمر لا يتم إلا بهذه الطريقة، بوضع الأمر في الفورم نفسه، فهل من طريقة لجعل تنفيذه بعد الكبس على الزر، فلا أريد كلما تم تحديد سجل أو عدة سجلات أن يقوم الكود بالعمل فورا وتبقى إشكالية لو كان المطلوب تطبيق الأمر على المربع الآخر (SelectX) عند الحاجة لذلك في مهمة أخرى -
تنفيذ الأمر في السجلات التي يتم تحديدها بالفأرة فقط
nssj replied to nssj's topic in قسم الأكسيس Access
أخي الكريم .. يبدو أني لم أوضح المطلوب بشكل جيد 😐 المطلوب في هذه الصورة أن يضع الكود علامة صح في المربع في السجلات الأربع التي تم تحديدها والكود الذي تفضلت به يضع (صح) في بقية السجلات هذا بعد أن أضع أنا فيها علامة (صح) -
الإخوة الكرام .. المطلوب تنفيذ هذا الأمر CurrentDb.Execute "UPDATE [TAB] SET [TAB].[MoveX] = Yes" في السجلات التي يتم تحديدها بالفأرة فقط وليس في كل السجلات select.accdb
-
مساعدة في استعراض السجلات حسب القوائم المنسدلة المتفرعة
nssj replied to nssj's topic in قسم الأكسيس Access
تم المطلوب بحمد الله .. انطلاقا من الكود الذي تفضلت به أخي الكريم، وبعد عدة تجارب، مع التعديل على جدول (DATA_list) وإضافة خانة (الكل) ، أصبحت النتائج تظهر بالشكل المطلوب .. وهذا الملف بعد آخر التجارب والإضافات Msaneed List 9.rar -
مساعدة في استعراض السجلات حسب القوائم المنسدلة المتفرعة
nssj replied to nssj's topic in قسم الأكسيس Access
أحسن الله لك أخي الكريم .. النتيجة أفضل بكثير وتم تجاوز مشكلة تغيير البيانات في الجدول بعد أن تذكرت شيئا سمعته في بعض الفيديوهات من النت، فجعلت القوائم (غير منضم) وتم الأمر لكن بقيت قضية استعراض الكل عند جعل القائمة فارغة تظهر المشكلة إذا كانت كل القوائم ممتلئة: فإذا أردت استعراض بعضها، مثلا (الرجال – حرف الراء) فلا يكفي أن أفرغ القائمتين الأخريين، بل لا بد من إلغاء التصفية أولا ثم إعادة اختيار (الرجال) ثم اختيار (حرف الراء) فهل من طريقة لجعل الفلترة تعتبر الفراغ في أي خانة يعني إظهار الكل في هذه الخانة مع اعتبار بقية الخانات يعني بمجرد تفريغ الخانة الأولى يستعرض النتائج حسب بقية الخانات سواء كانت (مسانيد أو مبهمات أو مراسيل) وعند تفريغ الخانة الثالثة تظهر كل النتائج باعتبار (الرجال – حرف الراء) سواء كانت أسماء أو كنى ، مسانيد أو مبهمات أو مرسلات .. وهكذا -
مساعدة في استعراض السجلات حسب القوائم المنسدلة المتفرعة
nssj replied to nssj's topic in قسم الأكسيس Access
جزاك الله خيرا أخي الكريم د.كاف يار .. لكن لا تزال هناك بعض الملاحظات: 1- لم تكن النتائج الدقيقة في كل مرة لكن بعد التعديل التالي على الكود أصبحت النتائج دقيقة varFilter = (varFilter) & "[LVL1] lIKE " & LVL1 & "" varFilter = (varFilter + " and ") & "[LVL2] lIKE " & LVL2 & "" varFilter = (varFilter + " and ") & "[LVL3] lIKE " & LVL3 & "" varFilter = (varFilter + " and ") & "[LVL4] lIKE " & LVL4 & "" 2- هل بالإمكان أن تخرج النتائج حتى لو كانت بعض الخيارات فارغة، يعني إذا أردت أن أعرف نتيجة (النساء – حرف السين) فقط، تخرج .. (مبهمات – الكنى – حرف العين) .. (مراسيل – حرف الدال) وهكذا ولأني أحب التجارب حاولت بوضع عدة احتمالات مثل If IsNull(LVL1) And IsNull(LVL4) Then ولكن ليس دائما تخرج النتيجة المطلوبة 3- عند تغيير الخيارات تتغير البيانات في السطر الأول من الجدول ومن تجاربي أيضا أنني حاولت أن أجعل النتائج تخرج عبر استعلام ظنا مني أن البيانات لن تتغير في الجدول، ولكنها تغيرت وفي الملف المرفق نتيجة تجاربي التي لم تنجح 😁 Msaneed List 7.rar -
مساعدة في استعراض السجلات حسب القوائم المنسدلة المتفرعة
nssj replied to nssj's topic in قسم الأكسيس Access
🤔 😐 🤔 -
الإخوة الكرام .. في الملف المرفق جدول (TAB_Msaneed_list) وهو فهرس للمسانيد (Tab_Msaneed)، وهو فهرس من أربع مستويات، ويأخذ بياناته باستعلامات بوساطة جدول (DATA_list)، كما يظهر في النموذج (Frm_Msaneed_list) وهذه الطريقة في عمل الفهرس كانت بناء على توجيهات أحد الإخوة، ولكن انقطع الاتصال معه، وأنا الآن في (حيص بيص 🙄) والمشكلة التي واجهتها هي في عرض قائمة المسانيد المطلوبة حسب القوائم المختارة فإذا أردت مثلا استعراض مسانيد حرف (الجيم) من كنى الرجال، أقوم باختيار هذه الخيارات من القوائم، فتعرض النتيجة في النموذج الفرعي (Fsub_Msaneed) ولكن .. لا تظهر النتائج معي إلا بالتنقل بين السجلات .. يعني علي أن أنتقل بين السجلات حتى تظهر النتيجة المطلوبة في حين أنني إذا قمت بتغيير الاختيارات من القوائم تتغير البيانات في الجدول المصدر (TAB_Msaneed_list) بدل أن تتم عملية الانتقال، لذلك فعلت خاصية التأمين لهذه القوائم حتى لا تتغير البيانات أعرف أنني ارتكبت عدة أخطاء .. ويمكن أكون (خبصت الدنيا 😁) لكن هذا أفضل ما استطعت الوصول إليه حسب معلوماتي 😐 Msaneed List.rar
-
الحمد لله .. بعد عدة تجارب تم الوصول للمطلوب باستعلام واحد وهذه التجارب الناجحة -وإن كانت قليلة- تشعرني إنو في أمل جزاك الله خيراً أخي الكريم وأحسن إليك
-
فعلا أخي الكريم .. هذا بيت القصيد: إني أقدر أشرح ما هو المطلوب وأوضح الصورة بدقة ، بس مش دايما بتزبط معي للأسف 😐 على كل .. بعد إجراء بعض التجارب حصل معي بعض التقدم، لكن قبل هيك خليني أحاول أشرح المطلوب مرة ثانية .. يمكن هالمرة يكون كلامي أوضح أخي الكريم .. جدول (Tab_Msaneed) فيه ترتيب المسانيد الموجودة في الملف الرئيسي (TAB) لأن الأحاديث مرتبة على المسانيد، والجدولين مرتبطين بالمفتاح الرئيسي (MNO) ورقم كل مسند موجود في حقل (MUSNAD) في الملف الرئيسي .. وهذا طبعا بعد مساعدتك المشكورة في الموضوع السابق (نسخ أول سطر يبدأ بقيمة معينة ووضعها في حقل في جدول آخر) المطلوب الآن هو معرفة أول حديث يبدأ به كل مسند في الجدول الرئيسي ووضع رقم (MNO) الخاص به في حقل خاص في جدول (Tab_Msaneed) .. وهذا ما تم بفضل الاستعلام الذي تفضلت به لكن فاتني أن أنبه أن ترتيب الأحاديث في الجدول الرئيسي هو حسب (TNO) وليس حسب (MNO) ، لأن الترتيب يتغير كثيرا حسب الإضافة والحذف والنقل، والمفتاح الرئيسي لا يقبل التعديل، فالمطلوب إحضار رقم أول حديث بناء على هذا الترتيب * ولم يظهر خلل في الملف المرفق لأنه ملف مختصر تتوافق فيه أرقام الحقلين (MNO) (TNO) لكن عند استخدامه فعليا في الملف الحقيقي حيث يوجد فرق بين الحقلين ظهر الخلل يظهر هذا في الملف المرفق الجديد في موضعين: 1- مسند (3: مسند أبان المحاربي) فرقم (MNO) لأول حديث فيه حسب الترتيب المعتمد هو (30001) بينما سيكون رقمه إذا كان الترتيب على أساس (MNO) هو (3) وهي النتيجة التي أخرجها الاستعلام لأنه اعتبر أن الترتيب على أساس (MNO) 2- وكذلك في أول مسند (7: أبي بن كعب) أول حديث فيه حسب الترتيب المعتمد هو (30007) بينما الاستعلام جعله (4) لأنه فعلا أول حديث في هذا المسند على أساس أن الترتيب حسب (MNO) * وهنا قلت لحالي: طيب ليش الغلبة ووجع الراس .. خليني أعتمد على رقم (TNO) وبلاش من (MNO) وبالاعتماد على شرحك الواضح للخطوات عدلت على الاستعلام بحيث يكون الاعتماد على (TNO) ، وهكذا أدرج رقم (TNO) لأول حديث في كل مسند في حقل (First_TNo) في جدول (Tab_Msaneed) ولكن ظهر أن هذا الأمر غير عملي .. وأن الأفضل إدراج رقم (MNO) للحديث لأن رقم (TNO) يتغير باستمرار، ولم تنجح محاولة إنشاء علاقة مع خاصية (تتالي التحديث) بالاعتماد عليه لأنه من غير المناسب جعله مفتاحا رئيسيا فالمطلوب إدراج رقم (MNO) بدل (TNO) وهذا ما لم أستطع فعله في نفس الاستعلام * وللتوضيح أكثر: في الملف المرفق في جدول (Tab_Msaneed) ثلاثة حقول: - (MNO) وتظهر فيه النتيجة بالاعتماد على الاستعلام الذي تفضلت به (Query2) - (First_TNo) وتظهر فيه النتيجة بالاعتماد على الاستعلام المعدل (QueryTno) - (First_MNO) وفيه النتائج المطلوب الوصول لها: رقم (MNO) لأول حديث في كل مسند على أساس أن الترتيب حسب (TNO) وتمكنت من الوصول لهذه النتيجة من خلال استعلام تحديث منفصل (QueryMno) يعتمد على نتيجة الاستعلام المعدل السابق (QueryTno) والمطلوب إن أمكن الوصول لهذه النتيجة باستعلام أو كود واحد لأنه سيتم استخدامه دوريا لتحديث البيانات كلما أدت عمليات الإضافة والنقل إلى تغيير الحديث الذي يكون في بداية المسانيد، أو إضافة مسند جديد في جدول المسانيد 1418.Musnad2.accdb
-
كل الشكر والتقدير لك أخي الكريم جعفر لكن معلش طول بالك وما تزعل مني .. نسيت معلومة مهمة ومؤثرة في النتائج .. كان لازم أتذكرها 🙄 وهي أن المطلوب إحضار أول قيمة لـ (MNO) على أساس أن الترتيب على حسب (TNO) وليس على (MNO) مهمة (TNO) هي ترتيب الأحاديث وهو رقم يتغير حسب الإضافة والحذف والنقل، أما (MNO) فهو رقم ثابت ينتقل مع الحديث حيثما ذهب للتوضيح أضفت سجل في أول مسند أبي بن كعب (7) ورقم (MNO) لهذا السجل (2000) ورقم (TNO) هو [14] فالمطلوب إحضار رقم (MNO : 2000) لأنو هو الأول في الترتيب وليس (MNO : 4) طبعا حاولت أعمل حالي فهمان وأصلح غلطتي لحالي بدون ماأزعجك .. عشان هيك تأخرت في الرد .. وبعد كل التجارب : مازبطت معي 😐 ولأني كنت غرقان في التجارب ما قرأت مشاركتك الأخيرة إلا لما جهزت هذا الرد .. على كل إذا تجاوزنا مشكلة الترتيب على (TNO) ففي عندي حكي بخصوص الموضوع الثاني .. برضو شغلة ما كنت منتبه إلها 🙄😐
-
الإخوة الكرام .. في الملف المرفق حقل (MUSNAD) في جدول (TAB) هو حقل رقمي مرتبط بجدول (Tab_Msaneed) والمطلوب طريقة لفرز أول رقم بدون مكرراته لوضع رقم (MNO) الخاص به في حقل (MNO) في جدول (Tab_Msaneed) بحيث يدل على رقم أول حديث يبدأ به هذا المسند وهل يمكن أن يتغير هذا الرقم تلقائيا إذا تغير ترتيب الأحاديث بسبب الحذف والإضافة والنقل أم لا بد من تحديث هذا الحقل بين الحين والآخر ؟ Musnad.rar
-
هل هذا يعني أن ماقمت به صحيح !! .. هيك ممكن آخذ في حالي مقلب 🙃
-
نسخ أول سطر يبدأ بقيمة معينة ووضعها في حقل في جدول آخر
nssj replied to nssj's topic in قسم الأكسيس Access
بارك الله فيك أخي الكريم وأحسن إليك .. تم المطلوب بحمد الله -
نسخ أول سطر يبدأ بقيمة معينة ووضعها في حقل في جدول آخر
nssj replied to nssj's topic in قسم الأكسيس Access
أخي الكريم جعفر .. جزاك الله خيراً وأحسن إليك أكرر شكري لك على نصائحك وتوضيحاتك .. لأنه يهمني أن أعرف كيف تمت معالجة المشكلة، فهذا ربما يساعدني في تجاربي ومحاولاتي القادمة .. لعلي أستطيع أن أحل بعض مشاكلي بنفسي ولكن -كما هو المعتاد 😁- هذا لا يمنع أن تكون لدي بعض الاستفسارات أولا: لا حظت وجود سطر فارغ في آخر نتيجة الاستعلام: وحاولت تعديل الاستعلام إلى: S: Mid([NASS],1,InStr([NASS],Chr(10))) Mid([NASS],1,InStr([NASS],Chr(13)+Chr(10))) والنتيجة نفسها .. لا يزال السطر الفارغ في آخر الحقل موجودا .. ومع أنه يمكن حذفه باستخدام الكود القديم الذي تفضلت به - واللي غلبنا ووجع راسنا 😅-: كود حذف الأسطر والمسافات (Remove_Extras) لكن أحببت أن أنقل لك هذه الملاحظة فربما يكون بإمكانك معالجتها بتغيير صيغة الاستعلام ثانيا: رقم (1) في الاستعلام أثار فضولي .. وفهمت من كلامك أن وظيفته تحديد متى تبدأ مهمة الاستعلام، فرقم واحد تعني أن يبدأ من أول حرف، فجربت أن أغيره إلى (4) حتى يبدأ النسخ من رابع حرف، أي بعد الرمز المطلوب (@@$ ) ، وفعلا هذا ما حدث .. لكن لا حظت أن تغيير الرقم أثر أيضا على آخر النص المطلوب نسخه .. فزاد بعض الأحرف من السطر التالي، وبدون سطر فارغ ! .. كما في الصورة فهل هذا يعني أني ما استنتجته من كلامك غير صحيح وأن لهذا الرقم تأثير آخر ؟