تحميل عناصر من adotable الى combobox
#1
السلام عليكم يا اخوي احتاج معرفة كيفية تحميل عناصر من حقل في adotable فيها عناصر مكررة الى combobox من غير تكرير العناصر التي نفسها
الرد
#2
[INDENT]
وعليكم السلام ورحمة الله وبركاته ،
تعود أخي الحبيب في حالة إذا استصعب عليك برنامج أو إجراء أن تقسمه إلى إجراءات أقل .
في سؤالك تحتاج إلى مايلي :
1- تقوم بقراءة محتوى المصفوفة من الأول إلى آخر سجل ،
كود :
While Not ADOTable.EOF do begin الإجراء الذي تريد أن تقوم به لا تنس طبعا ADOTable1.Next end

2-تحتاج إلى قراءة كل الأسطر الموجودة في ComboBox و مقارنتها بالسجل الحالي ل ADOTable1

إليك بعض المعلومات :
* لمعرفة عدد الأسطر التي يحويها ال ComboBox :

كود :
ComboBox1.Items.count

* لقراءة من أول سطر إلى آخر سطر لل ComboBox
كود :
FOR I := 0 To ComboBox1.Items.count -1 do begin end
طبعا أول سطر يبدأ دليله من 0

* لإضافة السجل إلى ComboBox :

كود :
ComboBox1.Items.add(َADOTable1.FieldByName('FiledName').AsString)

الباقي عليك،
حاول و أرفق المحاولة.
بالتوفيق أخي الحبيب.
[/INDENT]
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#3
شكرا يا اخي ولكن **** عدم تكرار البيانات التي نفسها موجودة في الحقل الىcombobox
الرد
#4
[INDENT]
طيب أخي الحبيب ، إذا كان ال ComboBox فارغ إبتداءا ن فلماذا لا تستعمل أوامر ال sql و ADOQuery بدلا من ADOTable

الSQL أسهل ، وتعليمة بسيطة جدا ، مثلا جدول يحوي اسماء الزبائن والأسماء مكررة ،

التعليمة التالية تعطيك جميع الأسماء بما فيها المكررة :

كود :
select MyName FROM MyTable

لكن التعليمة التالية تلغي الأسماء المكررة :

كود :
select [B][color=Red]distinct[/color][/B] MyName FROM MyTable

لمعرفة المزيد عن الSQL

إقتباس :باللغة الإنجليزية
http://www.w3schools.com/sql/

وباللغة الفرنسية
http://sql.sh/
[/INDENT]
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#5
السلام عليكم
اخ djsalam انا عن نفسي لم افهم السآل جيدا حسب ما فهمت لديك ComboBox ملأته يدويا او عند التشغيل الان تريد ان تضيف الى الـ ComboBox اثناء التشغيل عناصر مأخوذة من حقل قاعدة البيانات
يمكنك الاستعانة بالـ StringList يجب ان تكون Sorted خاصية Duplicates مساوية للـ dupIgnore اي ستجاهل التكرار في حالة كان هناك تكرار تقوم بتحميل عناصر الـ ComboBox الى StringList تضيف الى StringList ثم تعيد تحميل العناصر من الـ StringList الى ComboBox ملاحضة الافضل ايضا ان تستخدم distinct كما اشار الاخ Unprogramme
الكود لم اجربه
PHP كود :
procedure TForm1.FormCreate(Sender: TObject);
var
  
StringList: TStringList;
begin
  StringList 
:= TStringList.Create;
  try
    
StringList.Sorted := True;
    
StringList.Duplicates := dupIgnore;
    
StringList.Assign(ComboBox1.Items);

    
ADOTable1.DisableControls;
    
ADOTable1.First;
    while 
ADOTable1.Eof do
    
begin
      StringList
.Add(ADOTable1.FieldByName('FieldName').AsString);
      
ADOTable1.Next;
    
end;
    
ADOTable1.EnableControls;

    
ComboBox1.Items.Assign(StringList);

  finally
    
StringList.Free;
  
end;
end; 
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#6
شكرا جزبلا يا اخوني بارك اللهم فيكم ,,,نجحت العملية معي
____ عندي مشكلة في تحميل الخطوط العربية ,عند تحميلها تظهر لي ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
الرد


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


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