Tabledeki alanlarda işlem

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
seamoon
Üye
Mesajlar: 37
Kayıt: 08 Kas 2005 12:43
Konum: İstanbul

Tabledeki alanlarda işlem

Mesaj gönderen seamoon »

merhaba arkadaşlar,

Access te hazırladığım tabloda Başlangıç tarihi + süresi diye iki alanım var
örneğin Başlangıç tarihi :01.01.2005 süresi:10

şimdi yapmak istediğim şey şu; başlangıç tarihine süreyi ekletip sonuç olarak bitiş tarihini kullanıcıya yansıtıcam... sonuç:01.01.2015

sorun şurda; diyelimki tablomda 50 kayıt var. Bir formda bu 50 kaydın başlangıç ve sürelerini okutum şonuç tarihlerini bu formda kullanıcıya nasıl gösterebilirim?

Not: hesaplamayı nasıl yapacağımı biliyorum. Nasıl okutup listelerim?

yardımlarınızı bekliyorum :shock:
seamoon
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: Tabledeki alanlarda işlem

Mesaj gönderen ALUCARD »

seamoon yazdı: süresi:10
hocam burdaki süre saniyemi dakikamı saatmi onuda bi belirtirsen yardımcı olabiliriz.. :lol:
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
seamoon
Üye
Mesajlar: 37
Kayıt: 08 Kas 2005 12:43
Konum: İstanbul

Mesaj gönderen seamoon »

süre-yıl bazında
ama önemli olan şu benim için; bu kayıtları tablodan okutup sonucu listeleyebilmek
seamoon
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Bir Query ile tablondaki kayıtları çekersin. Ayrıca Query de tanımladığın bir Calculated alanda da bahsettiğin hesaplamayı yaparsın.
DeveloperToolKit

..::|YeşilMavi|::..
seamoon
Üye
Mesajlar: 37
Kayıt: 08 Kas 2005 12:43
Konum: İstanbul

Mesaj gönderen seamoon »

hocam sağol ama önemli olanda bu işte.

yani ben acemi sayılırım. biraz detaylı açıklama lazım.

kusuruma bakma :oops:
seamoon
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Bir zamanın X yıl sonrasını yada eksiğinide şu kodla bulabilirsin.

Kod: Tümünü seç

(IncYear(now,10))
Kod IncMonth ve IncDay olarakda kullanılabiliyor.
Burada dönen sonuç 12.11.2015 olur.Sen orada now yerine başka bir tarih 10 yerine 5 yada -5 istediğin bir sayıyı yazabilir yada parametre verebilirsin.Birinci parametre Date tipinde ikincisi integer.
Ayrıca usese Dateutils eklemeyi de unutma.Kolay gelsin.
seamoon
Üye
Mesajlar: 37
Kayıt: 08 Kas 2005 12:43
Konum: İstanbul

Mesaj gönderen seamoon »

ya arkadaşlar galiba ben derdimi anlatamadım.

sorunum sonucu bulmak değil

sorunum ;
tablodaki tüm kayıtların başlangıç tarihi ve süresini okutup (okutma) hesaplamayı yapıcam ve bir forma listeliycem (listelemek)

sorun: (okutma) ve (listeleme)

yani tabloda 3 tane kayıt olduğunu düşünürsek.
Adı Başlangıç Tarihi Süre
1- Emre 01.01.2005 10
2- Mehmet 01.01.2005 20
3- Ali 01.08.2005 5


forma şöyle çıkacak

emre 01.01.2015 tarihinde süresi doluyor
mehmet 01.01.2025 " " "
Ali 01.08.2010 " " "
seamoon
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Forma birer tane TQuery, TDataSource ve TDBGrid bileşenlerinden koyuyorsun. Query nin Sql ine Select * from TabloAdi yazıyorsun. Query ye çift tıklayıp açılan FieldsEditor e sağ tuş yapıp New Field diyorsun seçeneklerden Calculated i seçiyorsun. Object inspectorden Query nin OnCalc olayına Query1EklediginAlan.Value := .. hesaplaman .. yazıyorsun.
Query yi Datasource a, Datasource u da DBGrid e bağlıyorsun.
Son olarak ta Query1.Active := True; diyorsun...
DeveloperToolKit

..::|YeşilMavi|::..
seamoon
Üye
Mesajlar: 37
Kayıt: 08 Kas 2005 12:43
Konum: İstanbul

Mesaj gönderen seamoon »

çok sağol lazio hocam

ben bu şekilde yapmayı planlamamıştım.
sanırım sorunumu çözecek.

ama şimdi bişe daha çıktı burda nasıl hesaplatıcağımı bilmiyorum

:oops: affına sığınarak yardım diliyorum
seamoon
seamoon
Üye
Mesajlar: 37
Kayıt: 08 Kas 2005 12:43
Konum: İstanbul

Mesaj gönderen seamoon »

Çok teşekkür ederim arkadaşlar

özellikle de sana lazio

istediğimi yapmayı başardım sonunda :)
seamoon
Cevapla