wael_rafat قام بنشر مايو 21, 2015 قام بنشر مايو 21, 2015 السلام عليكم ورحمة الله وبركاته اخواني الكرام مشرفي واعضاء منتدانا العظيم لدس استفسار بخصوصة طريقة ادخال الاصناف الى الفاتورة بطريقة معينة كالتالي :- علي سبيل المثال لدي صنفين وهما ( مطبق زبيدي ، مجبوس دجاج ) ما اريده هو عندما اضغط علي صنف مطبق زبيدي مثلا ... يقوم بالاتــي :- 1 – فى حالة عدم وجود الصنف بالفاتورة يقوم بتسجيله بالفاتورة ، وتكون الكمية مساوية لعدد مرات الضغط علي ايقونة الصنف بمعني اذا ضغط مرة واحدة تكون الكمية ( 1 ) واذا ضغط مرتين تكون الكمية ( 2 ) وهكذا .... 2 – فى حالة وجود الصنف بالفاتورة لا يقوم بتسجيلة مرة اخرى وانما ينقل التركيز اليه ويقوم بالتعديل فقط فى الكمية بعدد مرات الضغط ( المذكور سابقا ) . انا توصلت لعميلة الاضافة والتعديل على الصنف من خلال الضغط على ايقونة الصنف ، وانما مشكلتي هي التركيز علي الصنف فى حالة وجوده ارجو ان يكون الشرح واضح وجزاكم الله كل خير ،،، TT.rar
Elsayed Bn Gemy قام بنشر مايو 21, 2015 قام بنشر مايو 21, 2015 وهذه اضافة بسيطة على ما ذكره اخى الفاضل فقط اكتب القيمة التى تريدها بدون تكرار الضغط على الزر مرات عديدة On Error Resume Next num = InputBox("Please Enter the number") If ([Forms]![f_order]![F_ordersubform]![itemcode]) > 0 And ([Forms]![f_order]![F_ordersubform]![itemcode]) <> 1001 Then DoCmd.CancelEvent Exit Sub End If If ([Forms]![f_order]![F_ordersubform]![itemcode]) = 1001 Then [Forms]![f_order]![F_ordersubform]![Qty] = Nz([Forms]![f_order]![F_ordersubform]![Qty]) + num [Forms]![f_order]![F_ordersubform]![itemcode].SetFocus F_ordersubform.SetFocus [Forms]![f_order]![F_ordersubform]![Qty].SetFocus End If If IsNull([Forms]![f_order]![F_ordersubform]![itemcode]) Then [Forms]![f_order]![F_ordersubform]![itemcode] = 1001 DoCmd.Beep [Forms]![f_order]![F_ordersubform].SetFocus DoCmd.GoToControl "itemcode" DoCmd.GoToControl "qty" [F_ordersubform]![Qty].SetFocus Me.F_ordersubform!Qty.Value = 1 End If
wael_rafat قام بنشر مايو 21, 2015 الكاتب قام بنشر مايو 21, 2015 تسلم اخي الكريم Yms 12 علي الاستجابة والتواصل ولكني لم ارى اى تغيير ... يمكن ارسلت الملف القديم وجزالك الله كل خير
yms12 قام بنشر مايو 21, 2015 قام بنشر مايو 21, 2015 اخي الفاضل/وائل انت تريد عند الضغط على زر مطبق زبيدي ينتقل التركز الى العد للتعديل انا قمت بالتعديل فقط على الزر الاول وعليك عمل الثاني مثلة بالتوفيق
wael_rafat قام بنشر مايو 21, 2015 الكاتب قام بنشر مايو 21, 2015 (معدل) اخي الكريم Yms12 لقد اطلعت مرة اخري على المرفق وللاسف هذا ليس المطلوب وبارك الله فيك المطلوب كالتالي:- 1 – فى حالة عدم وجود الصنف بالفاتورة يقوم بتسجيله بالفاتورة ، وتكون الكمية مساوية لعدد مرات الضغط علي ايقونة الصنف بمعني اذا ضغط مرة واحدة تكون الكمية ( 1 ) واذا ضغط مرتين تكون الكمية ( 2 ) وهذه الجزئية اتممت انجازها وموجودة بالمرفق . 2 – فى حالة وجود الصنف بالفاتورة لا يقوم بتسجيلة مرة اخرى وانما ينقل التركيز اليه ويقوم بالتعديل فقط فى الكمية بعدد مرات الضغط ( المذكور سابقا ) . انا توصلت لعميلة الاضافة والتعديل على الصنف من خلال الضغط على ايقونة الصنف ، وانما مشكلتي هي التركيز علي الصنف فى حالة وجوده " لاته لابد ان يكون السجل المراد تعديله هو السجل النشط " . تم تعديل مايو 21, 2015 بواسطه wael_rafat
wael_rafat قام بنشر مايو 21, 2015 الكاتب قام بنشر مايو 21, 2015 وهذه اضافة بسيطة على ما ذكره اخى الفاضل فقط اكتب القيمة التى تريدها بدون تكرار الضغط على الزر مرات عديدة On Error Resume Next num = InputBox("Please Enter the number") If ([Forms]![f_order]![F_ordersubform]![itemcode]) > 0 And ([Forms]![f_order]![F_ordersubform]![itemcode]) <> 1001 Then DoCmd.CancelEvent Exit Sub End If If ([Forms]![f_order]![F_ordersubform]![itemcode]) = 1001 Then [Forms]![f_order]![F_ordersubform]![Qty] = Nz([Forms]![f_order]![F_ordersubform]![Qty]) + num [Forms]![f_order]![F_ordersubform]![itemcode].SetFocus F_ordersubform.SetFocus [Forms]![f_order]![F_ordersubform]![Qty].SetFocus End If If IsNull([Forms]![f_order]![F_ordersubform]![itemcode]) Then [Forms]![f_order]![F_ordersubform]![itemcode] = 1001 DoCmd.Beep [Forms]![f_order]![F_ordersubform].SetFocus DoCmd.GoToControl "itemcode" DoCmd.GoToControl "qty" [F_ordersubform]![Qty].SetFocus Me.F_ordersubform!Qty.Value = 1 End If مشكور اخي الكريم مارد على المشاركة ولكن هذا ليس طلبى حيث انني اتعامل مع شاشة تاتش.... مع الشكر وجزاك الله خير
Elsayed Bn Gemy قام بنشر مايو 21, 2015 قام بنشر مايو 21, 2015 اخي الكريم Yms12 لقد اطلعت مرة اخري على المرفق وللاسف هذا ليس المطلوب وبارك الله فيك المطلوب كالتالي:- 1 – فى حالة عدم وجود الصنف بالفاتورة يقوم بتسجيله بالفاتورة ، وتكون الكمية مساوية لعدد مرات الضغط علي ايقونة الصنف بمعني اذا ضغط مرة واحدة تكون الكمية ( 1 ) واذا ضغط مرتين تكون الكمية ( 2 ) وهذه الجزئية اتممت انجازها وموجودة بالمرفق . 2 – فى حالة وجود الصنف بالفاتورة لا يقوم بتسجيلة مرة اخرى وانما ينقل التركيز اليه ويقوم بالتعديل فقط فى الكمية بعدد مرات الضغط ( المذكور سابقا ) . انا توصلت لعميلة الاضافة والتعديل على الصنف من خلال الضغط على ايقونة الصنف ، وانما مشكلتي هي التركيز علي الصنف فى حالة وجوده " لاته لابد ان يكون السجل المراد تعديله هو السجل النشط " . اعتقد ان الكود شغال مظبوط اخى الكريم وانا جربته اكتر من مرة
رمهان قام بنشر مايو 22, 2015 قام بنشر مايو 22, 2015 حياكم الله اخواني جميعا خلونا نسال الاخ وائل : وضعت الازرار على النموذج وبعناوين لاصناف ثابتة !! كيف لما تسلم البرنامج لعميل ان تتغير عناوين الازرار حسب الصنف ؟؟؟ بل العدد كذلك ؟؟؟ ام هذا البرنامج خاص فيك !! حتى ولو خاص فيك شلون لو حذفت اصناف كيف تتغير ازرار الامر تلقائيا !! بالتوفيق
wael_rafat قام بنشر مايو 22, 2015 الكاتب قام بنشر مايو 22, 2015 استاذي الجميل رمهان شكرا لمرورك ومشاركتك موضوع تنسيق ازرار الاصناف يتم من خلال الاطلاع علي مينيو المطعم مسبقا وغالبا لا يتم حذف اصناف وانما ممكن تزيد اصناف .. عموما لكل صنف يتم عمل الاجراء الخاص له
wael_rafat قام بنشر مايو 22, 2015 الكاتب قام بنشر مايو 22, 2015 (معدل) استاذ مارد من الواضح انني لم استطيع توصيل طلبي لحضراتكم طلبي باختصار وعلي سبيل المثال عندما اضغط علي زر الصنف في النموذج الرئيسي ينتقل التركيز الي سجل الصنف داخل النموذج الفرعي " بمعني انه يبحث عنه داخل النموذج الفرعي ويذهب اليه " طبعا هذا في حالة تواجد الصنف بالنموذج الفرعي . وفي حالة عدم تواجد الصنف بالنموذج الفرعي يذهب الي سجل جديد لتسجيله .. اتمني تكون وضحت الفكرة وسامحني علي الاطاله تم تعديل مايو 22, 2015 بواسطه wael_rafat
ابوخليل قام بنشر مايو 22, 2015 قام بنشر مايو 22, 2015 انظر هنا فقد تستفيد من الفكرة http://www.officena.net/ib/index.php?showtopic=56632#entry359025
رمهان قام بنشر مايو 23, 2015 قام بنشر مايو 23, 2015 استاذي الجميل رمهان شكرا لمرورك ومشاركتك موضوع تنسيق ازرار الاصناف يتم من خلال الاطلاع علي مينيو المطعم مسبقا وغالبا لا يتم حذف اصناف وانما ممكن تزيد اصناف .. عموما لكل صنف يتم عمل الاجراء الخاص له اخي وائل الموضوع مش موضوع تنسيق ! ركز فيما سألت واجب بما ستعمل!! تنبيه : انت تقوم باضافة اكواد الاصناف من خلال الكود ؟ ماهذا اخ وائل ؟؟ لو تغير رقم الصنف ماذا ستفعل بل لو عندك 10 اصناف ولن اقول 1000 ؟!! هل ستضيف 10 اكواد شرطية ؟! البرنامج يحتاج الى اعادة بناء !! وان كنت تريد المواصلة ضع هذا السطر في اول كود لكل من زري الامر Me.F_ordersubform.Form.Recordset.FindFirst "itemcode='1001'" Me.F_ordersubform.Form.Recordset.FindFirst "itemcode='1002'" بالتوفيق
wael_rafat قام بنشر مايو 23, 2015 الكاتب قام بنشر مايو 23, 2015 استاذي ومعلمي رمهان كلامك صحيح لو افترضنا ان عندي 50 صنف سوف اقوم بوضع 50 كود شرطي . والسبب لاني اتعامل مع شاشة تاتش ولابد ان تكون جميع اصناف المطعم موجودة علي الشاشة .. يا ريت لو عند حضرتك طريقة افضل يا ريت تبلغنا بها وجزاك الله كل خير اما بالنسبة للكود الذي تفضلت به لنقل تركيز الصنف داخل النموذج الفرعي فانه لا يعمل معي وشكرا علي التفاعل
رمهان قام بنشر مايو 23, 2015 قام بنشر مايو 23, 2015 (معدل) اخي وائل اولا خلينا نعدل على شغلك وبنفس فكرتك ان لكل صنف زر امر مكتوبا عليه اسم الصنف ! وعند الضغط على الزر يشيك اذا موجود يقوم باضافة 1 على الكمية واذا مش موجود يقوم باضافته كسجل جديد ويكمية 1 ! طبعا هذا نفس السيناريو الذي مشيت به ولكن سننفذه بطريقة رمهانية ( اتهمني احد الاعضاء بانني اختصر الاكواد واختزلها ليس احتراف وانما دمج اسطر وعدم تعريف متغيرات ) !! هنا احتاج فرصة وقت وسارفعه هنا ! اما مسالة ماهي الطريقة الاصح لعمل فاتورة بيع مناسبة لشاشة لمس وقائمة مطعم !! فسيكون موضوع جديد وان شاء الله قريبا اخي وائل حيث يحتاج لوقت ! تحياتي تم تعديل مايو 23, 2015 بواسطه رمهان 1
wael_rafat قام بنشر مايو 23, 2015 الكاتب قام بنشر مايو 23, 2015 بارك الله فيك استاذنا وزادك الله من علمه وبانتظار الطريقة الرمهانيه التي هي من وجهة نظري ميزة كبيرة واحترافية طبعا " اختزال واختصار الاكواد " مع خالص شكري وتقديري
ابو جودي قام بنشر مايو 23, 2015 قام بنشر مايو 23, 2015 اخي وائل اولا خلينا نعدل على شغلك وبنفس فكرتك ان لكل صنف زر امر مكتوبا عليه اسم الصنف ! وعند الضغط على الزر يشيك اذا موجود يقوم باضافة 1 على الكمية واذا مش موجود يقوم باضافته كسجل جديد ويكمية 1 ! طبعا هذا نفس السيناريو الذي مشيت به ولكن سننفذه بطريقة رمهانية ( اتهمني احد الاعضاء بانني اختصر الاكواد واختزلها ليس احتراف وانما دمج اسطر وعدم تعريف متغيرات ) !! هنا احتاج فرصة وقت وسارفعه هنا ! اما مسالة ماهي الطريقة الاصح لعمل فاتورة بيع مناسبة لشاشة لمس وقائمة مطعم !! فسيكون موضوع جديد وان شاء الله قريبا اخي وائل حيث يحتاج لوقت ! تحياتي ولكن سننفذه بطريقة رمهانية هههههههههههههههههههههههههههههههه هذا اهم ما فى الموضوع الطريقة الرمهانية استاذ رمهان بجد انت معلم قدير 1
رمهان قام بنشر مايو 25, 2015 قام بنشر مايو 25, 2015 (معدل) تفضل اخينا وائل ولاحظ :الفكرة تمت بانشاء اجراء mm يستقبل قيم الكود حسب خاصية tag لزر الامر ! بمعنى مثلا تريد اضافة زر امر للمانجو .. اتبع الخطوات التالية : 1. تنشئ زر الامر طبيعي وتغير العنوان زي ماتحب 2. تذهب لخاصية tag لزر الامر وتكتب الكود للصنف وهنا 1003 نقصد المانجو ( طبعا هذا مش معقول انه لكل زر اكتب رقم لكود ولكن هذا السيناريو تبعك ولكن نفذته بطريقة تسهل العمل ) وللطريقة الافضل علينا الانتظار حتى اجهز الفكرة وبموضوع جديد وعند فرصة الوقت ان شاء الله ! 3. تذهب لحدث عند النقر وتلصق الجملة التالية وهي عبارة عن مناداة الاجراء وتمرير قيمة tag للزر الحالي Call mm(Me.ActiveControl.Tag) طبعا اصبح تكرار العمل لكل صنف اسهل بكثير من ماكنت انت حتعمله من تكرار في الاكواد وتعديلات داخل الاكواد ! بالتوفيق TT.rar تم تعديل مايو 25, 2015 بواسطه رمهان 1
yms12 قام بنشر مايو 25, 2015 قام بنشر مايو 25, 2015 دائما انت مبدع ونحن في انتظار المفاجئة بالموضوع الجديد وهو الشاشة باللمس 1
Elsayed Bn Gemy قام بنشر مايو 25, 2015 قام بنشر مايو 25, 2015 اخى ال تفضل اخينا وائل ولاحظ :الفكرة تمت بانشاء اجراء mm يستقبل قيم الكود حسب خاصية tag لزر الامر ! بمعنى مثلا تريد اضافة زر امر للمانجو .. اتبع الخطوات التالية : 1. تنشئ زر الامر طبيعي وتغير العنوان زي ماتحب 2. تذهب لخاصية tag لزر الامر وتكتب الكود للصنف وهنا 1003 نقصد المانجو ( طبعا هذا مش معقول انه لكل زر اكتب رقم لكود ولكن هذا السيناريو تبعك ولكن نفذته بطريقة تسهل العمل ) وللطريقة الافضل علينا الانتظار حتى اجهز الفكرة وبموضوع جديد وعند فرصة الوقت ان شاء الله ! 3. تذهب لحدث عند النقر وتلصق الجملة التالية وهي عبارة عن مناداة الاجراء وتمرير قيمة tag للزر الحالي Call mm(Me.ActiveControl.Tag) طبعا اصبح تكرار العمل لكل صنف اسهل بكثير من ماكنت انت حتعمله من تكرار في الاكواد وتعديلات داخل الاكواد ! بالتوفيق اخى الكريم رمهان دعنا نتقاسيم فى الخير ونتعاون فى هذا الكود ما رايك بفرض متغيرين لحساب السجلات فى كل من الدولين جدول الاصناف وجدول المبيعات او الفواتير f = DCount("*", "tmenu", "[itemcode] = 1001") d = DCount("*", "Qorder", "orderno=" & Me.orderno) ولنقل مثلا اذا كان المتغير d اكبر من 1 مثلا ننفذ كود الاضافة الى الكمية فى كل ضغطة زر ولكن انا اريد ان اضيف عن طريق الجدول مصدر النموذج الفرعى ولنبدأ فى تعريف الجدول او الاستعلام لقاعدة البينات If d > 1 And ([Forms]![f_order]![F_ordersubform]![itemcode]) = 1001 Then Dim x Dim Rs Set Rs = CurrentDb.OpenRecordset("Qorder") For X = 1 To 1 Rs.Edit Rs![itemcode] = [Forms]![f_order]![F_ordersubform]![itemcode].Value Rs!Qty = Nz([Forms]![f_order]![F_ordersubform]![Qty]) + 1 Rs.Update Next Rs.Close Set Rs = Nothing Me.[F_ordersubform].Requery اخى الكريم حقيقة انا لم اجربه ولكن دعنا نتشارك تحياتى
أحمد وجيه قام بنشر مايو 25, 2015 قام بنشر مايو 25, 2015 الأخ الكريم @مارد الأخ الكريم @رمهان آمل منكم عند كتابة أي كود أن تشرحا تفصيليا ماذا يعني هذا الكود وذلك حتى يتيسر للمبتدئين مثلي الانتفاع بعلمكما ولكما جزيل الشكر و التقدير :)
رمهان قام بنشر مايو 26, 2015 قام بنشر مايو 26, 2015 اخي الاستاذ مارد : لم افهم عليك تمام ! هل تقصد ان لديك فكرة حل وتريد ان ننفذها ؟ وحسب فهمي تريد ان تشيك هل المادة موجودة في الفاتورة الحالية ام لا باستخدام عد السجلات ؟ فابشر احنا معا ولكن اتوقع لو تضعها بموضوع جديد افضل ! اخينا احمد وجيه : انا جديد عهد بالمنتديات ومعرفة قوانينها ولكن حسب فهمي انه : يتم الرد على المشاركة لمساعدة السائل في مشكلته فهو من سيفهم الحل مباشرة بدون شرح اما اذا كان هناك شرح لشي معين يتم بموضوع جديد . واسمح لي ان الخص وجهة نظري : 1. لشرح كل مشاركة رد ستحتاج وقت كثير من ما يفقد الرد على اكبر عدد مشاركة ممكن ! 2. كل عضو يسأل بملف وحسب افكاره فاحيانا انا ارد بحل في جزئية معينة ولا افهم باقي السيناريو الذي مشا به فصعب ان اقضي وقت حتى افهم كيف برنامجه يعمل 3.احيطك علما ان الاخ السائل لا يريد الشرح بقدر مايريد الحل 4. من اراد ان يشرح شيئا يذهب لموضوع جديد ويشرح مايريد ! انا ليس لدي الوقت فاغلب وقتي رد على مشاركات ! كما ان هناك سبب وهو عندما اكتب موضوعا جديدا لا بد ان اعطيه حقه او لا اكتب ! 5. تستطيع ان تضع استفسارك حول جزئية معينة اثناء المشاركة ! 6. بعض المشاركات قد تكون الاستفادة منها الفكرة او الطريقة بغض النظر عن طريقة التنفيذ! تحياتي 1
wael_rafat قام بنشر مايو 26, 2015 الكاتب قام بنشر مايو 26, 2015 اخي واستاذي رمهان ماشاء الله عليك فكرة رائعة واختزال رائع للاكواد فعلا ( طريقة رمهانية رائعة ) بارك الله فيك وزادك الله من علمه بعد التجربة يوجد ملحوظة وهي ظهور العدد " 1 " فى السجل الجديد قبل ادخال الصنف ثانيا : يوجد جزئية ان امكن تنفيذها لو تكرمت... وهي امكانية اضافة الصنف المضاف مرة اخري عند فقد التركيز عنه بمعني عند ادخال الصنف " 1001 " ثم اخال الصنف " 1002 " وعند ادخال الصنف " 1001 " مرة اخري لا يقوم بزيادة الكمية للصنف المسجل وانما يضاف سجل جديد له والهدف منه هو معرفة الاصناف الاضافية الذي طلبها العميل بعد الطلب الاصلي علي سبيل المثال : زبون طلب الصنف " 1001 " عدد 3 + الصنف " 1002 " عدد 1 وبعد تسجيل الاوردر ... قام العميل بزيادة الاوردر واضافة الصنف " 1001 " عدد 1 فيظهر بالفاتورة الصنف " 1001 " عدد 3 الصنف " 1002 " عدد 1 الصنف " 1001" عدد 1 وذلك حتي يظهر بالفاتورة الاصناف الاضافية الذي طلبها العميل بعد طلبة الاصلي اتمني تكون وضحت الفكرة وسامحني على الاطالة ... وجزاك الله كل خير
wael_rafat قام بنشر مايو 26, 2015 الكاتب قام بنشر مايو 26, 2015 استاذ مارد فكرة ولفتة جميلة بارك الله فيك
رمهان قام بنشر مايو 26, 2015 قام بنشر مايو 26, 2015 (معدل) بعد التجربة يوجد ملحوظة وهي ظهور العدد " 1 " فى السجل الجديد قبل ادخال الصنف لانه تم استخدام خاصية القيمة الافتراضية للكمية لاختصار الوقت . يمكنك حذفها او تغييرها ! ثانيا : يوجد جزئية ان امكن تنفيذها لو تكرمت... وهي امكانية اضافة الصنف المضاف مرة اخري عند فقد التركيز عنه قريبا ان شاء الله !! بالتوفيق تم تعديل مايو 26, 2015 بواسطه رمهان
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.