delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف ادراج اسماء الزبائن في مكون combobox دون تكرار الاسم
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
كيف نقوم ادراج اسماء الزبائن في مكون combobox دون تكرار الاسم
متلا في جدول الزبائن اسم الحقل هو اسم الزبون في كل مرة نبيع سلعة هناك زبون جديد او نفس الزبون

وشكرا
من جدول الزبائن طبعا
اضافة العنصر dblookupcombobox وربطه مع الجدول الزبائن
listsource : datasource 1 or 2 or 3 ..
listField : اسم الحقل
KeyField : اسم حقل المفتاح الاساسي لجدول الزبائن
إقتباس :كيف نقوم ادراج اسماء الزبائن في مكون combobox ولا يمكننا تكرار الاسم
من خصائص الحقل (اسم الزبون)
اختر عدم تكرار
شكرا لك
لكن اردت استعمال combobox لانه احسن من dblookupcombobox
هل من طريقة لاستعمال combobox
وعليكم السلام

تفضل أخي،
كود :
Table1.First; while not Table1.Eof do begin ComboBox1.Items.Add(Table1Users.value); Table1.Next; end;
Table1 : إسم الجدول
Table1Users : حقل اسم الزبون أو رقمه
السلام عليكم...

للحصول على قائمة بالأسماء دون تكرار تحتاج إلى استعمال المكون Query (أو ADOQuery) مع جملة SQL كالتالي:
كود :
SELECT DISTINCT CustName FROM Customers
لاحظ وجود كلمة DISTINCT التي تمنع التكرار. الجملة السابقة ضعها في الخاصية SQL للـ Query أثناء التصميم، أو بالكود:
كود :
// احذف السطرين التاليين إذا كتبت الجملة أثناء التصميم Query1.Close; Query1.SQL.Text := 'SELECT DISTINCT CustName FROM Customers'; // ======================================== Query1.Open while not Query1.Eof do begin ComboBox1.Items.Add(Query1.FieldByName('CustName').AsString); Query1.Next; end; Query1.Close;

و يمكنك إضافة عبارة ORDER BY لجملة SELECT لترتيب الأسماء:
كود :
SELECT DISTINCT CustName FROM Customers ORDER BY CustName

نرجو الاستفادة و السلام.
شكرا لكم
طريقة ناجحة ولكن يتكرر الاسم
هل من طريقة لعدم تكرار الاسم
السلام عليكم...

مستحيل أن يتكرر الاسم بوجود كلمة distinst ضمن عبارة select.
إذا لم تضبط معك فأرفق قاعدة البيانات.

سلام.
شكرا جزيلا لكم وخاصة Najy Ibraheem
نجحت العملية مع Query و تعليمة distinct فهي لا تعيد تكرار الاسم
كود :
procedure TForm1.Button1Click(Sender: TObject); begin Query1.Close; Query1.SQL.Text := 'SELECT DISTINCT client FROM ventes'; Query1.Open; while not Query1.Eof do begin ComboBox1.Items.Add(Query1.FieldByName('client').AsString); Query1.Next; end; Query1.Close; end; end.
تحياتي لكم