ö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 ?
Yataydaki Veriyi Dikeye Dikeydeki Veriyi Yataya Çevirmek
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]
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.
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.
öncelikle sorayım dikeyden_Yataya çeviren çapraz sorgu doğru çalışıyor mu?
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
Konuyu Okuyanlar: hegu, 1 Ziyaretçi