• 0
KhalidMurad

توزيع حمولات السيارات

سؤال

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

إلى جميع الخبراء

لدي مشكلة شيبت راسي ,, نريد الدعم  :ph34r:

 

 

لدينا في جدول 1

المجموعة | اسم السيارة | عدد مرات حمولة 20 طن | عدد مرات حمولة 7 طن |

 

و في جدول 2

المجموعة | التاريخ | حمولة 20 طن | حمولة 7 طن 1 | حمولة 7 طن 2 |

 

 

نريد ارسال حمولة 20 طن مرة واحدة يوميا ً على حسب المرات المحددة بالجدول

ونريد أيضا ارسال حمولة 7 طن مرتين يوميا ً على حسب المرات المحددة بالجدول

 

 

القواعد

في الشهر الواحد

القدرة باليوم الواحد في التحميل 

20 طن مرة واحدة

7 طن مرتين

 

يمكن تحميل 20 طن مرة "و" 7 طن مرتين باليوم الواحد

و يمكن تحميل 7 طن مرة واحدة باليوم "أو" مرتين "بدون" تحميل 20 طن

أو مرة واحدة فقط 7 طن "أو" 20 طن

 

وكل ذلك لايتم تجاوز عدد المرات المحددة بالجدول

 

 

طريقة عمل البرنامج

يتم تحديد تاريخين في النموذج البداية و النهاية

و تحدد أيام الإجازة الأسبوعية

و أيضا ً يتم تحديد تاريخ إجازة خاصة بالتاريخ بحيث لا يتم تحميل أي شئ في ذالك اليوم مثل الاجازة الاسبوعية

 
 

المطلوب

على حسب المجموعة ( كود يتم اضافة جميع الأيام بين التاريخين في جدول 2 و يوزع أسماء السيارات بشكل عشوائي في الجدول على حسب الحمولة المحددة تحت عمود الحمولة

يوضع اسم السيارة بحيث لا يتم تكرار حمولتين مثلا ً "تحميل 20 طن باليوم الواحد مرتين" ولا يتم تحميل أكثر من المحدد خلال التاريخين المحددين بالنموذج ).

 

وإذا يوجد طريقة أخرى بحيث في المستقبل إذا استطاعوا في تحميل حمولتين 20 طن في اليوم الواحد و 3 حمولات 7 طن يتم تحديدها في جدول 0 (القدرة)  ^_^

 

و في المثال تفهمها أكثر  :rolleyes:

 

أشكركم مقدما ً

ولمن يجد لي ضالتي مع الشرح سأعطيه يوزر Hotfile بعضوية امتياز جديدة ينتهي تاريخ 2013-11- 15 

لحق قبل الانتهاء

 

post-278203-0-64960700-1382521404_thumb.

 

db.zip

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

29 إجابة على هذا السؤال .

  • 0

يا جماعة الخير 

أين الجميع

أين العباقرة

 

الأستاذه زهرة ,, نرجو منك المساعده

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أين الجميع

أيعقل بأن لا احد يستطيع فعله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

المحاولة الأولى في إضافة جميع التواريخ التي تم تحديدها في النموذج

 

وهذه هي الكود

Private Sub Command23_Click()Dim GroupNumber, xdays, i, x As IntegerDim xDate, LDate As DateDim xSQL As StringDim frxbool, spdatexbool As BooleanDim xStringArr(90) As StringGroupNumber = Me.TGroup.ValuexDate = Me.TFrom.ValueLDate = Me.TTo.Valuexdays = DateSerial(Year(LDate), Month(LDate), Day(LDate)) - DateSerial(Year(xDate), Month(xDate), Day(xDate))DoCmd.SetWarnings FalsexSQL = "DELETE * From TB2"DoCmd.RunSQL xSQL'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\=======//////////////////////////////////////////////'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\=======//////////////////////////////////////////////'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\=======//////////////////////////////////////////////For x = 0 To xdaysLDate = DateSerial(Year(xDate), Month(xDate), Day(xDate) + x)'========frxbool = TrueFor i = 0 To Me.LWeekday.ListCount - 1If Int(Me.LWeekday.ItemData(i)) = Weekday(LDate) Thenfrxbool = FalseEnd IfNext'========spdatexbool = TrueFor i = 0 To Me.LSpecialDate.ListCount - 1If Format(Me.LSpecialDate.ItemData(i), "MM/DD/YYYY") = Format(LDate, "MM/DD/YYYY") Thenspdatexbool = FalseEnd IfNext'========If frxbool = False ThenGoTo nextsElseIf spdatexbool = False ThenGoTo nextsEnd IfxSQL = "INSERT INTO TB2 ( [Group], MyWDate ) VALUES(" & GroupNumber & ", #" & Format(LDate, "MM/DD/YYYY") & "# )"DoCmd.RunSQL xSQLnexts:Next'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\=======//////////////////////////////////////////////'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\=======//////////////////////////////////////////////DoCmd.SetWarnings TrueEnd Sub

يضيف جميع الأيام بين تاريخين ماعدا الأيام المحددة أنها اجازة بمربع القائمة في النموذج

 

و حتى الآن لا أحد يساعد   <_<

على الأقل عطونا وجه أو أي رد :angry:   <_<

db.zip 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سأوفيكم محاولاتي

 

أضفت هذه الكود لفتح الجدول وأخذ أسماء السيارات وعدد المرات

ولكن بقي كيف ...يسبلسيلاتشثفاتاي  :wacko:  :wacko:  :wacko:  :wacko:

وصلت لطريق مسدود  :tbcry:

Private Sub NewRnd_Click()Dim countitem, GroupNumber, x, i, f, xf, s, xs, d, xd As IntegerDim item(1 To 90), myItem(1 To 90) As StringDim iTL(1 To 90) As StringDim iSL1(1 To 90) As StringDim iSL2(1 To 90) As StringDim xRower, xSQL As StringDim tMax, tMin As LongDim RS As RecordsetGroupNumber = Me.TGroup.ValuexSQL = "SELECT * FROM TB1 "Set RS = CurrentDb.OpenRecordset(xSQL)If Not RS.EOF Then    RS.Filter = "[Group] = " & GroupNumber        Set RS = RS.OpenRecordset            With RS                Do While Not .EOF                    .MoveFirst                    countitem = .RecordCount                        For x = 1 To countitem                            item(x) = .Fields("LName").Value                            f = .Fields("TL").Value                            s = .Fields("TS").Value                            d = IIf((f * 1) > (s * 2), (f * 1), (s * 2)) ' number of work days to this item(X)                            For xd = 0 To d                            'some code to repeat ;-(                            ' XXXXXXXXXXXXXXXXXXXXX                            'XXX/  XXXXXXXXXXX  \XXX                            'XXX|__XXXXXXXXXXX__|XXX                            'XXXXXXXXXXXXXXXXXx xXXX                            'XXXXXXXXXXXXXXXXXXXXXXX                            'XXX   ___________   XXX                            'XXX _/XXXXXXXXXXX\_ XXX                            'XXXxxxXXXXXXXXXXXxxxXXX                            ' XXXXXXXXXXXXXXXXXXXX                            Next                                                        If f > 0 Then                                For xf = 1 To f                                                                                                        Next                            End If                            'anything                            .MoveNext                        Next                Loop            End With    For i = 1 To UBound(item)        xRower = xRower & item(i) & ";"    NextEnd If    Me.List4.RowSource = xRowerEnd Sub

وأرفق لكم نسخة db.zip

 

يا أهل الخبرة ياناس تكفون أعطونا حل

أملي بالله ثم فيكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

For i = 1 To UBound(item)
xRower = xRower & item(i) & ";"
Next
End If
Me.List4.RowSource = xRower
End Sub

 

الجزئية الأخيرة للتجربة في ليست بوكس 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

إضافة كود وضع اسماء السيارات بعدد المرات المحددة في الجدول 1 إلى جدول 3 , فقط TL و المشكلة كيف يتم إضافة عدد مرات TS وكيف يكون التعامل لتوزيعهم بالتاريخ 

Private Sub NewRnd_Click()' ÇáßæÏ ÇáÞÏíã Êã ÍÝÙå Ýí ÇáÜ Module1Dim countitem, GroupNumber, x, i, f, xf, s, xs, d, xd As IntegerDim xRower, xSQL, xSQLT As StringDim tMax, tMin As LongDim RS, RST As RecordsetGroupNumber = Me.TGroup.ValuexSQL = "SELECT * FROM TB1 "xSQLT = "SELECT * FROM TB3 "Set RS = CurrentDb.OpenRecordset(xSQL)Set RST = CurrentDb.OpenRecordset(xSQLT)If Not RS.EOF Then    RS.Filter = "[Group] = " & GroupNumber        Set RS = RS.OpenRecordset            With RS                Do While Not .EOF                    .MoveFirst                                        countitem = .RecordCount                        For x = 1 To countitem                            f = .Fields("TL").Value                            For i = 1 To f                            RST.AddNew                            RST.Fields("F1").Value = .Fields("LName")                            RST.Update                            Next                            'anything                            .MoveNext                        Next                Loop            End With    End IfRS.CloseRST.CloseSet RS = NothingSet RST = Nothing End Sub

 وهذه المرفق 

db.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

 

عندي بعض الاسئلة ، وانا انزلت المرفق مع موضوعك الاصلي ، ولم انزل المرفقات التاليه له.

 

انت قلت:

نريد ارسال حمولة 20 طن مرة واحدة يوميا ً على حسب المرات المحددة بالجدول

ونريد أيضا ارسال حمولة 7 طن مرتين يوميا ً على حسب المرات المحددة بالجدول

هل معناه ان نأخذ عدد المرات من الجدول1 ، ثم نكررها في الجدول2 ، صح؟

هل العملية لكل السيارات في الجدول1 ، بين فترتي التاريخ من-الى الذي في النموذج؟

 

وكل ذلك لايتم تجاوز عدد المرات المحددة بالجدول

اي جدول ، واي حقل؟

 

جعفر

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

آسف جدا على التأخير

 

 

 

هل معناه ان نأخذ عدد المرات من الجدول1 ، ثم نكررها في الجدول2 ، صح؟

صح 

نضع اسم السيارة بعدد مراتها 

 

 

 

هل العملية لكل السيارات في الجدول1 ، بين فترتي التاريخ من-الى الذي في النموذج؟

نعم

 

 

اي جدول ، واي حقل؟

 

عدد المرات المحددة بالجدول 1

يتم وضعها في الجدول 2 أرفق لك مثال بالصورة ان شاءالله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سؤال لو سمحت :)

 

الصورة التالية للجدول:

post-273849-0-76384200-1383150788.jpg

 

هل هذا معناه ان هناك:

3 شاحنات تويوتا تحمل 20 طن ، و3 شاحنات تويوتا تحمل 7 طن ،

1 شاحنه مرسيدس تحمل 20 طن ، و7 شاحنات مرسيدس تحمل 7 طن ،

 

اذا كان كذلك ، فالافضل ان نغير الجدول الى الطريقة التالية:

post-273849-0-72449800-1383153764.jpg

 

واذا مفهومي غلط ، فلوسمحت اشرح لي اكثر عن هذا الجدول.

 

 

اما الجدول الثاني ، فرجاء ان تشرح لي كيف وزعت الشاحنات على الايام؟

post-273849-0-75805800-1383150802.jpg

 

وارى من الافضل ان يكون الجدول هكذا:

post-273849-0-69491100-1383153778.jpg

 

جعفر

تم تعديل بواسطه jjafferr
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يا هلا أخ جعفر

 

طريقتك رائعة ولكن انظر 

 

وارى من الافضل ان يكون الجدول هكذا:

post-273849-0-69491100-1383153778.jpg

 

 

مرسيدس 1 مكررة مرتين

اذا طريقتك لن يسمح بتكرار , فهذا هو المطلوب

و أرى إذا نستطيع بعشوائية وضع 20 و 7 أو 20 فقط أو 7 و 7 أو 20 و 7 و 7 بتاريخ واحد

 

بالنسبة 

 

اما الجدول الثاني ، فرجاء ان تشرح لي كيف وزعت الشاحنات على الايام؟

post-273849-0-75805800-1383150802.jpg

 

 

هذا هو المطلوب

ولكن لا يهم أريد طريقتك مثل ما ذكرته لك

وجزيت خيرا 

أشكرك من أعماق قلبي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اسمح اخي خالد ، ورد على سؤالي لوسمحت:

اما الجدول الثاني ، فرجاء ان تشرح لي كيف وزعت الشاحنات على الايام؟

 

وهل معنى كلامك ان عندك 14 شاحنة ، 4 منها تحمل 20 طن و 10 تحمل 7 طن؟

 

جعفر

 

مرسيدس 1 مكررة مرتين:

لا وانت الصادق ، هي في يومين مختلفين ، ولان ما عندك الا مرسيدس واحد 20 طن (طبعا على حسب فهمي) :)

تم تعديل بواسطه jjafferr
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أريد أن يكون عشوائي ليس مرتبة مسبقا

 

مثلا التاريخ

 

الأفضل و المطلوب ان يكون مثلا

 

من 2013/10/01 حتى 2013/11/15

تويوتا 1 20

تويوتا 2 7

مرسيدس 1 20

 

الناتج يكون

2013/10/09 تويوتا 1 20

2013/10/27 مرسيدس 1 20

2013/11/10 تويوتا 2 7

وهكذا

 

 

و اذا كانت

 

من 2013/10/01 حتى 2013/10/02

تويوتا 1 20

تويوتا 2 7

مرسيدس 1 20

 

الناتج يكون

2013/10/01 تويوتا 1 20

2013/10/01 مرسيدس 1 20

2013/11/03 تويوتا 2 7

وهكذا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

والله يخليك اشرح لي:

 

و أرى إذا نستطيع بعشوائية وضع:

20 و 7

أو 20 فقط

أو 7 و 7

أو 20 و 7 و 7 بتاريخ واحد

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أرجوك ركز معي

وزعت

من تاريخ الى تاريخ محددين

 

في المرة الواحدة

سيارة س 20 طن 4 مرات

سيارة س 7 طن 2 مرة

 

بين التاريخين بعشوائية تم وضع على حسب قانون انه لا يجب تكرار س 20 طن أكثر من 4 مرات لبن التاريخين & القدرة المحددة 20 طن 1 مرة بتاريخ واحد و 7 طن 2 مرة بتاريخ واحد ولذلك لا يجب تكرار س 20 طن أكثر من 1 مرة بتاريخ واحد 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

 

والله يخليك اشرح لي:

 

و أرى إذا نستطيع بعشوائية وضع:

20 و 7

أو 20 فقط

أو 7 و 7

أو 20 و 7 و 7 بتاريخ واحد

 

 

مثلا

لنعرف أن

د = دجاجة كاملة

ت = تفاحة

 

أنت تستطيع أن تأكل باليوم 

"د" 

أو تستطيع أن تأكل باليوم الواحد

"د" و "ت"

أو تستطيع أن تأكل باليوم الواحد

"د" و "ت" + "ت"

 

يعني القدرة في الأكل باليوم الواحد

"د" = 1

"ت" = 2

 

يتبع ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

نحدد حصصك أن تأكل 

من تاريخ 2013/10/01 حتى 2013/11/20

"د" = 3 مرة
"ت" = 7 مرة
 

 

ونريد توزيع بعشوائية (هذا هو المطلوب)

التاريح             |   المطلوب

2013/10/04  |  "د"

2013/10/04  |  "ت"

 

2013/10/09  |  "ت"

 

2013/10/14  |  "د"

 

2013/10/17  |  "ت"

2013/10/17  |  "ت"

 

2013/10/24  |  "د"

2013/10/24  |  "ت"

2013/10/24  |  "ت"

 

2013/11/14  |  "ت"

 

 

 

وهكذا

انظر عدد مرات "د" و "ت"

هي الحصص

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

و انظر عدد مرات "د" و "ت" باليوم الواحد لم يتجاوز قدرتك 

يعني بتاريخ واحد

تم تعديل بواسطه KhalidMurad
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

معقدة جدا صح !

 

والله صدعت  :wacko:  :sick:

 

 

أستأذنك ياغالي تعبان مرررة , تصبح على خير  :tbsleep:

تم تعديل بواسطه KhalidMurad
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الظاهر ان الدجاج والتفاح اثاروا عندي انزيم معين ، فبدأ مخي يشم ويتذوق ويفكر (بس ما قلت لي ، دجاج مشوي وإلا شئ ثاني  :excited:  )

اخبرك باللي فهمته ، وصحح لي لوسمحت :)

 

عندنا بالجدول1 شاحنتين (ممكن يكونوا اكثر لاحقا) ، ولازم نخلص كل الشحنات المطلوبة حسب التواريخ المبينه في النموذج ،

وكل شاحنة توصل شحنتها بالعدد المحدد لها (تويوتا مثلا ، توصل 3 شحنات 20طن ، وثلاث شحنات 7طن) ،

وكل شاحنه لها طاقة قصوى يجب ان لا نتعداها وهي 20 + 7  ، ولكن مب لازم نستخدم هذه الطاقة القصوى ،

احنا نختار ونوزع بين الشاحنات ، بحيث في النهاية ، نستخدم جميع الشحنات في الفترة بين التاريخين ،

ومب مهم اي شاحنه في اي يوم في اي وزن.

 

1. صح؟

رد عليّ لوسمحت علشان انتقل للبقية :)

 

جعفر

 

على العموم اكمل السؤال التالي ، وهو عن الطريقة العشوائية ،

واذا فهمي صح ، فمعناه ، انه نعمل قائمة بالشحنات كلها ، ثم بالطريقة العشوائية نوزعها على الايام ، ويمكن هذا التوزيع يصير فيه استخدام شاحنه بطاقة قصوى في احد الايام ، بينما لا يكون في شحنات في اليوم التالي ،

2. صح؟

 

جعفر

تم تعديل بواسطه jjafferr
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هههههههه أكيد تروح تتغدى دجاج شواية :haha:على قول الأخوة المصريين ( فراخ مشوية :D )

 

ياعيني عليك ايوه كذا صح

 

 

 

وكل شاحنة توصل شحنتها بالعدد المحدد لها (تويوتا مثلا ، توصل 3 شحنات 20طن ، وثلاث شحنات 7طن)

:thumb_up:  صحححح

 

 

 

وكل شاحنه لها طاقة قصوى يجب ان لا نتعداها وهي 20 + 7  ، ولكن مب لازم نستخدم هذه الطاقة القصوى

ليست كل شاحنة فردا فردا شاحنة شاحنة لآآآ لآآ

 

قدرة عمال المكتب أنهم خلال 8 ساعات العمل يستطيعوا تحميل شاحنة 20 +7 +7 بأقصى طاقة

فممكن إذا زاد عدد العمال يستطيعوا التحميل في اليوم أكثر على حسب مايتم تحديده في جدول جديد وهي القدرة مثلا نضع فيه عمودين 20 و 7 ونسجل فيهما الـ 20 = 1 و الـ 7 = 2 وتعني انه القدرة في التحميل 20 + 7  + 7  :rolleyes:

 

 

وباقي كلامك عن العشوائية صح 

 

 

وتسلم ياغالي على اهتمامك بالموضوع  :thumbup:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مثلا اذا استعملنا تويوتا 20 طن

نستطيع استعمالها 7 طن + 7 طن

في يوم واحد بالطاقة القصوى

 

ولكن اذا فيها مجال

يتم تشكيلها 

تويوتا 20 + مرسيدس 7 + تويوتا 7

في يوم واحد بالطاقة القصوى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ...
 

أخ جعفر هل وصلت لحل , أم انها مستحيلة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اعتذر منك اخوي خالد ، فكت احاول احل موضوع في المنتدى (بدأت بيه قبل ما ابدا في موضوعك) ،

وكان صعب حيل على مخي الشايب :( ، بس الحمدلله الله سبحانه وتعالى رفق بي وخلصت قبل شوي :)

 

بكرة الصبح ان شاء الله اتفرغ لموضوعك ، ولبكرة الصبح خليك تدعي لي ان الله يفرجها لي واخلص موضوعك بعد :)

 

جعفر

-1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الله يوفقك و يسعدك ياغالي ويفرج لك كل همومك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .