![]() |
|
[VB.NET] ربط قاعدة بيانات أكسس مع Combobox - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] ربط قاعدة بيانات أكسس مع Combobox (/showthread.php?tid=25861) الصفحات:
1
2
|
ربط قاعدة بيانات أكسس مع Combobox - Doctor GME - 26-07-18 باختصار أصمم برنامج لتسجيل الأدوية الطبية بهذا الشكل حيث name هو إسم الدواء و Dose هى جرعته وRoute هو طريقة تعاطيه ووضعت له قاعدة بيانات بهذ الشكل وضعت كود يجعل محتويات العمود المسمى Analgesics يظهر فى combobox المسمى Name أريد كود لجعل النص داخل العمود الثانى يظهر بالترتيب كل نص يفصله (-) يظهر ك item منفرد فى combobox المسمى Dose ويظهر النص فقط الذى يقابله تماماً فى الموضع من العمود الثالث داخل ال combobox المسمى route RE: ربط قاعدة بيانات أكسس مع Combobox - elgokr - 26-07-18 هل ما تقوم به هو عرض البيانات فقط فى هذا الفورم
ام انه يسقوم بعد ذلك باتمام حفظ البيانات طبقاً لما تم اختياره
لان ما اجده بناء قاعدة البيانات للبيانات المذكورة غير صحيحة
اذا سيتم التعامل معها كا عرض وحفظ وتعديل البيانات
لان من المفترض ان يكون لديك تعدد الجداول للادوية
حيث كل علاج يتم تكراره طبقاً لكل جرعة وما يقابلعه من العمر و عدد مرات الاستخدام وما ذلك من تفاصيل
لكن ما اراه فى الموضوع الخاص به
انك ابخلت على نفسك وتريد التوفير حتى فى المجهوود لتبنى قاعدة البيانات بالصورة الصحيحة
فكرة ان يتم توزيع 50-75-100 الى ان يكون كل رقم لك فى سطر الامر سهل
وبسيط جداً ولا يوجد به اى تعقيد
ولكن ما ستواجه انت هو عملية حفظ البيانات بالنهاية اذا كانت الامر الحفظ بنفس الجدول
قد تصل بكتابة العديد من الاكواد حتى تقوم بالحفظ وما شبه
على اى حال ما قمت بكتابته هو للتنبيه لك
وقد لا اعلم الصورة الكاملة للبرنامج وقاعدة البيانات الخاصة بك
وقد اكون مخطاء فى ما لاحظته من حيث الوصف والشكل لكن لا خجل فى ان اقوم بالتنبيه
فاليك ما تريده من كود كود : Dim ss As String = "50-75-100"كل ما عليك حذف سطر كود : Dim ss As String = "50-75-100"واستبدال الجملة كود : ss.Split("-")بنتائج جلب بيانات الـ Dose ليصبح كمثال كود : DT(0)("Doses").Split("-")اتمنى ان يكون الكود بسيط لك
ويمكنك التعامل معه بكل سهولة
تحياتى لك
وتمنياتى لك التوفيق
RE: ربط قاعدة بيانات أكسس مع Combobox - Doctor GME - 26-07-18 أخى العزيز أشكرك أولاً على الرد ومحاولة المساعدة البرنامج متعدد المراحل وهذه فقط مرحلة لم أستطع حلها يوجد جزء آخر منه خاص بقياس الوزن والجرعة ولكن هذا الجزء مثل قاموس يستحضر أسماء الأدوية المتداولة سوقياً وجرعاتها وبالتالى لن يتم التعديل فيه أو الكتابة عليه إلا من خلال قاعدة البيانات وهذا أمر سهل واجهت مشكلة فى تطبيق الكود للأسف ولهذا سأحاول التوضيح لك أكثر هناك 3 من combobox كما فى الصورة لنفترض أن أسمائهم بالترتيب Combobox1,Combobox2,Combobox3 وهناك 3 أعمدة فى قاعدة البيانات كما فى الصورة أسماء الأدوية ستكون مسجلة فى combobox1 أريد من البرنامج أن يطابق المكتوب فى combobox1 بقاعدة البيانات ويستحضر ما يقابله من العمود dose ويكتبه فى combobox2 على أن يفصل بين كل جرعة وأخرى (-) أى كل item داخل ال combobox مفصول ب (-) فى قاعدة البيانات ثم الجزء الأخير الجرعة التى يتم اختيارها فى combobox2 يتم استحضار ما يقابلها فى المكان وإضافته هو فقط داخل combobox3 وبهذا أكون قد أوضحت فائدة البرنامج هو عدم الخلط عل الطبيب فقط فى كتابة جرعة دواء غير متاحه فى السوق أى مثلاً العقار الفلانى يكون متاح منه جرعات 50 و 60 و 70 وطريقى تعاطى كل واحدة ترافقها وأكون شاكراً لو كان لك أى آراء فى وضع قاعدة بيانات أفضل RE: ربط قاعدة بيانات أكسس مع Combobox - elgokr - 26-07-18 (26-07-18, 10:38 PM)Doctor GME كتب : أخى العزيز أشكرك أولاً على الرد ومحاولة المساعدة لا عليك اخى Doctor GME
حتى اسهل الامر عليك اكتر وان تقوم استخدام الكود مباشراً
كا ما ساحتاج منك وضع السورس هنا او وضع كود الاستعلام الذى تستخدمه كاملاً
حتى اسهل عليك الامر وبدلاً من كتابة كود من حيث تطبيق الفكرة
ولا تتمكن من تنفيذه كما سبق فى ردى السابق
وكل ما ساقوم باضافته لك عن الكود السابق
هو كود الاستعلام عند تحديد اسم الدواء من combobox1
ليقوم بجلب بيانات كلاً من
dose - route
وتنفيذ الكود المدرج فى ردى السابق ليعرض النتائج فى كلاً من
combobox2 - combobox3
تحياتى لك
وتمنياتى لك التوفيق
RE: ربط قاعدة بيانات أكسس مع Combobox - Doctor GME - 27-07-18 شكراً جزيلاً لاهتمامك هذه الواجهه الرئيسية وهذه قاعدة البيانات وكما تلاحظ الكود الذى وضعته فقط لإضافة قائمة أسماء نوعين من الأدوية إلى combobox المسمى MedType عندما يتم اختيار Analgesics مثلاً يظهر داخل combobox2 المسمى MedName القائمة التى داخل قاعدة البيانات يتبقى فقط ما يحدث عند اختيار دواء فى MedName أى ظهور جرعاته داخل combobox3 المسمى MedDose كما سبق وشرحت لك وأخيراً ما يحدث عند اختيار جرعة من MedDose وظهور فقط الطريقة المقابله لها (وليس كل الطرق) فى آخر combobox والمسمى MedRoute كود البرنامج كود : Imports System.Data.OleDbRE: ربط قاعدة بيانات أكسس مع Combobox - elgokr - 27-07-18 قم فقط باستبدال منطقة MedType_SelectedIndexChanged بالكود التالى كود : Private Sub MedType_SelectedIndexChanged(sender As Object, e As EventArgs) Handles MedType.SelectedIndexChangedولاحظ الفرق بين الكود السابق الذى كنت تستخدمه
وبعد الاستبدال
ملحوظة: بخصوص جدول (Analgesics) و (Antibiotics)
يجب ان يكون كلاهما ترتيبهم كما فى الصورة لديك وهو
0:ID1:Ana/Ant 2:Doses 3:Routes حيث ان التالى المقصود به عمود ( Antibiotics / Analgesics ) وهو الـ Name كود : dr.Item(1)حيث ان التالى المقصود به عمود ( Doses ) والمقصود به Dose كود : dr.Item(2)حيث ان التالى المقصود به عمود ( Routes ) والمقصود به Route كود : dr.Item(3)اتمنى الصورة كاملاً وضحت لك
والكود هنا سيقوم باخد نتائج الاولى فقط لكلا من Doses و Routes وسيقوم بعرضها
حيث ان المدخل الاول فارغ لم يقوم بعرض اى شئ وتم عمل الكود بنائاً على الصورة
فيجب ان كلا من الجداول يتشابه النتائج للمدخل الاول...
ولضمان عرض نتائج الجدول بترتيب تصاعدى حيث من A:Z
اجعل كود الاستعلام بدلاً من
كود : select * from Analgesicsاجعله كود : select * from Analgesics ORDER BY ID ASCوطبق ذلك ايضاً فى الاستعلام الاخر..
اتمنى ان الصورة مكتملة لك ومبسطة
تحياتى لك
وتمنياتى لك التوفيق
RE: ربط قاعدة بيانات أكسس مع Combobox - Doctor GME - 27-07-18 للأسف لم يعمل وهذا كود الخطأ كما أننى حاولت مع الصيغتين select * from Analgesics select * from Analgesics ORDER BY ID ASC ولم ينجح الأمر وقمت بتعديل قاعدة البيانات ونسخ القيم داخل جميع الخانات حتى لا تكون هناك خانة فارغة ومازال نفس الخطأ كما أنك أسأت فهمى قليلاً فى التطبيق فأنا أريد أن يمتلئ ال combobox الخاص بال Dose بعد أن يتم اختيار الدواء فى ال combobox الخاص بال name ويظل ال combobox الخاص بال route فارغاً حتى يتم اختيار الجرعة من combobox ال Dose وعندها عند الضغط عليه يظهر ال item الوحيد المقابل للجرعة التى تم اختيارها أما الكود الذى وضعته فهو يملأ كل ال combobox فى وقت واحد وشكراً لمجهودك ومثابرتك RE: ربط قاعدة بيانات أكسس مع Combobox - elgokr - 27-07-18 (27-07-18, 06:18 AM)Doctor GME كتب : للأسف لم يعمل اتمنى ان تقوم بارفاق سورس مصغير عن الفورم مع قاعدة البيانات
حتى يتم رؤية ما قمت به
وكتابة الكود مع اختباره واعادة ارفاقه لك
حتى يتم تسهيل الامور لك وعلى من يساعد
حتى تتمكن من انها المطلوب سريعاً
تحياتى لك
وتمنياتى لك التوفيق
RE: ربط قاعدة بيانات أكسس مع Combobox - Doctor GME - 27-07-18 ها هو البرنامج كامل بقاعدة بياناته https://files.fm/u/zkpu5qzt واستخدمت صيغتين مختلفتين كما سبق وقلت ولكن نفس الخطأ يظهر وقاعدة البيانات مرفقة فى مجلد debug RE: ربط قاعدة بيانات أكسس مع Combobox - elgokr - 27-07-18 يبدو ان الموقع المستخدم يوجد به بعض الفيروسات
فبرنامج الحماية يقوم بحظر الموقع عند اتمام التحميل
او قم برفق السورس بالمرفقات
تحياتى لك
وتمنياتى لك التوفيق
|