Satır verileri sutunda olacak şekilde sorgu

Katılım
24 Temmuz 2007
Mesajlar
726
Excel Vers. ve Dili
Excel 2010 tr
Selam arkadaşlar,
Ekteki mdb dosyasındaki tablodan
SonucResim de ekran görüntüsü verilen sonucu üretecek sorguyu yazmak mümkünmüdür

Teşekkürler
 

Ekli dosyalar

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,573
Excel Vers. ve Dili
2007 [TR], 2013 [TR]
(benim anladığım)
istediğin, yüklediğin resimdeki alanlar ile mdb dosyasına bakarak
veritabanı dosyasındaki tabloların ilk 2 sütunundaki veriler olarak görülüyor.
1. yol (tablo adlarını bildiğini varsaydığımızda SQL ile tek tek çekersin, ancak destek ekibinde olduğunuz düşünerek bunu bildiğini varsayıyorum.
2. yol ise tablodaki tablo adlarını ve ilk 2 sütun adını çekip (çünkü yüklediğin resime göre alan adları farklı olduğu için sabit bir sorgu ile veri çekilemez diye düşünüyorum) ona göre SQL sorgusu oluşturmak olabilir.
bulduğum bir kodda ufak değişiklik yaptım.
tablonun adını ve ilk 2 sütun adını buluyor. bundan sonrası buna uygup SQL ifadesi ile verileri çekmek olabilir.

Kod:
Sub Example1()
'an Access object
Dim objAccess As Object
'connection string to access database
Dim strConnection As String
'catalog object
Dim objCatalog As Object
'connection object
Dim cnn As Object
Dim i As Integer
Dim intRow As Integer

Set objAccess = CreateObject("Access.Application")
'open access database
Call objAccess.OpenCurrentDatabase("C:\test\Ornek.mdb")
'get the connection string
strConnection = objAccess.CurrentProject.Connection.ConnectionString
'close the access project
objAccess.Quit
'create a connection object
Set cnn = CreateObject("ADODB.Connection")
'assign the connnection string to the connection object
cnn.ConnectionString = strConnection
'open the adodb connection object
cnn.Open
'create a catalog object
Set objCatalog = CreateObject("ADOX.catalog")
'connect catalog object to database
objCatalog.activeconnection = cnn
'loop through the tables in the catalog object
intRow = 1

Dim tablocuk As Object
Dim aralık As Range
For i = 0 To objCatalog.tables.Count - 1
    
    'Çünkü veri tabanında 1 tane tablomuz olsa bile başka sistem tablolarıda var.
    Set tablocuk = objCatalog.tables.Item(i)
    With tablocuk
        If .Type = "TABLE" Then
[COLOR="Red"]            Cells(intRow, 1) = .Name                'Tablo Adı
            Cells(intRow, 2) = .Columns(0).Name     'ilk sütun adı
            Cells(intRow, 3) = .Columns(1).Name     'ikinci sütun adı
[/COLOR]            intRow = intRow + 1
        End If
    End With
    
Next i
End Sub
 
Katılım
24 Temmuz 2007
Mesajlar
726
Excel Vers. ve Dili
Excel 2010 tr
Sayın systran cevap için teşekkür ederim,
fakat tablodaki verileri bir şekilde o hale getirebilmek ile ilgili sıkıntım yok
Ben bu işlemin SQL ile olup olamayacağı araştırması içindeyim
yani
Select ....

şeklinde bir sorgu o sonucu verirmi,

Tekrar teşekkür eder, iyi günler dilerim
 
Katılım
7 Ağustos 2007
Mesajlar
242
Excel Vers. ve Dili
2019
Türkçe
Altın Üyelik Bitiş Tarihi
29/05/2022
Merhaba,,

Çapraz soru diye bir şey var. Belki onunla olur. Bir araştırın çapraz soru oluşturma yöntemlerini.

Saygılarımla.
 
Katılım
11 Şubat 2015
Mesajlar
12
Excel Vers. ve Dili
C#

2007
2010
2013
sql sorgularda pivot mantıgınından bahsediyorsunuz sanırım arastırmanızı bu yönde yapınız..

SQL PİVOT
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,115
Excel Vers. ve Dili
Microsoft Office 2019 English
Sayin merakli , sql sorgusu degismez hep aynidir..

Select satkod,satinalma,muhkod.....diger alan adlarini yaziniz. from tablo adi

Cep telden baglandifim icin access dosyasini inceleyedim..eger bu veriler farki farki tablolardab aliniyor ise. Inner join yontemini kulllaniniz..dikkat!! Innee joinde ortak alan adi olmalidir veya ortak bag bulunmalidir..ornegin musterikodu gibi.. kolay gelsin
 
Üst