PDA

نسخه کامل مشاهده نسخه کامل : پر کردن combobox با query در دلفی 2005



sara_she
16-06-2008, 11:25
سلام

من یک query دارم که یک سری رکورد رو از بانک استخراج می کنه که شامل رکورد های تکراری هم می شه. حالا می خوام combobox رو با اطلاعات یک فیلد خاص از این query پر کنم . این کار رو با یک حلقه for انجام می دم و درست انجام می شه ولی مشکل اینجاست که نمی خوام combobox حاوی اطلاعات تکراری باشه یعنی فیلدهای تکراری از query فقط یکبار تو combobox قرار بگیرند این کار رو چطور می تونم انجام بدم؟

ممنون از همکاریتون

Mah6447
16-06-2008, 14:42
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sara_she
16-06-2008, 20:21
ممنون از توجهتون من کد رو به صورت زیر نوشتم


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و با این کد همونطور که قبلا گفتم کار می کنه یعنی فیلدهای تکراری رو هم تو comboboxوارد می کنه طبق گفته شما کد رو به صورت زیر نوشتم ولی هنوز درست نشده



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مشکل کجاست؟

mojtaba-design
17-06-2008, 06:21
سلام دوست عزيز اين كه كاري نداره
تو دستورات SQL كوئري اين رو اضافه كن :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

راستي اين Distinct كارش اينه كه موارد اضافي رو حذف ميكنه .

Mah6447
17-06-2008, 06:39
از کد زیر استفاده کنید . تست کردم جواب داد . موفق باشید .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sara_she
21-06-2008, 11:08
سلام
ممنون از توجهتون

در جواب آقا مجتبی باید بگم من query رو همین جوری لازم دارم با تکرار چون می خوام تکرارها توی دیتا گرید نمایش داده بشه پس نمی تونم از distinct استفاده کنم

اما طبق گفته شما کد رو نوشتم


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ولی باز درست نشد

با while هم درست نشد:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sara_she
21-06-2008, 12:54
متوجه شدم مشکل کجاست من کد رو به صورت زیر می نوشتم:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و باید به صورت زیر باشه:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

یعنی علامت ' رو در کد if Not ComboBox2.Items.IndexOf(name)>-1 Then نباید بذاریم

البته اگه nameاز نوع integerباشه باید بنویسیم:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ht2015
30-01-2015, 13:23
يك كدساده براي پر كردن Combo box در دلفي :

dm.Adoq1.Close;
dm.Adoq1.SQL.Clear;
dm.Adoq1.SQL.Add('select distinct(name_ph) from type_phone');
dm.Adoq1.Open;
for I := 1 to dm.Adoq1.RecordCount do
begin
dm.Adoq1.RecNo:=i;
ComboBox1.Items.Add(dm.Adoq1.FieldByName('name_ph' ).AsString);
end;