• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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

  • Ornek.mdb
    Ornek.mdb
    244 KB · Görüntüleme: 25
  • SonucResim.JPG
    SonucResim.JPG
    117.8 KB · Görüntüleme: 21
(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
 
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
 
Merhaba,,

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

Saygılarımla.
 
sql sorgularda pivot mantıgınından bahsediyorsunuz sanırım arastırmanızı bu yönde yapınız..

SQL PİVOT
 
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
 
Geri
Üst