nssj قام بنشر الإثنين at 20:52 قام بنشر الإثنين at 20:52 الإخوة الكرام .. في الملف المرفق المطلوب كود (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
Foksh قام بنشر الإثنين at 21:13 قام بنشر الإثنين at 21:13 وعليكم السلام ورحمة الله وبركاته ،، دعنا أولاً نركز على المطلب الأول في الزر Update_takhrij .. هل المطلوب كهذه النتيجة :- TAB_takhrij_X ID TableNo BookID MNO 1 1 1_10 18056 2 1 1_11 18058 3 1 1_12 3101 4 1 1_13 7336 5 1 1_14 7432 6 1 1_15 5548 7 1 1_20 7609 8 1 1_23 13701 9 1 1_25 8845 10 1 1_27 9323 11 1 1_29 8844 12 1 1_31 287 13 1 1_33 13686 14 1 1_34 285&652 15 1 1_36 268 16 1 1_38 1518 17 1 1_39 5927 18 1 1_41 4886 19 1 1_44 18077 20 1 1_46 266&50321&6603 21 1 1_48 5044 22 1 1_49 4947 23 1 1_9 11389 من الجدول الأول طبعاً !!! إذا لا ، اشرحه شرحاً أدق إذا سمحت ..
nssj قام بنشر الإثنين at 21:47 الكاتب قام بنشر الإثنين at 21:47 حياك الله أخي الكريم المطلوب قريب من هذه النتيجة .. إلا أنه إذا كان هناك أكثر من رقم (MNO) فيوضع كل رقم في سطر جديد لأن حقل (MNO) في جدول (TAB_takhrij_X) حقل رقمي وليس نص وهذه صورة توضح النتيجة المطلوبة عند وجود أكثر من رقم (MNO) للحديث الواحد أما إدراج جمع الأرقام في حقل واحد مع الفصل بينها بعلام & فهي في الكود الثاني
Foksh قام بنشر الإثنين at 22:25 قام بنشر الإثنين at 22:25 36 دقائق مضت, nssj said: المطلوب قريب من هذه النتيجة .. إلا أنه إذا كان هناك أكثر من رقم (MNO) فيوضع كل رقم في سطر جديد ممتاز ، جرب هذا التعديل الآن من خلال الكود التالي للزر :- Private Sub Update_takhrij_Click() Dim db As DAO.Database Dim rsSource As DAO.Recordset Dim rsTarget As DAO.Recordset Dim sourceTable As String Dim mnoFields As Variant Dim i As Integer Dim currentMNO As String On Error GoTo ErrHandler Set db = CurrentDb sourceTable = Me.txt1.Value mnoFields = Array("MNO", "MNO2", "MNO3", "MNO4", "MNO5", "MNO6", "MNO7") Set rsSource = db.OpenRecordset("SELECT * FROM [" & sourceTable & "]", dbOpenSnapshot) Set rsTarget = db.OpenRecordset("TAB_takhrij_X", dbOpenDynaset) Do While Not rsSource.EOF For i = 0 To UBound(mnoFields) currentMNO = Trim(Nz(rsSource(mnoFields(i)), "")) If currentMNO <> "" Then rsTarget.AddNew rsTarget!bookID = CStr(rsSource!bookID) rsTarget!TableNo = CLng(rsSource!TableNo) rsTarget!MNO = currentMNO rsTarget.Update End If Next i rsSource.MoveNext Loop rsSource.Close rsTarget.Close Set rsSource = Nothing Set rsTarget = Nothing Set db = Nothing MsgBox "تم حفظ الأحاديث بنجاح", vbInformation + vbMsgBoxRight, "" Exit Sub ErrHandler: MsgBox "حدث خطأ", vbCritical + vbMsgBoxRight, "" End Sub الملف :- takhrij.zip 1
nssj قام بنشر الإثنين at 22:32 الكاتب قام بنشر الإثنين at 22:32 تم المطلوب من المطلب الأول في الزر Update_takhrij .. بعد تعديل بسيط 'Set rsSource = db.OpenRecordset("SELECT * FROM [" & sourceTable & "]", dbOpenSnapshot) Set rsSource = db.OpenRecordset("SELECT * FROM [" & sourceTable & "] ORDER BY [" & sourceTable & "].[Tno]")
Foksh قام بنشر الإثنين at 22:38 قام بنشر الإثنين at 22:38 5 دقائق مضت, nssj said: بعد تعديل بسيط جميل جداً ، الآن المطلوب الثاني يحتاج لشرح منك 😅 الأول فهمته بالعافية في الوقت الحالي في هذه الساعة 😁 1
nssj قام بنشر الإثنين at 22:41 الكاتب قام بنشر الإثنين at 22:41 طيب .. الوقت متأخر .. خليها لبكرة إن شاء الله .. حتى أكون مصحصح وأحاول أشرح بالتفصيل 😁 1
nssj قام بنشر بالامس في 08:26 الكاتب قام بنشر بالامس في 08:26 أخي الكريم .. لتوضيح المطلوب من الكود الثاني، لنترك الملف المرفق سابقا ونعتمد المرفق هنا ستجد فيه أن جداول الكتب (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 1
kkhalifa1960 قام بنشر بالامس في 08:55 قام بنشر بالامس في 08:55 (معدل) بعد الاذن منكم اساتذتي ممكن اكمل لما توصلتم اليه مع بعض لمساتي . takhrij-1.rar تم تعديل بالامس في 08:58 بواسطه kkhalifa1960 1
nssj قام بنشر بالامس في 09:14 الكاتب قام بنشر بالامس في 09:14 لمسة جميلة أخي الكريم لكن هل يمكن أن تعرض القائمة الجداول التي تبدأ بكلمة معينة ،و في حالتنا هذه: الجداول التي تبدأ أسماؤها بـ (Book)
nssj قام بنشر بالامس في 09:26 الكاتب قام بنشر بالامس في 09:26 أحسن الله إليك أخي الكريم .. هذه اللمسة الجميلة ستفيدني في أكواد أخرى 1
kkhalifa1960 قام بنشر بالامس في 09:28 قام بنشر بالامس في 09:28 1 دقيقه مضت, nssj said: أحسن الله إليك أخي الكريم .. هذه اللمسة الجميلة ستفيدني في أكواد أخرى سعيد بمشاركتي معكم . 2
Foksh قام بنشر منذ 22 ساعات قام بنشر منذ 22 ساعات 5 ساعات مضت, kkhalifa1960 said: بعد الاذن منكم اساتذتي ممكن اكمل لما توصلتم اليه مع بعض لمساتي . بالعكس ، يسعدنا مشاركتكم وباقي الأساتذة والخبراء في أي موضوع . الساحة لكم لضيق الوقت ، وأنتم جديرين بالثقة دون أي شك أستاذ خليفة 1 1
nssj قام بنشر منذ 15 ساعات الكاتب قام بنشر منذ 15 ساعات 12 ساعات مضت, kkhalifa1960 said: بعد الاذن منكم اساتذتي ممكن اكمل لما توصلتم اليه مع بعض لمساتي اعذرني أخي الكريم .. لم أنتبه إلى أنك قد تفضلت بعمل الكود الثاني (Update_MNOX) إلا قبل قليل والنتيجة صحيحة في الجدول الثاني (book_2) أما في الجدول الأول فيوجد تكرار في الأرقام !!
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان