Merhaba Arkadaşlar, önce kullanmış olduğum bileşenleri yazayım, sonra soruma geçeyim.
Bileşenler
DataModül
- ADOConnection
- ADOQuery
- DataSource
Program içerisinde ADOConnection ile farklı DB'lere bağlantı yapıyorum, aynı şey ADOQuery için de geçerli. ADOQuery için tasarım aşamasında calculated alan oluşturamıyorum çünkü parametreler (DB adı, fieldlar belli değil), bunun için calculated alanı runtime esnasında oluşturmam gerek ama bu konu hakkında çözüm bulamadım. Daha önceden böyle bir çalışma yapan var mı?
Runtime Calculated alan tanımlaması (çözüldü)
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Runtime Calculated alan tanımlaması (çözüldü)
En son sunye tarafından 25 Eki 2011 09:08 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Bildiğim tek şey, hiç bir şey bilmediğim.
- doctorfunks
- Üye
- Mesajlar: 105
- Kayıt: 26 Oca 2005 10:37
- Konum: İstanbul
Re: Runtime Calculated alan tanımlaması
slm,
elimde şuanda kod yok ama fikir olması açısından yazayım;
AdoQuery.Oncalculation methodu ile ilgili kaç farklı alternatif tablo ve calculate alan seçeniğiniz varsa bunların MyCalculate1-2-3 sabit yapın ,zaten alanlar sabit olduğunndan bir şekilde if yada böle bi yönteme başvuracaksınız,
daha sonra connection ve tablo bağlantınız nereye ise ona göre o anda adoquery oncalculation eventını hazırladığınız MyCalculate methoduna yönlendirin, (bu methodun içindede query'ye ilgili calc alan ismi tipini eklersiniz)...
elimde şuanda kod yok ama fikir olması açısından yazayım;
AdoQuery.Oncalculation methodu ile ilgili kaç farklı alternatif tablo ve calculate alan seçeniğiniz varsa bunların MyCalculate1-2-3 sabit yapın ,zaten alanlar sabit olduğunndan bir şekilde if yada böle bi yönteme başvuracaksınız,
daha sonra connection ve tablo bağlantınız nereye ise ona göre o anda adoquery oncalculation eventını hazırladığınız MyCalculate methoduna yönlendirin, (bu methodun içindede query'ye ilgili calc alan ismi tipini eklersiniz)...
Re: Runtime Calculated alan tanımlaması
Kusura bakma hocam, sabahtan beri aynı problem ile uğraştığımdan beynim almıyor artık. Belki dediğini yarın okursam anlarım ama şu an için bana bir şey ifade etmedi.
Sorunum kısaca şu aslında;
OnayDegeri diye alanım var Değer : 6 ise onaylanmış 7 ise onaylanmamış yazacağım. cxGrid kullanıyorum (dbgrid'e de dönebilirim). CXGrid'e dışarıdan doğrudan müdahale edemediğim için sorunu calculated alana taşıyorum...

Sorunum kısaca şu aslında;
OnayDegeri diye alanım var Değer : 6 ise onaylanmış 7 ise onaylanmamış yazacağım. cxGrid kullanıyorum (dbgrid'e de dönebilirim). CXGrid'e dışarıdan doğrudan müdahale edemediğim için sorunu calculated alana taşıyorum...
Bildiğim tek şey, hiç bir şey bilmediğim.
Re: Runtime Calculated alan tanımlaması
gettext
Diye arattırın.
Diye arattırın.
Bir kelimenin anlamını öğretsen bile yeter..



Re: Runtime Calculated alan tanımlaması
_http://stackoverflow.com/questions/2523697/adding-a-calculated-field-to-a-query-at-run-time
arada yüce google a sormakta fayda var
kolay gele
arada yüce google a sormakta fayda var
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: Runtime Calculated alan tanımlaması
@freeman35,
Dediğin sayfayı, google amcadan bende bulmuştum ama daha pratik bir yöntem var mıdır diye sordum, her calculated alan için kod fazlalığı oluyor,
@conari,
Gettext olayı için yine tasarım zamanında calculated alan oluşturman gerekiyor diye hatırlıyorum, tam emin değilim.
Çözüm :
Select Field1, Field2, Field3, (Case Field4 when 6 then 'Onaylanmış' when 7 then 'Onaylanmamış' end) from TBLSipaMas
SQL query ile sorunumu çözmüş oldum, yardımlarınız için teşekkür ederim.
Dediğin sayfayı, google amcadan bende bulmuştum ama daha pratik bir yöntem var mıdır diye sordum, her calculated alan için kod fazlalığı oluyor,
@conari,
Gettext olayı için yine tasarım zamanında calculated alan oluşturman gerekiyor diye hatırlıyorum, tam emin değilim.
Çözüm :
Select Field1, Field2, Field3, (Case Field4 when 6 then 'Onaylanmış' when 7 then 'Onaylanmamış' end) from TBLSipaMas
SQL query ile sorunumu çözmüş oldum, yardımlarınız için teşekkür ederim.
Bildiğim tek şey, hiç bir şey bilmediğim.
Re: Runtime Calculated alan tanımlaması (çözüldü)
Şöyle Field4 ün gettext eventine;
Kod: Tümünü seç
if sender.value<>null then
case sender.value of
6:text:='Onaylanmış';
7:text:='Onaylanmamış';
end;
Bir kelimenin anlamını öğretsen bile yeter..


