Skip to main content

AccessTr.neT


Rapordaki grup içinde sorgu yapmak

Rapordaki grup içinde sorgu yapmak

Çözüldü #1
Merhaba,

Saatte bir defa kayıt alan bir programım var. Bu programın oluşturmuş olduğu veritabanına Access ile bağlanıyorum. Bir form oluşturdum ve bu form'dan iki tarih aralığı giriyorum. Yazmış olduğum sorgu, girilen iki tarih arasındaki değerleri yeni bir tabloya atıyor ve bu değerleri RAPOR'da günlük olarak gruplanmış olarak görüyorum.
RAPOR aşağıdaki gibidir;

25.11.2008
07:00:00 45346
08:00:00 32444
09:00:00 43544
10:00:00 65453
..
..
..
26.11.2008
07:00:00 65464
08:00:00 43523
09:00:00 65764
10:00:00 64564
..
..
..

Benim problemim şu;
Ben TARIH'in yazılı olduğu grubun altbilgisine 10:00:00 saatindeki değerle 09:00:00 saatindeki değerin farkını yazdırmak istiyorum.

Yardımlarınızı bekliyorum.
Cevapla
Çözüldü #2
Sorununuz direkt olarak sorgudan
veya rapora kod yazılarak çözülebilir.

Ufak bir örnek yapıp gönderirseniz daha kolay yardımcı olabiliriz.

Tablo yaratmak, verileri girmekle zaman kaybetmemek için bize yardımcı olun bizde size yardımcı olalım.
Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla
Çözüldü #3
seruz merhaba,

öncelikle ilgine teşekkür ediyorum. Access dosyasını gönderiyorum. Ben çalışmamı OFFICE 2007 kullanarak yaptım. 2000 olarak ta kaydediyorum. Umarım problem olmaz.

İyi Çalışmalar,
.rar ORNEK2003.rar (Dosya Boyutu: 67,99 KB | İndirme Sayısı: 22)
.rar ORNEK2007.rar (Dosya Boyutu: 122,24 KB | İndirme Sayısı: 24)
Cevapla
Çözüldü #4
1.Çözüm olarak,
Fark adında bir text box ekledim ve alttaki kodları yazdım.

Kod:
Option Compare Database
Option Explicit
Dim OncekiDeger

Private Sub Ayrıntı_Print(Cancel As Integer, PrintCount As Integer)
    If IsNull(OncekiDeger) Or IsEmpty(OncekiDeger) Or OncekiDeger = 0 Then
        Me.FARK = 0
    Else
        Me.FARK = Me.EA1 - OncekiDeger
    End If
    OncekiDeger = Me.EA1
End Sub

2. Çözüm olarak Crosstab - Çapraz sorgu ile
tüm günü detaylı olarak görebileceğiniz bir örnek ekledim ve 3 farklı şeklini yaptım.

Ayrıca sorguda kod ile de çözülebilirdi ancak fırsatım olmadı ve
bunlar yeterli sanırım.
.rar Enerji_Seruz.rar (Dosya Boyutu: 71,13 KB | İndirme Sayısı: 50)
Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla
Çözüldü #5
Sorgu ile de farkı hesaplamak için gerekli olan
önceki değer böyle bulunabilir

Kod:
SELECT FLTIME, EA1, (SELECT Top 1 EA1 FROM ENERJI1 Where FLTIME<Srz.FLTIME Order By FLTIME DESC) AS OncekiDeger
FROM ENERJI1 AS Srz
ORDER BY Srz.FLTIME;

Ama rapordaki kod performans açısından daha iyi bir çözüm gibi.
Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla
Çözüldü #6
Seruz merhaba,

Yardımlarınıziçin teşekkür ederim. Çözüm-1 olarak göndermiş olduğunuz program benim işimi görüyor. Ancak bu kod Access 2003'te çalışmasına rağmen Access 2007'de çalışmıyor. Bu konuda da yardımınızı bekliyorum.

İyi Çalışmalar,
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da