تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
هل يُمكن إضافة اسم المنتج من عمود أسماء المُنتجات مُباشرة في حالة التكرار
#1
إخواني الكِرام أستخدم برنامج يقوم بتسجيل الباركود الخاص بالمنتج ثم أكتب اسم المُنتج وموقعه، وأعاني من مُشكلة ظهرت، هي في حالة كتابة الباركود الخاص بمنتج تم تسجيله من قبل أود أن إذا كتبت الباركود قي الصندوق النصي الأول بمجرد الانتقال بزر Tab إلى كتابة الاسم في الصندوق النصي الثاني يتم كتابته مُباشرة إذا كان موجود من قبل دون إعادة كتابة الاسم من جديد ودون كتابة موقع المُنتج السابق والسماح بكتابه الموقع الجديد، وجزاكم الرحمن خيراً.

بمعني أنه يبحث بشكل بسريع بعد كتابة الباركود، داخل عمود الباركود فإن وجد نفس الباركود يقوم باِستدعاء اسم المُنتج فقط ويقوم بإضافته تلقائياً في الصنودق النصي الثاني وإن لم يجد نفس الباركود يجعل الخانات فارغة.

- علماً أنني استخدم قاعدة بيانات أكسس.

يسَّر الله عليكم كل أمرٍ كما تُسيرون على عباد الله.
الرد
تم الشكر بواسطة:
#2
اهلاً بك اخى Hazem1 من جديد

كل الامر فى حدث TextBox_KeyDown
استخدم الكود بهذا الشكل
كود :
       If e.KeyCode = Keys.Tab Then
           '  استخدم كود الاستعلام للتحقق مع ظهور رسالة وما تشاء  '
       End If

مكان التلميح فقط ضع كود الاستعلام الذى تريد التحقق منه
وعرض الرسالة وما تشاء من فعله

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى تقديم   لكل من يقوم بالمساهمة
فى حل اى مشكلة او استفسار لديك مع اضافة رد بشكره ودعوة له
فالجميع هنا يعمل على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
الرد
تم الشكر بواسطة: Hazem1 , Hazem1 , ابراهيم ايبو
#3
أخي الحبيب أشعر أنك مُجهد جداً من السهر أعانك الله، فكرتي نفس فكرة برنامج المبيعات بمجرد وضع الباركود في الصندوق النصي يظهر اسم المنتج وسعره، وإذا لم يكن هناك باركود يظهر رسالة خطأ، لكن كل الذي أريده إن يظهر اسم المنتج فقط وأن يسمح بتسجيل جديد.

أو عند كتابة الباركود وكان الباركود مسجل من قبل تظهر رسالة، "هذا المنتج تم تسجيله مُسبقاً، هل تريد إضافته مرة ثانية ؟ ، فإذا اخترت نعم يظهر الباركود والاسم فقط ويترك لي باقي الحقول فارغة ( على أساس أني أحتاج الاسم فقط ) وإذا ضغطت ( لا )، يظهر الباركود واسم المنتج وتظهر كل الحقول التي تم تسجيلها مسبقا.

الذي أعرفه أنني سأحتاج لاستخدام قاعدة if وكود البحث لكن لا أعلم كيف سيتم البحث التلقائي بمجرد وضع الباركود وهل سوف استخدم أحداث الكيبورد أو الماوس بحيث عند الانتقال بالماوس أو زر Tab الصندوق النصي الثاني يتم تنفيذ البحث التلقائي ؟

جزاكم الله خيراً وأكرمكم بالفردوس الأعلى.
الرد
تم الشكر بواسطة:
#4
(04-09-18, 08:03 AM)Hazem1 كتب : أخي الحبيب أشعر أنك مُجهد جداً من السهر أعانك الله، فكرتي نفس فكرة برنامج المبيعات بمجرد وضع الباركود في الصندوق النصي يظهر اسم المنتج وسعره، وإذا لم يكن هناك باركود يظهر رسالة خطأ، لكن كل الذي أريده إن يظهر اسم المنتج فقط وأن يسمح بتسجيل جديد.

أو عند كتابة الباركود وكان الباركود مسجل من قبل تظهر رسالة، "هذا المنتج تم تسجيله مُسبقاً، هل تريد إضافته مرة ثانية ؟ ، فإذا اخترت نعم يظهر الباركود والاسم فقط ويترك لي باقي الحقول فارغة ( على أساس أني أحتاج الاسم فقط ) وإذا ضغطت ( لا )، يظهر الباركود واسم المنتج وتظهر كل الحقول التي تم تسجيلها مسبقا.

الذي أعرفه أنني سأحتاج لاستخدام قاعدة if وكود البحث لكن لا أعلم كيف سيتم البحث التلقائي بمجرد وضع الباركود وهل سوف استخدم أحداث الكيبورد أو الماوس بحيث عند الانتقال بالماوس أو زر Tab الصندوق النصي الثاني يتم تنفيذ البحث التلقائي ؟

جزاكم الله خيراً وأكرمكم بالفردوس الأعلى.

بالعكس اخى الحبيب انا لم اكن اسهر هذا اليوم

بكل كنت مستيقظ قبل صلاة الفجر من ثم دخلت قليلاً 
حتى اجب على المواضيع هنا قبل الذهاب الى العمل

ويبدو ان الفكرة لم تصلك بعد اخى الحبيب 

اجعلنى اوضح الكرة اكثر بشتى الطرق بعد تعديلك للموضوع

اولاً عند الضغط على الـ Tab يوم بالتحقق من الباركود أى رقم المنتج

فى حدث TextBox_KeyDown استخدم الكود التالى
كود :
       If e.KeyCode = Keys.Tab Then
           NameSubForSelectByID()
       End If

ثانياً بخصوص عند التنقل او باصح مغادرة اطار TextBox الى اخر

من خلال حدث TextBox_Leave استخدم الكود التالى
كود :
           NameSubForSelectByID()

انتى فى الخطوة الاخيرة وهو عمل Sub كما هو التالى
كود :
   Sub NameSubForSelectByID()
       ' ضح كود الاستعلام بقاعدة الباينات ى جدول امنتجات
       ' ثم م بعمل التحقق اذا كان امنت موجود بالاستعلام
       ' يتم ظهور رسالة كما ذكرتها فى موضوعك
       ' وباقى الاجراءات التى مطلوب فعها تخيلها تماماً لو بتنشاء مستخدم جديد للبرنامج
   End Sub

تخيل فى الـ Sub انك بتتعامل مع زر تحقق او بحث .... الخ
ضح كمل الكود وما تريد فعلها داخل هذا السب بكده يمكنك استخدامه فى اكثر من مكان كما تم توضيحه فى الاعلى

اتمنى ان تكون الصورة وضحت بشكل اكبر الان وان الشرح غير معقد

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى تقديم   لكل من يقوم بالمساهمة
فى حل اى مشكلة او استفسار لديك مع اضافة رد بشكره ودعوة له
فالجميع هنا يعمل على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
الرد
#5
جرب هذا الكود

كود :
For I = 0 To DataGridView1.Rows.Count - 1
          If DataGridView1.Rows(I).Cells(0).Value = TXT_IDPRODUCT.Text Then
              If MsgBox("هذه السلعة موجودة مسبقا هل تريد زيادة كميتها بمقدار 1", MsgBoxStyle.Question +
                        MsgBoxStyle.YesNo, "") = MsgBoxResult.Yes Then
                  DataGridView1.Rows(I).Cells(4).Value += 1
                  MsgBox("تمت إضافة السلعة", MsgBoxStyle.Information, "")
                  Exit Sub
              End If
          End If
      Next
الرد
#6
(04-09-18, 07:40 PM)elgokr كتب :
اولاً عند الضغط على الـ Tab يوم بالتحقق من الباركود أى رقم المنتج

فى حدث TextBox_KeyDown استخدم الكود التالى
كود :
       If e.KeyCode = Keys.Tab Then
           NameSubForSelectByID()
       End If

ثانياً بخصوص عند التنقل او باصح مغادرة اطار TextBox الى اخر

من خلال حدث TextBox_Leave استخدم الكود التالى
كود :
           NameSubForSelectByID()

انتى فى الخطوة الاخيرة وهو عمل Sub كما هو التالى
كود :
   Sub NameSubForSelectByID()
       ' ضح كود الاستعلام بقاعدة الباينات ى جدول امنتجات
       ' ثم م بعمل التحقق اذا كان امنت موجود بالاستعلام
       ' يتم ظهور رسالة كما ذكرتها فى موضوعك
       ' وباقى الاجراءات التى مطلوب فعها تخيلها تماماً لو بتنشاء مستخدم جديد للبرنامج
   End Sub

يسر الله أمرك يا أخي الغالي، صدقاً الشرح واضح لكن لا أدري ماسبب وجود الخطأ معي بمجرد كتابة الكود
تصنيف البيانات عندي كالتالي:
بالنسبة لاسم المُنتج في قاعدة البيانات تحت اسم P Name  ( المسافة غير مسموح بها في كتابة الكود )
ورقم الباركود Barcode
وال ID يُمثل الرقم التلقائي أثناء تسيجل المُنتجات

أرفقت لحضرتك ثلاث صور


(05-09-18, 12:44 AM)asemshahen5 كتب : جرب هذا الكود

كود :
For I = 0 To DataGridView1.Rows.Count - 1
          If DataGridView1.Rows(I).Cells(0).Value = TXT_IDPRODUCT.Text Then
              If MsgBox("هذه السلعة موجودة مسبقا هل تريد زيادة كميتها بمقدار 1", MsgBoxStyle.Question +
                        MsgBoxStyle.YesNo, "") = MsgBoxResult.Yes Then
                  DataGridView1.Rows(I).Cells(4).Value += 1
                  MsgBox("تمت إضافة السلعة", MsgBoxStyle.Information, "")
                  Exit Sub
              End If
          End If
      Next


جزاك الله خيراً على اِهتمامك أخي الكريم ، المُشكلة أنني لم أقم بإعداد الداتاجريدفيو بصفوف هكذا :
DataGridView1.Rows(I).Cells(1).Value

فقط قم بربط الداتاجريدفيو بأعمدة قاعدة البيانات الأكسس وبدأت أعمل على هذا النحو لكن أشعر أنني بحاجة ماسة لتعلمها جيداً 


الملفات المرفقة صورة/صور
           
الرد
تم الشكر بواسطة:
#7
ضع المثال للتعديل عليه .
الرد
تم الشكر بواسطة: Hazem1
#8
اخى الحبيب بخصوص حديثك عن P Name
لان المسافة موجودة بين الاسم
كل ما عليك فعله التالى
ان تستخدم الاسم بهذا الشكل
PHP كود :
[P Name


أو بهذا الشكل
كود :
`P Name`

وبكده ستحل مشكلة الكود مع المسافة

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى تقديم   لكل من يقوم بالمساهمة
فى حل اى مشكلة او استفسار لديك مع اضافة رد بشكره ودعوة له
فالجميع هنا يعمل على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
الرد
تم الشكر بواسطة: ابراهيم ايبو , Hazem1 , Hazem1
#9
(06-09-18, 02:14 PM)elgokr كتب :
اخى الحبيب بخصوص حديثك عن P Name
لان المسافة موجودة بين الاسم
كل ما عليك فعله التالى
ان تستخدم الاسم بهذا الشكل
PHP كود :
[P Name


أو بهذا الشكل
كود :
`P Name`

وبكده ستحل مشكلة الكود مع المسافة

تحياتى لك
وتمنياتى لك التوفيق

جزاك الله خيراً أخي الكريم، هذا الذي ظهر معي رغم تصحيح الكود


الملفات المرفقة صورة/صور
   
الرد
تم الشكر بواسطة:
#10
اخى الفاضل انت تستخدم اسم عمود بجدول
قبل اسم Sub ليه

اولاً فى الصورة هنا 


يحدث الخطاء هنا كونك لم تقوم بانشاء الـ Sun الخاص بالاسم
ويبدو انك لا تتعامل بالاكواد فى المشروع لديك بال انك تتعامل بالادوات

لذلك اخى الحبيب ارفق المشروع الذى لديك
حتى يتم عمل الازم بالمشروع واعادة رفعه لك بعد الانتهاء

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى تقديم   لكل من يقوم بالمساهمة
فى حل اى مشكلة او استفسار لديك مع اضافة رد بشكره ودعوة له
فالجميع هنا يعمل على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
الرد
تم الشكر بواسطة: Hazem1 , Hazem1


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  إشكالية في إضافة الأداة عبد العزيز البسكري 2 78 12-10-18, 09:42 PM
آخر رد: عبد العزيز البسكري
  هل يُمكن عمل بحث بحيث يظهر الناتج في غير الداتاجريدفيو أو في مثيلٍ لها؟ Hazem1 3 80 09-10-18, 07:48 AM
آخر رد: عبدالله الدوسري
  كيف يُمكن عدم الرجوع إلى الفورم الأول إذا كان الفورم الثاني مفوحاً ؟ Hazem1 2 59 07-10-18, 10:08 PM
آخر رد: Hazem1
  [VB.NET] افضل طريقة لجمع عمود بالداتا جريد محمد اسماعيل 2 66 07-10-18, 07:39 PM
آخر رد: محمد اسماعيل
  كيف يُمكن أدخال أداة ال Progress Bar للتزامن مع نسخ قاعدة بيانات الأكسس؟ Hazem1 6 186 05-10-18, 12:18 AM
آخر رد: Hazem1
  جمع عمود الوقت في الداتا قريد فيو نور الهدى الهدى 6 109 03-10-18, 08:14 PM
آخر رد: نور الهدى الهدى
  كيف يُمكن إجراء نسخ تلقائي لقاعدة البيانات كل يوم بملف خارج المشروع؟ Hazem1 14 333 23-09-18, 10:19 PM
آخر رد: elgokr
  معرفة حالة الاداة ميديا بلير المتألق9 2 87 18-09-18, 02:09 PM
آخر رد: المتألق9
  إضافة البرنامج التنفيذي لزر الفارة الايمن العيدروس 5 169 17-09-18, 02:37 PM
آخر رد: DK-x
  كيف يُمكن عرض خيارات داخل combobox بناء على ظهور شهر مُعين وسنة مُعين بأداةDatetimepi Hazem1 5 170 15-09-18, 02:36 AM
آخر رد: Hazem1

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم