parniant
پنج شنبه 30 آبان 1387, 08:25 صبح
با سلام
من تو برنامم سالهای مختلف رو ثبت می کنم و به ازای هر سال ترم رو هم ثبت می کنم (و رشته هایی رو که می خوام در اون سال ثبت بشن ) و برای سال و ترم از combobox استفاده می کنم و می خوام وقتی که سال مثلا 85-86 رو در combobox انتخاب می کنم ترم های مربوط به اون بیاد و در دستورات مربوط به comboboxchange می گم هر موقع سال مشابه سال موجود در coimbobox است ترم اون رو در combo مربوط به ترم نشان دهد اما مشکلی که دارم اینه که چون با یک سال و ترم درسهای زیادی ثبت کرده ام به ازای یک سال مثلا 85-86 چند ترم 1 و چند تا هم ترم 2 نشان داده می شوند در حالی که من می خوام اگه در اون سال ترم مثلا 1 ثبت شده است اونو فقط یکبار نشون بده از distinct استفاده می کنم اما چون دی بی گریدم به adoquery مربوط به این combobox متصل است فقط ستون مربوط به ترم پر است و بقیه ستون ها خالی است از group by هم استفاده می کنم اما پیغام خطا می دهد (البته شاید طریقه بکارگیری اش را درست نمی دانم )
ADOQuery4.Close;
adoquery4.SQL.Add('select distinct tterm,* from ttclocknahaye ');
ADOQuery4.SQL.Add('WHERE (tyear LIKE''' + combobox1.TEXT+'%'')order by ido');
adoQuery4.Open;
adoQuery4.First;
while not adoQuery4.Eof do
begin
ComboBox4.Items.Add(ADOQuery4.FieldValues['tterm']);
adoQuery4.Next;
end;
و این هم در مورد group by
adoquery4.SQL.Add('select tterm,* from ttclocknahaye ');
ADOQuery4.SQL.Add('WHERE (tyear LIKE''' + combobox1.TEXT+'%'')group by tterm');
adoQuery4.Open;
while not adoQuery4.Eof do
begin
ComboBox4.Items.Add(ADOQuery4.FieldValues['tterm']);
adoQuery4.Next;
end;
ممنون می شم کمک کنید
من تو برنامم سالهای مختلف رو ثبت می کنم و به ازای هر سال ترم رو هم ثبت می کنم (و رشته هایی رو که می خوام در اون سال ثبت بشن ) و برای سال و ترم از combobox استفاده می کنم و می خوام وقتی که سال مثلا 85-86 رو در combobox انتخاب می کنم ترم های مربوط به اون بیاد و در دستورات مربوط به comboboxchange می گم هر موقع سال مشابه سال موجود در coimbobox است ترم اون رو در combo مربوط به ترم نشان دهد اما مشکلی که دارم اینه که چون با یک سال و ترم درسهای زیادی ثبت کرده ام به ازای یک سال مثلا 85-86 چند ترم 1 و چند تا هم ترم 2 نشان داده می شوند در حالی که من می خوام اگه در اون سال ترم مثلا 1 ثبت شده است اونو فقط یکبار نشون بده از distinct استفاده می کنم اما چون دی بی گریدم به adoquery مربوط به این combobox متصل است فقط ستون مربوط به ترم پر است و بقیه ستون ها خالی است از group by هم استفاده می کنم اما پیغام خطا می دهد (البته شاید طریقه بکارگیری اش را درست نمی دانم )
ADOQuery4.Close;
adoquery4.SQL.Add('select distinct tterm,* from ttclocknahaye ');
ADOQuery4.SQL.Add('WHERE (tyear LIKE''' + combobox1.TEXT+'%'')order by ido');
adoQuery4.Open;
adoQuery4.First;
while not adoQuery4.Eof do
begin
ComboBox4.Items.Add(ADOQuery4.FieldValues['tterm']);
adoQuery4.Next;
end;
و این هم در مورد group by
adoquery4.SQL.Add('select tterm,* from ttclocknahaye ');
ADOQuery4.SQL.Add('WHERE (tyear LIKE''' + combobox1.TEXT+'%'')group by tterm');
adoQuery4.Open;
while not adoQuery4.Eof do
begin
ComboBox4.Items.Add(ADOQuery4.FieldValues['tterm']);
adoQuery4.Next;
end;
ممنون می شم کمک کنید