Alhaithm قام بنشر يوليو 18, 2012 قام بنشر يوليو 18, 2012 (معدل) السلام عليكم ورحمة الله وبركاته لدي قاعدة بيانات مصممة على الأكسيس 2000 من ضمن محتويات قاعدة البيانات نموذج رئيس باسم S وبداخله نموذج فرعي باسم SextendedDetails يحتوي النموذج الفرعي SextendedDetails على عدة حقول منها : كمبو بوكس باسم ProductID يتضمن الكثير من الأصناف وهو مرتبط بجدول ومن خصائص الكمبيو بوكس الالتزام بالقائمة كما يحتوي على وحدة نمطية تقوم بوضع السعر في حقل سعر الوحدة لكل الأصناف ماعدا خمسة أصناف وحقل يحتوي على الكمية Sqty وحقل يحتوي على سعر الوحدة SalesPrice في حقل ProductID العديد من الأصناف ومنها 5 أصناف هي موضوع السؤال والطلب هذه الأصناف الخمسة بأرقام ثابتة وهى 90001 و 80001 و70001 و 60001 و 50001 يتم قراءة وإدخال جميع الأصناف بواسطة قارئ الباركود من ملصق الباركود إلى الكومبو ProductID ويتم حفظ رمز الصنف في نفس الكومبو ProductID بالكامل وبواسطة الوحدة النمطية يتم وضع السعر تلقائيا في حقل سعر الوحدة. لكن ملصق باركود الأصناف الخمسة يأتي محتويا على رمز الصنف مضافا إليه الكمية والسعر مثاله 9000100100120 أو 8000101212910 حيث الخانات الخمس الأولى تعني رمز الصنف وهو موجود أصلا في قاعدة البيانات في الكومبو ProductID والخانات الثلاث التالية تعني الكمية والخانات الخمس التالية تعني السعر درهم وفلس. المطلوب إنشاء وحدة نمطية تقوم بالأتي: تقسيم رمز الصنف حسب ما هو موجود في ملصق الباركود و توزيعه وحفظه في ثلاثة حقول الخمسة الأرقام الأولى في الكمبو بوكس ProductID وهي فعلا موجودة في القائمة الثلاثة الأرقام التالية في حقل Sqty وهذه في الملصق فقط وهي تتبدل كل مرة الخمسة الأرقام التالية في حقل SalesPrice وهذه أيضا في الملصق فقط وهي تتبدل كل مرة مرفق مثال مع قاعدة البيانات على الرابط http://www.alhaithm.com/exam.rar http://alhaithm.com/BarCodeLable.jpg تحياتي لكم ومبارك علينا وعليكم الشهر الفضيل تم تعديل يوليو 18, 2012 بواسطه Alhaithm
ابوخليل قام بنشر يوليو 19, 2012 قام بنشر يوليو 19, 2012 ضع هذه الاسطر مكان الوحدة النمطية Dim x, xx x = Mid([ProductID], 6, 3) xx = Mid([ProductID], 9, 5) SQty = x SalesPrice = xx طبعا هذا الكود حسب تقسيمك للارقام واهملنا الرقم الاول لانه موجود كما ذكرت اظن الكود واضح ولا يحتاج تفسير
Alhaithm قام بنشر يوليو 19, 2012 الكاتب قام بنشر يوليو 19, 2012 أشكرك على اهتمامك ومحاولتك لكن للأسف الكود الذي ذكرته لا يلبي أدنى حاجة من المطلوب لأنه سوف يقوم بتقسم جميع الباركاودات الموجودة في قاعدة البيانات وكان المطلوب تقسيم باركودات معينة محددة ، كما أنه لا يقوم بتقسيم السعر إلى ريال وهللة
Alhaithm قام بنشر يوليو 19, 2012 الكاتب قام بنشر يوليو 19, 2012 المطلوب باختصار إنشاء كود بالمعني التالي إذا كان النص المدخل في مربع السرد والتحرير ProductId لا يبدأ بالنص 90001 أو النص 80001 أو 70001 أو 60001 أو 50001 فتجاهل الأوامر التالية الأوامر: إذا كان النص المدخل في مربع السرد والتحرير يبدأ بالنص 90001 أو النص 80001 أو 70001 أو 60001 أو 50001 فنفذ الأمر التالي: ضع الأرقام الخمسة الأول في مربع السرد والتحرير ProductId ضع الأرقام الثلاثة التالية في حقل SQty ضع الأرقام الخمسة التالية في حقل SalesPrice بصيغة 000.00
ابوخليل قام بنشر يوليو 19, 2012 قام بنشر يوليو 19, 2012 أشكرك على اهتمامك ومحاولتك لكن للأسف الكود الذي ذكرته لا يلبي أدنى حاجة من المطلوب لأنه سوف يقوم بتقسم جميع الباركاودات الموجودة في قاعدة البيانات وكان المطلوب تقسيم باركودات معينة محددة ، كما أنه لا يقوم بتقسيم السعر إلى ريال وهللة رفقا اخي ... كل عام وانت بخير بالعكس فأنا اعطيتك مجمل الحل يتبقى فقط تنسيق رقم وتطبيق الشروط اما تفصيلك الاخير فالواجب انك بينته في البداية حتى تتضح الرؤية تفضل وحدة نمطية كاملة حسب رغبتك بالتمام فاذا لم يتحقق الشرط يأخذ القيمة من الوحدة النمطية القديمة Private Sub ProductID_AfterUpdate() Dim x1, x2, x3 x1 = Mid([ProductID], 1, 5) x2 = Mid([ProductID], 6, 3) x3 = Mid([ProductID], 9, 3) & "." & Mid([ProductID], 12, 13) If x1 = 50001 Or x1 = 60001 Or x1 = 70001 Or x1 = 80001 Or x1 = 90001 Then ProductID = x1 SQty = x2 SalesPrice = x3 Else With CodeContextObject .SalesPrice = DLookup("[SalesPrice]", "[ProductsOthers]", "[ProductID] = forms!S![SExtendedDetails].form![ProductID]") End With End If End Sub
Alhaithm قام بنشر يوليو 21, 2012 الكاتب قام بنشر يوليو 21, 2012 (معدل) الأخ/ أبوخليل المراقب العام تحية طيبة وبعد أعتذر عن عبارة أدنى حاجة ، حيث قلتها ليس تقليللا من شأنك ولكن الكود لم يشتغل نهائيا الوحدة النمطية الثانية لم تشتغل نهائيا ، مما دعاني للبحث عن السبب ، ووجدت أنه يجب إزالة خاصية الالتزام بالفائمة نعم في مربع السرد والتحرير Product ID وعليه اشتغل الكود وبالتالي تسنى لي إجراء التعديل عليه بأدناه الكود بعد التعديل وهو محتاج للمسة منك أيضا حيث أريد أن يتم تحويل الخانة رقم 13 من الباركود إلى قيمة صفر على الدوام Private Sub ProductID_AfterUpdate() Dim x1, x2, x3 x1 = Mid([ProductID], 1, 7) ' x2 = Mid([ProductID], 6, 3) x3 = Mid([ProductID], 8, 3) & "." & Mid([ProductID], 11, 12) If x1 = 50001 Or x1 = 9900060 Or x1 = 9900051 Or x1 = 9900010 Or x1 = 9900000 Then ProductID = x1 ' SQty = x2 SalesPrice = x3 Call UpdatePole Else UpdatePole With CodeContextObject .SalesPrice = DLookup("[salesPrice]", "[ProductsOthers]", "[ProductID] = forms!S![sExtendedDetails].form![ProductID]") .SalesCostPrice = DLookup("[PurchasePrice]", "[LastPurchasePrice]", "[ProductID] = forms!S![sExtendedDetails].form![ProductID]") Call UpdatePole End With UpdatePole End If End Sub تم تعديل يوليو 21, 2012 بواسطه Alhaithm
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.