Skip to main content

AccessTr.neT


Yataydaki Veriyi Dikeye Dikeydeki Veriyi Yataya Çevirmek

Yataydaki Veriyi Dikeye Dikeydeki Veriyi Yataya Çevirmek

#1
öncelikle şimdiden yardımlarınızdan dolayı teşekkür ederim.
ek olarak yolladıgım ornek dosyada yan yana olan verileri dikeye çevirme ihtiyacım var 
aynı zamanda bu konu başlıgı altında dikeyi yataya cevirmekte istiyorum.
excel de basit bir yöntem var ancak acces te de mutlaka vardır diye düşünüyorum.

anahtar alanımız NSN bu alan yatay dada dikeyde de anahtar alanımız .
NSN_BAZLI_ALT_ALTA tablosundaki veriyi NSN_BAZLI_YANYANA tablosundaki şekle 
NSN_BAZLI_YANYANA tablosundaki veriyi  NSN_BAZLI_ALT_ALTA tablosundaki sekle donusturmek istiyorum nasıl yapabilirim ?
.zip YAN YANA VERILERI ALT ALTA GETIRMEK.zip (Dosya Boyutu: 21,21 KB | İndirme Sayısı: 2)
Cevapla
#2
NSN_BAZLI_ALT_ALTA tablosunu yan yana getirmek için çapraz/cross sorgu kullanılabilir
TRANSFORM First(NSN_BAZLI_ALT_ALTA.CEVAP) AS IlkCEVAP
SELECT NSN_BAZLI_ALT_ALTA.[N-S-N]
FROM NSN_BAZLI_ALT_ALTA
GROUP BY NSN_BAZLI_ALT_ALTA.[N-S-N]
PIVOT NSN_BAZLI_ALT_ALTA.MRC;
NSN_BAZLI_YANYANA tablosunu alt alta getirmek için Union All sorgusu kullanılabilir
 select NSN, 'NAME' as MRC, NAME as Cevap from [NSN_BAZLI_YANYANA]
union all
select NSN, 'AGAV' as MRC, AGAV as Cevap from [NSN_BAZLI_YANYANA]
union all
select NSN, 'CXCY' as MRC, CXCY as Cevap from [NSN_BAZLI_YANYANA]
union all
select NSN, 'ZZZK' as MRC, ZZZK as Cevap from [NSN_BAZLI_YANYANA]
Cevapla
#3
değerli hocam verdiğiniz bilgi için çok teşekkür ederim.
bu bilgiyi de kullanacağım fakat sanırım yanlış ifade ettim.

özellikle sorunum yataydaki veriyi dikeye çevirmek ve yataydaki veri değişken yani yataydaki sütun başlıkları ve sayısı değişken (alan1,alan2,alan3 vb.)

şöyle anlatmaya çalışayım;
 
oluşturmak istediğim tablo NSN,CEVAP alanlarından oluşacak.

Yatay da tek satır düşündüğümüzde NSN alanı anahtar alan düşünecek ALAN ile başlayan sütunları CEVAP alanına yazacak
yani oluşacak tabloda NSN alanı aşağıya doğru yataydaki alan sayısı kadar tekrar edecek ve alan ile başlayan sütunları alt alta cevap kısmına yazacak.

ek dosya koyarak anlatmaya çalışacağım. GELEN_BILGI tablosundaki veriyi NSN_BAZLI_ALT_ALTA yapısına çevirmek istiyorum
daha sonraki ayrıştırmalara ben devam edebilirim 

yardımlarınızdan dolayı şimdiden çok teşekkür ederim.
.zip YAN YANA VERILERI ALT ALTA GETIRMEK.zip (Dosya Boyutu: 4,18 MB | İndirme Sayısı: 2)
Cevapla
#4
öncelikle sorayım dikeyden_Yataya çeviren çapraz sorgu doğru çalışıyor mu?
Cevapla
#5
aşağıdaki kodu dener misiniz?
Sub DikeyYap()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim xTblAdi As String
xTblAdi = "GELEN_BILGI"

Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM [" & xTblAdi & "]")

For Each fld In rs.Fields
If fld.Name <> "NSN" Then
xSql = xSql & vbNewLine & _
"union all " & vbNewLine & _
"select NSN, " & fld.Name & " as Cevap from [" & xTblAdi & "] where Not isnull(" & fld.Name & ") "
End If
Next
xSql = Mid(xSql, 15)

'Sorgu Kontrolü Ve Oluşturma_________________hy
Varmi = False
xDikeySorgu = "AltAltaSQL"
For Each SrgAd In CurrentDb.QueryDefs
If SrgAd.Name = xDikeySorgu Then
SrgAd.SQL = xSql
Varmi = True
Exit For
End If
Next SrgAd
If Varmi = False Then Set qd = CurrentDb.CreateQueryDef(xDikeySorgu, xSql)
DoCmd.OpenQuery xDikeySorgu
'_______________________________________________hy

rs.Close
Set rs = Nothing
Set db = Nothing

End Sub
Cevapla
#6
(9 saat önce)berduş yazdı: öncelikle sorayım dikeyden_Yataya çeviren çapraz sorgu doğru çalışıyor mu?

çalışıyor hocam onu da denedim yapıyor
çok teşekkür ederim
sorgu sıhırbazındakı capraz sorgu kısmını tam olarak anladıgımı soyleyemem ama yolladıgınız Sql gayet güzel işini yapıyor
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task