29/04/2022, 13:42
29/04/2022, 13:52
Emin olmak için soruyorum, iki tablonuzun da yapısı neredeyse aynı. Ülke_düzenle tablonuzda her ülke için bir sütun var Ülke_üzenle2 tablonuzda ise ülkeler tek sütunda sıralanmış.
Sizin şu anda yapmakta olduğunuz aşağıdaki
Siz aşağıdaki resimdeki gibi,
Sizin şu anda yapmakta olduğunuz aşağıdaki
Siz aşağıdaki resimdeki gibi,
- her ülke için ayrı bir sütun tanımlaması mı istiyorsunuz?
- belirli ülkeler mi var yoksa değişken mi?
29/04/2022, 13:56
önce aşağıdaki koda sahip bir sorgu oluşturun adı Cp olsun
TRANSFORM Ülke_Düzenle2.Ülke
SELECT Ülke_Düzenle2.sayı, Ülke_Düzenle2.Otel_Adı, Ülke_Düzenle2.tutar
FROM Ülke_Düzenle2
GROUP BY Ülke_Düzenle2.sayı, Ülke_Düzenle2.Otel_Adı, Ülke_Düzenle2.tutar
PIVOT Ülke_Düzenle2.Ülke;
daha sonra aşağıdaki kodu butona atayıp dener misiniz?CurrentDb.Execute "INSERT INTO Ülke_Düzenle ( sayı, Otel_Adı, Ülke_1, Ülke_2, Ülke_3, Ülke_4, Ülke_5, tutar ) " & _
"SELECT sayı, Otel_Adı,[Danimarka],[İtalya],[Belçika],[İngiltere],[Romanya],[tutar] " & _
"FROM Cp;"
Not: yapmaya çalıştığınız şeyi tam anlamadım ama eldeki verilere göre bu kodlar işinize yarayabilir29/04/2022, 17:45
ADO kullanmak daha mantıklı gibi.
Private Sub Komut2_Click()
DoCmd.SetWarnings False
Dim rs As New ADODB.Recordset, rs1 As New ADODB.Recordset
Dim Sql As String
sql = "TRANSFORM First(Ülke_Düzenle2.Ülke) AS İlkÜlke " & _
"SELECT Ülke_Düzenle2.sayı, Ülke_Düzenle2.Otel_Adı, Ülke_Düzenle2.tutar AS Tutar " & _
"FROM Ülke_Düzenle2 " & _
"GROUP BY Ülke_Düzenle2.sayı, Ülke_Düzenle2.Otel_Adı, Ülke_Düzenle2.tutar " & _
"PIVOT Ülke_Düzenle2.Ülke;"
rs.Open sql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs1.Open "Ülke_Düzenle", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
With rs1
If Not rs.EOF Then
Do
.AddNew
.Fields("sayı") = rs(0)
.Fields("Otel_Adı") = rs(1)
.Fields("Ülke_1") = rs(3)
.Fields("Ülke_2") = rs(4)
.Fields("Ülke_3") = rs(5)
.Fields("Ülke_4") = rs(6)
.Fields("Ülke_5") = rs(7)
.Fields("tutar") = rs(2)
rs.MoveNext
rs1.Update
Loop Until rs.EOF
End If
End With
rs1.Close: rs.Close: Set rs1 = Nothing: Set rs = Nothing
DoCmd.SetWarnings True
MsgBox "Aktarma İşlemi Tamamlandı"
End Sub
29/04/2022, 18:01
Sayın. Berduş Hocam Teşekkürler
Evet Bu Şekil İstiyorum Ama Ülke İsimleri Değişkenlik Gösterebiliyor
Teşekkürler
Evet Bu Şekil İstiyorum Ama Ülke İsimleri Değişkenlik Gösterebiliyor
Teşekkürler
29/04/2022, 18:08
Sayın. Userx Hocam Sizinde Elinize Sağlık
Eklemiş Olduğunuz Kodu ( Tablo'yu Düzenle Yan Yana ) Butonun Tıklandığı Olayına Ekledim Hata Verdi.
Teşekkürler
Eklemiş Olduğunuz Kodu ( Tablo'yu Düzenle Yan Yana ) Butonun Tıklandığı Olayına Ekledim Hata Verdi.
Teşekkürler