المشاركات : 11
المواضيع 6
:
: 5
الإنتساب : Jan 2016
28-10-2017, 11:38 AM
السلام عليكم ورحمة الله تعالى وبركاته
لدي جدول clients منشأ بالاكسس يحتوي على الحقول (الرقم - اسم - رقم الهاتف - العنوان) يعرض في DBGrid
احاول ان اجعل قيم الجدول (الرقم - اسم - رقم الهاتف - العنوان) تظهر في combobox
اي في سير العملية عند التعديل يوجد edit1 ادخل فيه رقم الزبون الذي اريد تعديله ومن combobox احدد الحقل الذي سأعدله (الرقم - اسم - رقم الهاتف
- العنوان) وعند الاختيار تعرض قيمة التسجيلة المراد تعديلها اي عند اختار حقل الاسم من combobox يعرض في edit2 لتعديلها ثم التعديل
وشكرا
المشاركات : 531
المواضيع 96
:
: 118
الإنتساب : Jun 2014
يمكننا تقسيم العملية لمراحل
اوولا اضهار اسماء الحقول في الكومبوبوكس و هدا الاجراء كفيل بالعمل
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 على المشاركة المفيدة1 user says Thank You to rahiche for this post
• dalliroot
المشاركات : 11
المواضيع 6
:
: 5
الإنتساب : Jan 2016
28-10-2017, 05:46 PM
(آخر تعديل لهذه المشاركة: 29-10-2017, 08:22 AM بواسطة محمد عبد العزيز.)
مشكور اخي
لو تفضلت بمزيد من الشرح قليلا مازلت مبتدا واحاول فهم سير العملية وشكرا
المشاركات : 531
المواضيع 96
:
: 118
الإنتساب : Jun 2014
كود ايجاد الحقول بسيط قم بنقله و استبدال الجدول بجدولك الخاص
و الجزء الاخر اختر الحدث الذي تريه مناسب و ضع فيه الكود الخاص به مع تغير اسم الجدول فقط
ماهو الجزء الغامض في العملية
كل من 1 user says قال شكرا ل rahiche على المشاركة المفيدة1 user says Thank You to rahiche for this post
• dalliroot
المشاركات : 11
المواضيع 6
:
: 5
الإنتساب : Jan 2016
(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;
تظهر الحقول في الكومبوبوكس فارغة بدون اسماء كما في الصورة
حتى وعند اختيار احد الحقول الفارغة تلك يحدث خطأ (clientstable: field not found)