nssj قام بنشر مارس 15, 2021 قام بنشر مارس 15, 2021 الإخوة الكرام .. في الملف المرفق جدول لرموز معينة (TAB_RMS) وهذه الرموز موجودة في حقل النص (NASS) في الجدول الرئيسي (TAB) والعلاقة بين الجدولين علاقة متعدد بمتعدد من خلال جدول الربط (TAB_RMS_X) والمطلوب تعبئة جدول الربط هذا تلقائيا إن أمكن يعني الرموز الموجودة في كل حديث توضع تلقائيا في جدول الربط لتظهر في النموذج، كما فعلت ذلك يدويا في الحديث الأول وأرجو الانتباه: توضع ولا تنقل، يعني المطلوب أن تبقى في حقل النص للمراجعة مع ملاحظة أنه توجد مشكلة في كتابة الرموز فهي تظهر بشكل معكوس، وعند الكتابة بعدها تنعدل .. فما هو السبب RMZ.accdb
jjafferr قام بنشر مارس 16, 2021 قام بنشر مارس 16, 2021 وعليكم السلام 🙂 السؤال ، ما فائدة هذا العمل ؟ جعفر
nssj قام بنشر مارس 16, 2021 الكاتب قام بنشر مارس 16, 2021 (معدل) 24 دقائق مضت, jjafferr said: السؤال ، ما فائدة هذا العمل ؟ الجواب: هذه الرموز لها عدة مهام وهي مطلوبة للحصر، ولكل واحد منها معنى، لذلك ينبغي أن تكون في حقل خاص لطلبها وحصرها وأداء مهامها .. فمن مهامها تحديد قيمة (Type2) ولها دور في ترقيم (MNo) وأخيراُ وليس آخرا .. قد تبدو هذه الرموز غريبة .. لكنها مهمة لعملي لدرجة أني أمضيت أكثر من عامين في وضعها وتوزيعها على الملفات 🙂 .. وبدأت في هذا العمل قبل أن أحول ملفات الوورد التي عندي من نصوص إلى جداول .. ولو بدأت بالعمل فيها والملفات على شكل جداول لجعلت لها عموداً خاصاً .. وعندها سيكون تحويلها لحقل خاص سهلا .. ولكن فات الأوان .. فهل يمكن تدارك الأمر في أكسس أم علي أن أقوم بالمهمة يدوياً وأخيراً .. خطر في بالي حل غريب إن كان طلبي صعبا .. نسخ حقل النص وإلغاء كل ما فيه ما عدا هذه الرموز 😁 تم تعديل مارس 16, 2021 بواسطه nssj
jjafferr قام بنشر مارس 16, 2021 قام بنشر مارس 16, 2021 على العموم ، هذا عملك وانت ادرى به 🙂 وشو المطلوب الآن ، هل نفس الطلب حسب السؤال ، او الحل الغريب (اللي محتاجين تفاصيله ، ومثال عليه) 🙂 جعفر
nssj قام بنشر مارس 16, 2021 الكاتب قام بنشر مارس 16, 2021 أخي الكريم .. المطلوب أساسا هو ما ذكرته في السؤال .. نسخ هذه الرموز ووضعها في جدولها الخاص حتى يكون بالإمكان حصرها واستحضارها وتحديث البيانات بناء عليها والحل الغريب الذي ذكرته يمكن التفكير بتفاصيله إذا كان طلبي الأساسي غير ممكن برمجيا .. وهو حل حتى لو افترضنا أنه يمكن تطبيقه فيه مخاطرة .. فقد يحذف رمز نسيت أن أدخله في الجدول وقد انتبهت اليوم وأن أجرى بعض التجارب والمحاولات عبر استعلامات التحديث والاستبدال -طبعا كلها كانت تجارب فاشلة 😒- انتبهت أنه ليس في الجدول واحد من أكثر الرموز استخداما .. وهو (+) وعليه فأرجو منك أخي الكريم إن أرت المحاولة أن تعتمد الملف المرفق هنا وليس السابق وأحب أن ألفت نظرك أخي الكريم إلى أن هذه الرموز فريدة .. يعني وضعتها بهذا الشكل الغريب حتى لا تكون متكررة في ملفات الوورد فيمكنني البحث عنها ولكن بينها فروق دقيقة ينبغي مراعاتها عند البحث والنقل في الكود مثلا: (+) ((+)) (+)| (+)؟ هذا بالإضافة إلى مشكلة انعكاس الرموز .. فهل سيكون لها تأثير سلبي عموماً أخي الكريم .. إن ظهر لك أن طلبي صعب تطبيقه برمجيا لهذه الأمور فعندها لكل حادث حديث RMZ02.accdb
jjafferr قام بنشر مارس 16, 2021 قام بنشر مارس 16, 2021 انا فهمي بطيء بعض الاوقات 😁 رجاء اعطني مثالين اثنين ، علشان اقدر اقتدي بهم 🙂 جعفر 1
nssj قام بنشر مارس 16, 2021 الكاتب قام بنشر مارس 16, 2021 بسيطة .. هاي عشر أمثلة في الملف المرفق أدرجت الرموز في النموذج يدويا .. ولاحظ في الصورة انعكاس الرمز في الجدول .. وما بينعدل إلا إذا كتبت بعده ؟؟ عشان هيك وضعهم مزبوط في حقل النص وطبعا المعلومات تم تخزينها في جدول الربط RMZ03.accdb
jjafferr قام بنشر مارس 16, 2021 قام بنشر مارس 16, 2021 استعملت هذه الدالة: Function Add_RMZ() On Error GoTo err_Add_RMZ Dim rstT As DAO.Recordset Dim rstR As DAO.Recordset Dim rstX As DAO.Recordset Set rstT = CurrentDb.OpenRecordset("Select * From TAB") Set rstR = CurrentDb.OpenRecordset("Select * From TAB_RMZ") Set rstX = CurrentDb.OpenRecordset("Select * From TAB_RMZ_X") rstR.MoveFirst rstT.MoveFirst Do Until rstR.EOF Start_Here: 'Debug.Print 'Debug.Print rstR!RMZ, rstT!NASS 'Debug.Print "-----------------" If InStr(rstT!NASS, rstR!RMZ) > 0 Then 'Found it 'But is it already in TAB_MRZ_X rstX.FindFirst "[MNO]=" & rstT!MNO & " And [RMZno]=" & rstR!RMZno If rstX.NoMatch Then rstX.AddNew rstX!MNO = rstT!MNO rstX!RMZno = rstR!RMZno rstX.Update End If End If If rstR.EOF = False And rstT.EOF = False Then rstR.MoveNext ElseIf rstT.EOF Then Exit Do End If Loop If rstR.EOF = True And rstT.EOF = False Then rstR.MoveFirst rstT.MoveNext GoTo Start_Here End If Exit_Add_RMZ: rstT.Close: Set rstT = Nothing rstR.Close: Set rstR = Nothing rstX.Close: Set rstX = Nothing MsgBox "Done" Exit Function err_Add_RMZ: If Err.Number = 3021 Then Else MsgBox Err.Number & vbCrLf & Err.Description End If Resume Exit_Add_RMZ End Function . واعرف فيها ملاحظات 😁 جعفر 1361.RMZ02.accdb.zip 1
nssj قام بنشر مارس 16, 2021 الكاتب قام بنشر مارس 16, 2021 أظنك أجي جعفر تقصد بالملاحظات عدم التمييز بين الفروق الدقيقة في الرموز .. يعني عند وجود رمز (+)|| فإن الكود يضيف ثلاثة رموز (+) (+)| (+)|| كنت سأقترح عليك أن نزيد في البحث مسافة بعد الرمز .. يعني عندما يبحث الكود في حقل النص عن رمز (+) يبحث عنه مع وجود مسافة بعده لتمييزه عن (+)| وعن (+)|| لأن معظم الرموز الموجودة في النص توجد بعدها مسافات للكتابة بعدها لكن هناك عدد لا بأس به من الرموز ليس بعده مسافة لأنه في آخر السطر، وهي الرموز التي تكون في أول سطر من حقل النص ويمكن تجاوز هذه الإشكالية أيضا إذا كان يمكن للكود أن يبحث عن الرمز مع وجود مسافة بعده أو علامة آخر السطر .. لأنه لا ينبغي لأي رمز في حقل النص أن يكون بعده أي حرف ليس منه، إما مسافة أو أن يكون في آخر السطر فهل هذا الاقتراح يفيد في تجاوز الإشكالية ويزيد من دقة أداء الكود ؟ ثم .. ما هي قصة انعكاس الرموز ؟؟
محمد سلامة قام بنشر مارس 16, 2021 قام بنشر مارس 16, 2021 اسمح لي ما دام انت اللي مخترع تلك الرموز واعتقد انها خاصة بالكتب فهناك طرق افضل للفهرسة وحديثة ولا تتكرر لو اعتقادي صحيح اذكر لك الطريقة!😁
nssj قام بنشر مارس 17, 2021 الكاتب قام بنشر مارس 17, 2021 أخي الكريم .. هذه الرموز ليست للفهرسة ولا علاقة لها بالكتب .. هي رموز لأمور ومعاني متعددة متعلقة بالأحاديث من حيث السند والمتن والترتيب والموضوع .. ولها مهام متعددة .. بعضها مؤقت وبعضها دائم 1
تمت الإجابة jjafferr قام بنشر مارس 17, 2021 تمت الإجابة قام بنشر مارس 17, 2021 رجاء تجرب النتيجة الان 🙂 اصبحت الدالة هكذا: Function Add_RMZ() On Error GoTo err_Add_RMZ Dim rstT As DAO.Recordset Dim rstR As DAO.Recordset Dim rstX As DAO.Recordset Set rstT = CurrentDb.OpenRecordset("Select * From TAB") Set rstR = CurrentDb.OpenRecordset("Select * From TAB_RMZ") Set rstX = CurrentDb.OpenRecordset("Select * From TAB_RMZ_X") rstT.MoveFirst Do Until rstT.EOF rstR.MoveFirst Do Until rstR.EOF 'Debug.Print 'Debug.Print rstR!RMZ, rstT!NASS 'Debug.Print "-----------------" If InStr(rstT!NASS, rstR!RMZ & " ") > 0 Or InStr(rstT!NASS, rstR!RMZ & vbCrLf) > 0 Then 'Found it 'But is it already in TAB_MRZ_X rstX.FindFirst "[MNO]=" & rstT!MNO & " And [RMZno]=" & rstR!RMZno If rstX.NoMatch Then rstX.AddNew rstX!MNO = rstT!MNO rstX!RMZno = rstR!RMZno rstX.Update End If 'rstX.NoMatch End If 'InStr rstR.MoveNext Loop 'rstR rstT.MoveNext Loop 'rstT Exit_Add_RMZ: rstT.Close: Set rstT = Nothing rstR.Close: Set rstR = Nothing rstX.Close: Set rstX = Nothing MsgBox "Done" Exit Function err_Add_RMZ: If Err.Number = 3021 Then Else MsgBox Err.Number & vbCrLf & Err.Description End If Resume Exit_Add_RMZ End Function . جعفر 1361.RMZ02.accdb.zip 1
nssj قام بنشر مارس 17, 2021 الكاتب قام بنشر مارس 17, 2021 أخي الكريم جعفر .. النتيجة تمام في هذا الملف الصغير وكالعادة 😁 سأجربه على ملف أكبر وسأوافيك بالنتيجة بعون الله
nssj قام بنشر مارس 17, 2021 الكاتب قام بنشر مارس 17, 2021 جزاك الله خيرا أخي الكريم جعفر وأحسن إليك.. النتيجة تمام بحمد الله جربت على ملف فيه أكثر من ألف حديث، وكانت النتيجة بحمد الله دقيقة .. بدليل أن الكود لم يدرج رموزاً أخطأت في كتابتها مع أن الفرق بينها وبين الرموز الصحيحة دقيق جدا .. فتم الأمر على أحسن وجه دون اللجوء (للحلول الغريبة 😁) فالحمد لله على تيسيره وبخصوص انعكاس الرموز فالظاهر أنه ينبغي علي تحمل هذا الأمر مؤقتا .. فبعد الانتهاء من ملفات الوورد وتحويلها لأكسس واستخدام هذا الكود لتعبئة جدول الرموز .. سأقوم باستبدال الرموز (الغريبة) بأرقام خاصة لأن شرطي المرور أكسس يحب التعامل مع الأرقام
jjafferr قام بنشر مارس 17, 2021 قام بنشر مارس 17, 2021 منذ ساعه, nssj said: النتيجة تمام بحمد الله الحمدلله 🙂 منذ ساعه, nssj said: لأن شرطي المرور أكسس يحب التعامل مع الأرقام غير صحيح ، والصحيح ان الارقام يتم التعامل معها بطريقة اسرع في قواعد البيانات 🙂 اما سبب قلب الرموز ، فهي بسبب اللغة العربية ، ولكن لا تهتم بهذا التغيير ، لأن الكمبيوتر يقرأها بالطريقة الصحيحة ، كما في العمود الذي على اليمين : . والدليل ان الكود يقارن بين الحلقين ، ويأتي بالنتيجة الصحيحة 🙂 جعفر 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.