مشكلة معى dbloockupcombobox
#1
السلام عليكم 
لدي 4 جداول ارغب ان اجلب منهم البيانات واضعها في dbgrid استطيع ان اعمل هذا بواسطة اوامر sql لكن ارغب في ان اعطي للمستخدم حرية الادخال 
وما اريده هو ان اضع 4 dbloockupcombobox و button عندما اضغط على البوتون يدخل البيانات الموجودة في dbloockupcombobox في dbgrid مع ظهور مساج تحذيري عند ادخال نفس البيانات وجزاكم الله خيرا
الرد
#2
و عليكم السلام

إذا كان ال dbgrid متصل مع جدول ما, قم بعملية بحث سريعة داخل الجدول فإذا كانت البيانات موجودة تظهر تلك الرسالة و تخرج من التنفيذ و في حال عدم وجود بيانات استخدم adocommand بأن تضع فيها الsql الذي تريد وقم بتنفيذه, طبعا قيم الاستعلام هذا سوف تأخذ من ال dbloockupcombobox.
الرد
#3
السلام عليكم 
يبدوا انني لم اكن واضحا في طريقة سؤالي فقمت بوضع صورة لما ارغب فيه والله الموفق 
[صورة: Capture.JPG]
اذا لم تظهر الصورة هذا رابطها
https://www.dropbox.com/s/57qynbo5wdch8y...e.JPG?dl=0
الرد
#4
طيب لنبدأ:

كود :
if ADOTable1.Locate('yourfield1;yourfield2;yourfield3',VarArrayOf([DBLookupComboBox1.Field.Value,DBLookupComboBox2.Field.Value,DBLookupComboBox3.Field.Value]),[loCaseInsensitive]) then ShowMessage('Already Exist!') else begin ///method 1 ADOCommand1.CommandText:='insert into table ........'; ADOCommand1.Execute; ///or method 2 ADOTable1.Append; ADOTable1.FieldByName('yourfield1').Value:=DBLookupComboBox1.Field.Value; ADOTable1.FieldByName('yourfield2').Value:=DBLookupComboBox2.Field.Value; ADOTable1.FieldByName('yourfield3').Value:=DBLookupComboBox3.Field.Value; ADOTable1.Post; end;
الرد
#5
(22-10-2017, 03:37 AM)PLANSHARP كتب : طيب لنبدأ:

كود :
if ADOTable1.Locate('yourfield1;yourfield2;yourfield3',VarArrayOf([DBLookupComboBox1.Field.Value,DBLookupComboBox2.Field.Value,DBLookupComboBox3.Field.Value]),[loCaseInsensitive]) then ShowMessage('Already Exist!') else begin ///method 1 ADOCommand1.CommandText:='insert into table ........'; ADOCommand1.Execute; ///or method 2 ADOTable1.Append; ADOTable1.FieldByName('yourfield1').Value:=DBLookupComboBox1.Field.Value; ADOTable1.FieldByName('yourfield2').Value:=DBLookupComboBox2.Field.Value; ADOTable1.FieldByName('yourfield3').Value:=DBLookupComboBox3.Field.Value; ADOTable1.Post; end;
للاسف الكود هذا فيه ماشكل 
اولا عندما اختار البيانات من اي dbloockupcombobox فانها تتغير مباشرة داخل dbgrid 
وانا لست اريد ذلك اريد ان تتغير لما اضغط على button 
ثانيا المساج الاول في الكود تقريبا ليس فيه فائدة لانني كلما اعدل سطرا في dbgrid 
عن طريق اختيار البيانات من dbloockupcombobox يظهر المساج وهذا مالا اريده
ثالثا الكود يعدل فقط على بيانات موجودة فعندما ارغب في كتابة سطر جديد في dbgrid 
يظهر خطا 
هذا ما يظهر لي من اخكاء في الكود فارجوا المساعدة والله الموفق
الرد
#6
لم أتوقع أن تكون الdbloockupcombobox مربوطة مع نفس الجدول, وهذا لا ينبغي, وإذا كنت لابد تريد ذلك, حمل تلك اليبانات التي تريدها من كل عمود في combobox ومن ثم استخدم الكود السابق, مع استبدال DBLookupComboBox1.Field.Value, بـ combobox.text
الرد
#7
(26-10-2017, 06:32 PM)PLANSHARP كتب : لم أتوقع أن تكون الdbloockupcombobox  مربوطة مع نفس الجدول, وهذا لا ينبغي, وإذا كنت لابد تريد ذلك, حمل تلك اليبانات التي تريدها من كل عمود في combobox ومن ثم استخدم الكود السابق, مع استبدال DBLookupComboBox1.Field.Value, بـ combobox.text
السلام عليكم 
اولا انا لا ارغب في استعمال dbcombobox لانني سوف اضطر الى ملئها بالبيانات وهذا مالا اريده
ثانيا كل dbloockupcombobox مربوطة بجدول مختلف عن الاخر وليس نفس الجدول 
وانا اريد عندما اضغط على button يجلب البيانات من كل dbloockupcombobox (كل منها مرتبط بجدول مختلف ) ويضعها في جدول واحد حسب الصورة التي رفعتها وهذا رابطها
https://www.dropbox.com/s/57qynbo5wdch8y...e.JPG?dl=0
باختصار ارغب بملا جدول فارغ ببيانات اجلبها من جداول اخر مع شرط هو ان لن يتم اضافة البيانات الا اذا ضغط المستخدم على button 
وجزاكم الله خيرا
الرد


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


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