كيف ادراج اسماء الزبائن في مكون combobox دون تكرار الاسم
#1
السلام عليكم
كيف نقوم ادراج اسماء الزبائن في مكون combobox دون تكرار الاسم
متلا في جدول الزبائن اسم الحقل هو اسم الزبون في كل مرة نبيع سلعة هناك زبون جديد او نفس الزبون

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

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

للحصول على قائمة بالأسماء دون تكرار تحتاج إلى استعمال المكون 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

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

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

سلام.
الرد
#8
شكرا جزيلا لكم وخاصة 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.
تحياتي لكم
الرد


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


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