التعامل مع combobox
#1
Question 
السلام عليكم ورحمة الله تعالى وبركاته 

لدي جدول clients منشأ بالاكسس يحتوي على الحقول (الرقم - اسم - رقم الهاتف - العنوان) يعرض في DBGrid

احاول ان اجعل قيم الجدول (الرقم - اسم - رقم الهاتف - العنوان) تظهر في combobox 

اي في سير العملية عند التعديل يوجد edit1 ادخل فيه رقم الزبون الذي اريد تعديله ومن combobox  احدد الحقل الذي سأعدله (الرقم - اسم - رقم الهاتف

- العنوان) وعند الاختيار تعرض قيمة التسجيلة المراد تعديلها اي عند اختار حقل الاسم من combobox يعرض في edit2 لتعديلها ثم التعديل 



وشكرا
الرد
#2
يمكننا تقسيم العملية لمراحل
اوولا اضهار اسماء الحقول في الكومبوبوكس و هدا الاجراء كفيل بالعمل
PHP كود :
procedure TForm1.GetFields;
var
 
 i: Integer;
begin
  ComboBox1
.Clear;
 
 table.Close;
 
 table.Open;
 
 for i := 0 to table.FieldCount -1 do
 
 begin
    ComboBox1
.Items.Add(table.Fields[i].Name);
 
 end;
end;

ثم التعديل على معلومات الحقل المراد ستكون بسيطة بعد ان حصلت على اسماء الحقول 
فمثلا دعنا نقول انك تريد تعديل حقل الاسم بعد اختيار الاسم من الكومبوبوكس
 اختر الحدث المناسب مثلا Onchange او OnCloseUp اجعل الجدول في وضع التعديل table
.edit
بافتراض لديك اداة واحدة لتعديل المعلومات و هي edit1 
يبقة خطوة واحدة و هي انك تخبر الجدول من اين ياخذ القيمة 
لكن يجب ان تحدد الحقل و هذا ما قمنا به قبل قليل و سنحصل على الاسم بسهولة عبر الامر
table
.fieldbyname(combobox1.text) 
Table
.post 
[-] كل من 1 user says قال شكرا ل rahiche على المشاركة المفيدة
  • dalliroot
الرد
#3
مشكور اخي 
لو تفضلت بمزيد من الشرح قليلا مازلت مبتدا واحاول فهم سير العملية وشكرا
الرد
#4
كود ايجاد الحقول بسيط قم بنقله و استبدال الجدول بجدولك الخاص
و الجزء الاخر اختر الحدث الذي تريه مناسب و ضع فيه الكود الخاص به مع تغير اسم الجدول فقط
ماهو الجزء الغامض في العملية
[-] كل من 1 user says قال شكرا ل rahiche على المشاركة المفيدة
  • dalliroot
الرد
#5
(28-10-2017, 08:11 PM)rahiche       اشكرك جزيل الشكر هذا هو كيف اضفت الكود كتب :
كود :
procedure TForm1.GetFields; var i: Integer; begin ComboBox1.Clear; ClientsTable.Close; ClientsTable.Open; for i := 0 to ClientsTable.FieldCount -1 do begin   ComboBox1.Items.Add(ClientsTable.Fields[i].Name); end; end; procedure TForm1.ComboBox1Change(Sender: TObject); begin ClientsTable.fieldbyname(combobox1.Text); ClientsTable.post; end; procedure TForm1.FormCreate(Sender: TObject); begin GetFields; end;

تظهر الحقول في الكومبوبوكس فارغة بدون اسماء كما في الصورة 
[صورة: ercHeFBanJFHd9KmZSGGGGqsBjRvHsN93frBRDpm...12-h794-no]

حتى وعند اختيار احد الحقول الفارغة تلك يحدث خطأ (clientstable: field not found)

[صورة: kE_OAM3C08lLnkesSUllxnEwFyZjJnQ3Fm7cDxZk...12-h794-no]
الرد


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


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