AccessTr.neT
Rapordaki grup içinde sorgu yapmak - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Rapordaki grup içinde sorgu yapmak (/konu-rapordaki-grup-icinde-sorgu-yapmak.html)

Sayfalar: 1 2


Rapordaki grup içinde sorgu yapmak - sensor - 30/01/2009

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.


Cvp: Rapordaki grup içinde sorgu yapmak - Seruz - 30/01/2009

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.


Cvp: Rapordaki grup içinde sorgu yapmak - sensor - 30/01/2009

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,


Cvp: Rapordaki grup içinde sorgu yapmak - Seruz - 30/01/2009

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.


Cvp: Rapordaki grup içinde sorgu yapmak - Seruz - 30/01/2009

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.


Cvp: Rapordaki grup içinde sorgu yapmak - sensor - 02/02/2009

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,