Ülke Düzenle Yan Yana

1 2 3 4
29/04/2022, 13:42

berduş

bu 5 ülke ve sıralaması sabit mi?
29/04/2022, 13:52

atoykan

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,
  1. her ülke için ayrı bir sütun tanımlaması mı istiyorsunuz?
  2. belirli ülkeler mi var yoksa değişken mi?


29/04/2022, 13:56

berduş

ö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 yarayabilir
29/04/2022, 17:45

userx

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

golf2000

Sayın. Berduş Hocam Teşekkürler

Evet Bu Şekil İstiyorum Ama Ülke İsimleri Değişkenlik Gösterebiliyor

Teşekkürler
29/04/2022, 18:08

golf2000

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
1 2 3 4