(29/04/2022, 13:56)berduş yazdı: önce aşağıdaki koda sahip bir sorgu oluşturun adı Cp olsun
daha sonra aşağıdaki kodu butona atayıp dener misiniz?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;
Not: yapmaya çalıştığınız şeyi tam anlamadım ama eldeki verilere göre bu kodlar işinize yarayabilirCurrentDb.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;"
Sayın @berduş Hocamızın yazdığı 1. koddaki sorgu Pivot özelliği ile yeni eklenen ülkeler için alan tanımlanmasını sağlar bunların tablonuzda yer almasını istiyorsanız 2. kodda bir append query ile tablo oluşturmanız gerekir. Ülke_Düzenle tablosunu tekrar kullanmak istiyorsanız oluşturacağınız tablo XYZ gibi yeni bir tablo olmalıdır. Bu çerçevede @berduş Hocamın verdiği 2. kodu
DoCmd.DeleteObject acTable, "XYZ"
CurrentDb.Execute "SELECT cp.* INTO XYZ FROM cp;"
şeklinde revize ederek kullanırsanız yanyana istediğiniz kadar ülke eklesenizde tablonuzu oluşturmuş olursunuz.