Tek Sütunlu Sorgu Oluşturma

1 2 3
21/10/2020, 16:38

truhi

Merhaba,
Access veri tabanında 10 alanı (sütun) bulunan bir tablo mevcut adı: [Table1]
Bir seçime göre bu tablodaki yalnızca bir sütunun (alan) tamamını alarak yeni bir tablo(sorgu) oluşturmak istiyorum. örnek:
seçime göre her zaman 1 sütun (alan) olacak şekilde güncellenecek.
Örnek: "3" girdiğim zaman 3. sırdaki alanı komple alacak, sonra "5" girdiğim zaman 5. sütundaki alanı komple alacak.


Teşekkürler,
iyi çalışmalar.
21/10/2020, 17:05

berduş

Tablo mu oluşacak yoksa sorgu mu 2si bambaşka şeyler ?
Ayrıca tablo/sorgu ismi sabit mi olacak?
Tablo her defasında yeniden mi oluşturulup sonra silinecek mi?
21/10/2020, 17:15

truhi

(21/10/2020, 17:05)berduş yazdı: Tablo mu oluşacak yoksa sorgu mu 2si bambaşka şeyler ?
Ayrıca tablo/sorgu ismi sabit mi olacak?
Tablo her defasında yeniden  mi oluşturulup sonra silinecek mi?
Tablo oluşması benim için daha iyi; Bu tablonun adı ve yapısı sabit kalacak, sadece içeriği değişecek
iyi çalışmalar.
21/10/2020, 17:33

ozanakkaya

Dim rst As New ADODB.Recordset
Dim i, GSayi As Integer
Dim GAlan, GTabloAdi As String

rst.Open "SELECT * FROM Table1", CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly

GTabloAdi = "YeniTablo"
GSayi = Me.Metin1 - 1

For i = GSayi To GSayi
    GAlan = rst.Fields(i).Name
Next i

DoCmd.RunSQL "SELECT " & GAlan & " INTO " & GTabloAdi & " FROM Table1;"

Referanslara Microsoft ActiveX Data Objects 2.8 Library referansını eklemelisin.

Formda Metin1'e 2 yazarsan YeniTablo isimli tablo oluşturup Table1'deki 2. sütunu yeni tabloya aktarır.
21/10/2020, 17:51

truhi

(21/10/2020, 17:33)ozanakkaya yazdı:
Dim rst As New ADODB.Recordset
Dim i, GSayi As Integer
Dim GAlan, GTabloAdi As String

rst.Open "SELECT * FROM Table1", CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly

GTabloAdi = "YeniTablo"
GSayi = Me.Metin1 - 1

For i = GSayi To GSayi
    GAlan = rst.Fields(i).Name
Next i

DoCmd.RunSQL "SELECT " & GAlan & " INTO " & GTabloAdi & " FROM Table1;"

Referanslara Microsoft ActiveX Data Objects 2.8 Library referansını eklemelisin.

Formda Metin1'e 2 yazarsan YeniTablo isimli tablo oluşturup Table1'deki 2. sütunu yeni tabloya aktarır.

Çok teşekkürler,

burada yeni tabloya bir adet yerine iki alanı ekletmek istersek, yani 3. alan ile 5. alanı yan-yana eklesin dersek; nasıl bir düzenleme yapmamız gerekecek?

iyi Çalışmalar.
21/10/2020, 18:58

ozanakkaya

Dim rst As New ADODB.Recordset
Dim i, GSayi1, GSayi2 As Integer
Dim GAlan, GTabloAdi As String

rst.Open "SELECT * FROM Table1", CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly

GTabloAdi = "YeniTablo"

GSayi1 = Val(Left([Metin1], InStr(1, [Metin1], "-") - 1)) - 1
GSayi2 = Val(Mid([Metin1], InStr(1, [Metin1], "-") + 1)) - 1



For i = GSayi1 To GSayi2
GAlan = GAlan & "," & rst.Fields(i).Name
Next i

GAlan = Right(GAlan, Len(GAlan) - 1)



DoCmd.RunSQL "SELECT " & GAlan & " INTO " & GTabloAdi & " FROM Table1;"


End Sub


Metin kutusuna 1-2 şeklinde tire koyarak yazmalısın.
1 2 3