Listelenen kayıt sayısı

Web tabanlı uygulama geliştirme araçları(PHP, ASP vb...) ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Listelenen kayıt sayısı

Mesaj gönderen callaki »

Merhaba arkadaşlar sorgu sonrasında listelenen kayıtların toplamını bulmakta sorun yaşıyorum.

Kodlarım aşağıdaki gibidir:

Kod: Tümünü seç

set rs = Server.CreateObject("Adodb.Recordset")
sorgu = " select * from fatura where acenta = '"&acenta&"' and tarih2>=#"& tarih3 &"# and tarih2<=#"& tarih4 &"#"
rs.open sorgu,baglanti,1,3
If RS.EOF Then 
Response.Write "Tarih aralığı seçiniz." 
end if
[b]tane = rs.recordcount[/b]
listelenen verilerin toplamı için örneğin tane*tutar için kullanacam ama her listelenen veriler için aynı sonucu vermiyor.

Yardımlarınız için şimdiden teşekkürler.
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Mesaj gönderen callaki »

yukarıdaki sorunumu biraz düşününce çok da mantıklı bir işlem yapmadığımı fark ettim. Amacım access veritabanındaki bir tablonun bir alanında bulunan sayıların toplamını bulmak. Bu yüzden alt alta sıralanan sayılar farklı olacağı için listenen tutarların sayısı ile tutarı çarpmak saçma olur.

Konu hakkında yardımcı olacak kimse yokmu acaba???
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Kullanıcı avatarı
Murat DİCLE
Kıdemli Üye
Mesajlar: 702
Kayıt: 19 Nis 2006 04:12
Konum: İstanbul
İletişim:

Mesaj gönderen Murat DİCLE »

Sorunuzu net anlayamadım. Yardım olmak için iki SQL örneği veriyorum.

Tablodaki satırların (kayıtların) sayısını elde etmek için:

Kod: Tümünü seç

SELECT COUNT(*) FROM FATURA WHERE ....
Tablodaki TUTAR alanlarının toplamasını yapmak için:

Kod: Tümünü seç

SELECT SUM(TUTAR) FROM FATURA WHERE ....
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Mesaj gönderen callaki »

peki hocam toplam tutarı sayfaya nasıl yazdıracam

<%=rs(" ne yazılacak")%>


teşekkürler
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Kullanıcı avatarı
ahmet_sinav
Üye
Mesajlar: 263
Kayıt: 17 Nis 2004 07:44
Konum: İzmir Yeşilyurt Ulu Cami
İletişim:

Mesaj gönderen ahmet_sinav »

iyi calismalar;
select sum(sayisalalan) as toplam from tablo
seklinde yapilabilir.
<%=rs("toplam")%>
yazabilirsiniz.
SQL diline biraz çalışmanızı öneririm. bu konu hakkında sitede çok faydalı konular mevcut. Aramayı kullanabilirsiniz.
Saygılar;
İmam Süleyman Yakub <==> Molla Mustafa Mansur
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Mesaj gönderen callaki »

Konuyla ilgili gerek diğer sitelerde gerek forumda çok arama yaptım ve sonuçları inceledim. Ama yeterli bilgiye erişemedim. en azından kendi seviyeme göre...

Konuyla ilgili sorunuma gelince

Dediğiniz şekilde yaptıktan sonra tabloda bulunan diğer alanlar listelenmiyor örneğin ad, soyad vs.. gibi aldığım hata aşağıdaki gibidir;

Kod: Tümünü seç

Item cannot be found in the collection corresponding to the requested name or ordinal. 
Teşekkürler...
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

O halde select i biraz daha geliştirmeniz gerekmekte;

Kod: Tümünü seç

select adi, soyadi, telefonu,..., sum(tutar) as TopTutar from tablo 
where ...
group by adi, soyadi, telefonu,... 
SUM() ile toplananlar haricindeki alanları GROUP BY da tanımlamak gerekir :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Mesaj gönderen callaki »

@rsimsek ustadım çok teşekkürler ama dediğiniz şekilde yaptıktan sonra toplam tutarı göstermek istediğimde hata alıyorum.

Kod: Tümünü seç

sorgu = " select id, tarih, tarih2, tutar, acenta, yolcu, cocuk, yon, sum(tutar) as toplamtutar from fatura where acenta = '"&acenta&"' and tarih2>=#"& tarih3 &"# and tarih2<=#"& tarih4 &"# group by id, tarih, tarih2, tutar, acenta, yolcu, cocuk, yon"
toplam tutarı göstermek için ;

Kod: Tümünü seç

<%=rs("toplamtutar")%>
diyorum. ama aşağıdaki hatayı alıyorum;

Kod: Tümünü seç

ADODB.Field error '80020009'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/butun_tablo.asp, line 0 
aldığım hata sayfanın tamamında değil sadece toplam tutarı göstermiş olduğum tabloda ortaya çıkıyor.. yani toplam tutarı gösterirken yanlış kod mu kullanıyorum..

Teşekkürler
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Mesaja bakılırsa kayıtta olmadığı gibi bir anlam çıkıyor ya dosya sonu ya dosya başı diye..
Diğer alanları aldığınız yerde almaya çalışın. Belki ..sum(tutar) as toplamtutar .. daki toplamtutar ı tek veya çift tırnak içinde yazman gerekiyor olabilir.. ya da büyük harflerle dene.. :roll:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Mesaj gönderen callaki »

Sorun çözüldü arkadaşlar. Yardımcı olan herkese teşekkürler
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Cevapla