AccessTr.neT

Tam Versiyon: Access Sorguda Yürüyen Bakiye
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4 5 6
örnek ekledim kontrol edermisin
servera View ekleyip onun üzerinden toplam almayı yaptım ama sıralamayı sormam gerek,
row number oluşturmak için tablonuzdaki hangi alanlara göre sıralama yapılmalı?
ben sıralamayı
CAST(ROW_NUMBER() OVER(ORDER BY #msg_s_0085,msg_s_0098) as int) AS xRow 
ben sıralamayı #msg_s_0085,msg_s_0098 alanlarına göre yaptım ilk alan yanılmıyorsam kullanıcı adı 2. alan ise işlem tarihi sıralama doğru mu?
(24/12/2021, 00:35)berduş yazdı: [ -> ]servera View ekleyip onun üzerinden toplam almayı yaptım ama sıralamayı sormam gerek,
row number oluşturmak için tablonuzdaki hangi alanlara göre sıralama yapılmalı?
ben sıralamayı
CAST(ROW_NUMBER() OVER(ORDER BY #msg_s_0085,msg_s_0098) as int) AS xRow 
ben sıralamayı #msg_s_0085,msg_s_0098 alanlarına göre yaptım ilk alan yanılmıyorsam kullanıcı adı 2. alan ise işlem tarihi sıralama doğru mu?

Doğru üstadım 2.ci alan tarih
saygılar

(24/12/2021, 00:26)hedefkaya yazdı: [ -> ]örnek ekledim  kontrol edermisin

Üstadım Benzersiz ID değişince bakiye kısmını hatalı hale getiriyor. Ben serverde benzersiz alan varsa onuda bakacağım tabloyu tekrar göndereceğim
Saygılar
Benzersiz id'in işlem sırasına göre olması önemli
Uygun bir zamanda ad ve tarihe gore rownumber ekleyerek View oluşturma kodunu gönderirim işlemi ona gore yaparix
öncelikle Sql serverı açıp veritabanını seçin -->New Query'ye basıp yeni sorgu oluşturma penceresini açıp aşağıdaki kodu yazın
Not ben verdiğiniz adlara göre yaptım siz kendi çalışmanızdaki/serverdaki adları kullanmalısınız
CREATE VIEW view_SQLKASA1
AS
select *, CAST(ROW_NUMBER() OVER(ORDER BY #msg_s_0085,msg_s_0098) as int) AS xRow
from [SQLKASA1]
bu kodu seçip F5'e bastığınızda view_SQLKASA1 adında bir view oluşur
access veri tabanınıza bu Viewi bağlayın
Accesste yeni bir sorgu oluşturup sorgu koduna aşağıdaki kodu yazın
SELECT A.[#msg_S_0200], A.[#msg_S_0201], A.msg_S_0089, A.msg_S_0090, A.msg_S_0091, A.msg_S_0094, A.msg_S_0003, A.[#msg_S_0085], (select sum(dbo_view_SQLKASA1.[msg_S_0101\T])-sum(dbo_view_SQLKASA1.[msg_S_0102\T]) from dbo_view_SQLKASA1 where  dbo_view_SQLKASA1.[#msg_S_0085]=A.[#msg_S_0085] and  dbo_view_SQLKASA1.[xRow]<=A.[xRow]) AS Bakiye, A.[msg_S_0101\T], A.[msg_S_0102\T], A.xRow
FROM dbo_view_SQLKASA1 AS A
WHERE (((A.[#msg_S_0200])="100.01"))
ORDER BY A.xRow;

CAST(ROW_NUMBER() OVER(ORDER BY #msg_s_0085,msg_s_0098) as int) bu kod satır numarsını sayısal yapmak için kullanılıyor eğer tablonuzda int sınırını aşan miktarda veri varsa as int yerine daha büyük bir tür de seçilebilir. serverlardan çok anlamam o nedenle hatalı olabilirim
şimdi fark ettim hem msg_S_0115 alanında hem de #msg_s_0085 alanlarında isim var ayrıca bir kaç farklı yerde de tarih alanı var
bakiye hangi alanlara göre alınacak? Müşteri kimliği hangi alan işlem tarihi yada sıralama alanı hangi alan?
Sayfalar: 1 2 3 4 5 6