combobox itemindex atama
-
- Üye
- Mesajlar: 386
- Kayıt: 02 Tem 2007 09:43
combobox itemindex atama
değerli arkadaşlar;
QryAylar.Close;
QryAylar.SQL.Text := 'select aciklama,vadesi from carihrkt where (extract(month from vadesi) = 10)';
QryAylar.Open;
yukarıdaki kod mevcut haliyle çalışıyor ancak ben 10 değerini combobox'ın itemindexi ile program içinde değiştirmek istiyorum.
combobox1.itemindex numarasının atanmasını sağlayabilirmiyim aşağıdaki gibi, inşallah anlatabildim.
QryAylar.Close;
QryAylar.SQL.Text := 'select aciklama,vadesi from carihrkt where (extract(month from vadesi) = combobox1.itemindex)';
QryAylar.Open;
kolay gelsin,
QryAylar.Close;
QryAylar.SQL.Text := 'select aciklama,vadesi from carihrkt where (extract(month from vadesi) = 10)';
QryAylar.Open;
yukarıdaki kod mevcut haliyle çalışıyor ancak ben 10 değerini combobox'ın itemindexi ile program içinde değiştirmek istiyorum.
combobox1.itemindex numarasının atanmasını sağlayabilirmiyim aşağıdaki gibi, inşallah anlatabildim.
QryAylar.Close;
QryAylar.SQL.Text := 'select aciklama,vadesi from carihrkt where (extract(month from vadesi) = combobox1.itemindex)';
QryAylar.Open;
kolay gelsin,
İsteyen, yapabildiğinden daha fazlasını yapar.
Re: combobox itemindex atama
s.a.
öncelikle kodlarınızı code tagı kullanarak yazarsanız daha okunaklı olur.
cevap olarak da evet yapabilirsiniz. itemindex integer tipinde olduğu için inttostr ile string e dönüştürmeniz lazım. gibi bişey olur.
kolay gelsin.
öncelikle kodlarınızı code tagı kullanarak yazarsanız daha okunaklı olur.
cevap olarak da evet yapabilirsiniz. itemindex integer tipinde olduğu için inttostr ile string e dönüştürmeniz lazım.
Kod: Tümünü seç
sql:='select a,b,c,d from xxx where abc='+inttostr(combo.itemindex);
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
-
- Üye
- Mesajlar: 386
- Kayıt: 02 Tem 2007 09:43
Re: combobox itemindex atama
yapmaya çalıştığım işin ne olduğunu önce anlatayım. benim bir çek tablom var. bütün çeklerimi dbgridde listeliyorum. bir adet combobox ekledim. combobox in items ine EYLÜL, EKİM, KASIM diye aylarını ekledim.
combobox ın onchange ine aşagıdaki kodu yazarak listeden ayları seçtikçe seçilen aya ait çekleri listeletmek istiyorum. ilk yazdığım mesajda, 10 değeri yerine itemindexin sayısal değerini atamak istiyorum. combobox tan seçilen items in index numarasına göre 10 değerinin değişmesini istiyorum. aşağıdaki koddu verdiğiniz bilgilere göre değiştirmeye çalıştım ama yapamadım. bilgilerinizi tekrar rica edebilirmiyim.
query1.Close;
query1.SQL.Text := 'select aciklama,vadesi from tablo1 where extract(month from vadesi) ='+inttostr(cxcombobox1.itemindex);
query1.Open;
combobox ın onchange ine aşagıdaki kodu yazarak listeden ayları seçtikçe seçilen aya ait çekleri listeletmek istiyorum. ilk yazdığım mesajda, 10 değeri yerine itemindexin sayısal değerini atamak istiyorum. combobox tan seçilen items in index numarasına göre 10 değerinin değişmesini istiyorum. aşağıdaki koddu verdiğiniz bilgilere göre değiştirmeye çalıştım ama yapamadım. bilgilerinizi tekrar rica edebilirmiyim.
query1.Close;
query1.SQL.Text := 'select aciklama,vadesi from tablo1 where extract(month from vadesi) ='+inttostr(cxcombobox1.itemindex);
query1.Open;
İsteyen, yapabildiğinden daha fazlasını yapar.
Re: combobox itemindex atama
s.a.
yapamadım derken kodlar hata mı verdi yoksa istediğiniz sonuç mu dönmedi.
Ben istediğiniz sonuç dönmediği şeklinde yorumluyorum ve aşağıdaki cevap ona göre verilmiştir.
O zaman direk itemindex kullanmak yerine itemindex +9 demeniz gerekiyor.
EYLÜL=9.ay=itemindex(sıfır oluyor)+9
EKİM=10.ay=itemindex(1 oluyor)+9
KASIM=11.ay=itemindex(2 oluyor)+9
kolay gelsin.
yapamadım derken kodlar hata mı verdi yoksa istediğiniz sonuç mu dönmedi.
Ben istediğiniz sonuç dönmediği şeklinde yorumluyorum ve aşağıdaki cevap ona göre verilmiştir.
O zaman direk itemindex kullanmak yerine itemindex +9 demeniz gerekiyor.
EYLÜL=9.ay=itemindex(sıfır oluyor)+9
EKİM=10.ay=itemindex(1 oluyor)+9
KASIM=11.ay=itemindex(2 oluyor)+9
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
-
- Üye
- Mesajlar: 386
- Kayıt: 02 Tem 2007 09:43
Re: combobox itemindex atama
öncelikle cevap yazmada geciktiğim için özür dilerim. kod hata verdi calışmadı. ama uzun yoldan da olsa sorunu hallettim.
şu şekilde hallettim. 12 adet query kullandım (her taraf Query ile doldu
) her birinin itemsine aşağıdaki kodların bir tanesini ekledim.
select aciklama,vadesi from tablo1 where extract(month from vadesi) =1 (ocak ayının querisine)
select aciklama,vadesi from tablo1 where extract(month from vadesi) =2 (şubat ayının querisine)
select aciklama,vadesi from tablo1 where extract(month from vadesi) =3 (mart ayının querisine)
select aciklama,vadesi from tablo1 where extract(month from vadesi) =4 ....
daha sonra combobox ın onchange ine aşağıdaki koddan, her itemindex için ayrı ayrı kullandım.
CxGrid1DBTableView1.DataController.DataSource :=Datasourceocak;
QryOcak.Close;
QryOcak.Open;
comboboxın items ine de bütün ayları ekledim. programı çalıştırınca combobox tan hangi ayı seçiyorsam o ayın çek listesi gelmekte.
biraz uzun oldu ama ne yapalım.
iyi çalışmalar;
şu şekilde hallettim. 12 adet query kullandım (her taraf Query ile doldu

select aciklama,vadesi from tablo1 where extract(month from vadesi) =1 (ocak ayının querisine)
select aciklama,vadesi from tablo1 where extract(month from vadesi) =2 (şubat ayının querisine)
select aciklama,vadesi from tablo1 where extract(month from vadesi) =3 (mart ayının querisine)
select aciklama,vadesi from tablo1 where extract(month from vadesi) =4 ....
daha sonra combobox ın onchange ine aşağıdaki koddan, her itemindex için ayrı ayrı kullandım.
CxGrid1DBTableView1.DataController.DataSource :=Datasourceocak;
QryOcak.Close;
QryOcak.Open;
comboboxın items ine de bütün ayları ekledim. programı çalıştırınca combobox tan hangi ayı seçiyorsam o ayın çek listesi gelmekte.
biraz uzun oldu ama ne yapalım.

iyi çalışmalar;
İsteyen, yapabildiğinden daha fazlasını yapar.
Re: combobox itemindex atama
s.a.
arkadaşım eğer combobox a bütün ayları dolduracaksan direk combobox un itemindexini kullansana.
arkadaşım eğer combobox a bütün ayları dolduracaksan direk combobox un itemindexini kullansana.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
-
- Üye
- Mesajlar: 386
- Kayıt: 02 Tem 2007 09:43
Re: combobox itemindex atama
s.a.
sql:='select a,b,c,d from xxx where abc='+inttostr(combo.itemindex);
yazmış olduğunuz yukarıdaki kod sistemini kullanmıştım kod hata vermişti. şu şekilde kullanmıştım,
query1.SQL.Text := 'select aciklama,vadesi from tablo1 where extract(month from vadesi) ='+inttostr(cxcombobox1.itemindex);
ama bir sonuç alamayınca her ay için ayrı query kullanmak zorunda kaydım. combobox ın itemindex ini nasıl atayabilirim.
kolay gelisin,
sql:='select a,b,c,d from xxx where abc='+inttostr(combo.itemindex);
yazmış olduğunuz yukarıdaki kod sistemini kullanmıştım kod hata vermişti. şu şekilde kullanmıştım,
query1.SQL.Text := 'select aciklama,vadesi from tablo1 where extract(month from vadesi) ='+inttostr(cxcombobox1.itemindex);
ama bir sonuç alamayınca her ay için ayrı query kullanmak zorunda kaydım. combobox ın itemindex ini nasıl atayabilirim.
kolay gelisin,
İsteyen, yapabildiğinden daha fazlasını yapar.
Re: combobox itemindex atama
s.a.
öncelikle "hata verdi" ifadesinin bir anlamı yok. çünkü bir çok sebebten dolayı hata verebilir. Hata mesajını söylerseniz ona göre yardım etmemiz daha kolay olur.
satırını
şeklinde yaparsan tek satırda problemi halletmiş olursun.
bunun yerine parametre kullanarak da yapabilirsin.
kolay gelsin.
öncelikle "hata verdi" ifadesinin bir anlamı yok. çünkü bir çok sebebten dolayı hata verebilir. Hata mesajını söylerseniz ona göre yardım etmemiz daha kolay olur.
Kod: Tümünü seç
select aciklama,vadesi from tablo1 where extract(month from vadesi) =1
Kod: Tümünü seç
q.sql.clear;
q.sql.add('select aciklama,vadesi from tablo1 where extract(month from vadesi) ='+inttostr(combo.itemindex));
bunun yerine parametre kullanarak da yapabilirsin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
-
- Üye
- Mesajlar: 386
- Kayıt: 02 Tem 2007 09:43
Re: combobox itemindex atama
sayenizde sonunda güzel oldu.
sabırla beni dinleyip sorularıma cevap verdiğiniz için













İsteyen, yapabildiğinden daha fazlasını yapar.