اذهب الي المحتوي
أوفيسنا

اضافة عدد سجلات في جدول بناء على رقم مدخل بنموذج فرعي


kaser906

الردود الموصى بها

السلام عليكم ورحمة الله وبركاتة

 

المطلوب بالمرفق :

بعد ادخال عدد المقاعد بالنموذج الفرعي اضافة عدد سجلات بعدد الرقم المدخل في الجدول Tabl_Bus حيث الحقول   : Num_rihla= Num_rihla و  Num_Itinerary= Num_Itinerary  و ويكون الحقل Chair_ No بالجدول Tabl_Bus يأخذ ارقام اعتبار من رقم 1 الى العدد المدخل في حقل عدد المقاعد في حال كان اضافة سجل وفي حال كان تعديل على رقم المقاعد يتم تعديل عدد السجلات بناء على الرقم المدخل في جدول Tabl_Bus سواء بالزيادة او النقصان

Addseat.rar

رابط هذا التعليق
شارك

وعليكم السلام:smile:

 

العلاقة بين الجدولين Tabl_bus و Tabl_Itinerary غير صحيحة ، فالظاهر لازم تحذف احدهم

806.Clipboard01.jpg.4c41273ee520d447e21c104eff4a5b2a.jpg

.

ويعدها تقدر الزر "اعمل السجلات" ، والذي يحتوي على هذا الكود:

Private Sub cmd_Do_Records_Click()

    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("Select * From Tabl_bus")
    
    For i = 1 To Me.Forme_Sub_Itinerary!Number_seats
        rst.addnew
            rst!Num_rihla = Me.Forme_Sub_Itinerary!Num_rihla
            rst!Num_Itinerary = Me.Forme_Sub_Itinerary!Num_Itinerary
            rst![Chair_ No_] = i
        rst.Update
    Next i
    
    rst.Close: Set rst = Nothing
    
End Sub

 

جعفر

806.Addseat.accdb.zip

رابط هذا التعليق
شارك

10 ساعات مضت, jjafferr said:

العلاقة بين الجدولين Tabl_bus و Tabl_Itinerary غير صحيحة ، فالظاهر لازم تحذف احدهم

تسلم استاذ

العلاقة كانت كلها خطأ من الأساس تم إعادة ضبط العلاقة

الآن اعطيتني نصف الحل بقي النصف الاخر

في ‏٢٧‏/‏٠٣‏/‏١٤٣٩ at 20:09, kaser906 said:

وفي حال كان تعديل على رقم المقاعد يتم تعديل عدد السجلات بناء على الرقم المدخل في جدول Tabl_Bus سواء بالزيادة او النقصان

الملف بالمرفق بعد إعادة ضبط العلاقة

806.AAddseat.rar

رابط هذا التعليق
شارك

وعليكم السلام:smile:

 

مو قلت لك ، تخش ، وتطلع بعدين:blink:

 

تفضل ، تم اضافة حقل "اعمل التغييرات" ، واذا كان عليه صح ، يقوم بالعمل على معطيات ذلك السجل فقط

806.1.Clipboard02.jpg.a1dcd4629bf4ada85dc9008c28dc129a.jpg

.

وهذا الكود

Private Sub cmd_Do_Records_Click()

    Dim rst As DAO.Recordset
    Dim rstSUB As DAO.Recordset
     
    'نجهز الجدول لإدخال بيانات رقم المقعد
    Set rst = CurrentDb.OpenRecordset("Select * From Tabl_bus")
    
    'نقرأ بيانات النموذج الفرعي
    Set rstSUB = Me.Forme_Sub_Itinerary.Form.RecordsetClone
    rstSUB.MoveLast: rstSUB.MoveFirst
    RCsub = rstSUB.RecordCount
    
    'نقرأ كل سجل من سجلات النموذج الفرعي
    For j = 1 To RCsub
               
        'اذا يوجد علامة صح في حقل "اعمل التغييرات" فقم بحذف السجلات السابقة لهذا الخط ، واعمله من جديد
        If rstSUB!Do_Changes = -1 Then
        
            'نحذف سجلات رقم المقعد من الجدول
            mySQL = "DELETE Tabl_bus.Num_Itinerary_ID, Tabl_bus.Num_Itinerary, Tabl_bus.Num_rihla, Tabl_bus.*"
            mySQL = mySQL & " FROM Tabl_bus"
            mySQL = mySQL & " WHERE Num_Itinerary_ID=" & rstSUB!Auto_ID
            mySQL = mySQL & " AND Num_Itinerary=" & rstSUB!Num_Itinerary
            mySQL = mySQL & " AND Num_rihla=" & rstSUB!Num_rihla
            CurrentDb.Execute mySQL
            
            'نقوم بتغيير حقل "اعمل التغييرات" ونزيل الصح منها
            rstSUB.Edit
                rstSUB!Do_Changes = 0
            rstSUB.Update
            
            
            
            'نعمل سجلات رقم المقعد في الجدول
            For i = 1 To rstSUB!Number_seats
                rst.addnew
                    rst!Num_Itinerary_ID = rstSUB!Auto_ID
                    rst!Num_Itinerary = rstSUB!Num_Itinerary
                    rst!Num_rihla = rstSUB!Num_rihla
                    rst![Chair_ No] = i
                rst.Update
            Next i
        
        End If 'rstSUB
        rstSUB.MoveNext
    Next j
    
    'احذف البيانات من ذاكرة الكمبيوتر
    rst.Close: Set rst = Nothing
    rstSUB.Close: Set rstSUB = Nothing

End Sub

 

جعفر

806.1.AAddseat.accdb.zip

  • Like 2
رابط هذا التعليق
شارك

6 ساعات مضت, jjafferr said:

مو قلت لك ، تخش ، وتطلع بعدين:blink:

 

تفضل ، تم اضافة حقل "اعمل التغييرات" ، واذا كان عليه صح ، يقوم بالعمل على معطيات ذلك السجل فقط

ههههههههههههههههههههههههههههه

الطلب كان من البداية لكن أنت شكلك غفلت عنه  أو  حاولت تتغافل

تم إكمال الطلب :signthankspin:

رحم الله والديك ما قصرت

رابط هذا التعليق
شارك

كان قصدي اكثر من سجل في النموذج الفرعي:smile:

 

عندي طلب لوسمحت:

انت تعرف ان جميع الاعضاء اللي يساهمون في المنتدى ، هو تبرع شخصي منهم ،

وكل اللي يتمنوه بعد اعطاء الحل ، ان صاحب السؤال يقول لهم شكرا (وانت جزاك الله خير ما تقصر) ، ويعطيهم "Like" على الحل الصحيح (وانت ماشاء الله عليك ما داير لها بال:rol:)  :smile:

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

3 دقائق مضت, jjafferr said:

عندي طلب لوسمحت:

انت تامر أستاذ جعفر ما تطلب

 

4 دقائق مضت, jjafferr said:

"Like" على الحل الصحيح (وانت ماشاء الله عليك ما داير لها بال:rol:)  :smile:

والله  استاذي " Like"  ما توفيك حقك ودنا نجازيك بشي يسوى على مساعدتك  لنا

لكن لك ولوالديك دعوة صادقة بظهر الغيب

هذي المرة تأخرت في أعطاء  Like لو رجعت لإغلب لطلباتي في مواضيعي السابقه بتلاقي أني أشرت

:fff:

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information