FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

Excel Import Ederken Yeni Kayıt Olarak Eklemek

+1 oy
308 kez görüntülendi
Merhaba,

Bir excel kitabım ve içinde muhtelif sayfalar var. Bunları import ederken toplu şekilde işlem yapmıyor sayfaları ayrı ayrı import etmem lazım. Toplu şekilde import edebileceğim ya da import esnasında var olan tablo verilerini saklayıp dosyadakileri yeni veri olarak eklemesini sağlayacağım bir ayar göremedim. Yeni bir sayfayı import ederken fm içindeki eski verileri siliyor. Bir nevi, DROP TABLE if exist kullanıyor.

Excel dosyasınaki verileri yeni kayıtlar olarak eklemenin bir yolu var mı? İmport özelliğini kullanabilmek için öncelikle tüm verileri tek bir sayfada derlemem mi lazım?
3, Nisan, 2021 SQL kategorisinde halilabi (11,220 puan) tarafından soruldu

2 Cevaplar

+1 oy
Bir sorun oldu galiba. O kadar uğraştım buraya yazmadan evvel, yazdıktan sonra düzeldi. Ama bu sefer son import ettiğim verileri tekrar kaydettiği mükerrer kayıtlar oluştu. Bunları temizlemenin yolu var mı?
3, Nisan, 2021 halilabi (11,220 puan) tarafından cevaplandı
4, Nisan, 2021 halilabi tarafından düzenlendi
+2 oy

Import Sırasında 3 seçenek var, yeni kayıt olarak ekle, güncelle (eşleşme kriteri ile), değiştir (varolan kayıtların üzerine sırayla yaz). Güncelle ve değiştir için "add remaining records.." seçeneği kaynak dosyanızda daha fazla satır varsa bunları da yeni kayıt olarak ekler.

 

 

Mükerrer kayıtlar belirli bir kayıttan sonra oluşmaya başlıyorsa ilk kayda geçip ikinci tekrara kadar olan kayıtları "omit multiple" komutu ile eleyebilirsiniz. Bu size ikinci kopyalar gösterecektir, delete found records komutu ile bunları bir seferde silebilirsiniz.

 

Eğer mükerrer kayıtlar aralarda ve ayıklaması zorsa geçici olarak mukKontrol isminde bir alan açın. MükerrerKontrolReferansAlanina göre sıralayın (tekil olmasını beklediğiniz alan) ve içeriğini replace field contetns ile şu şekilde hesaplatın;

If ( GetNthRecord ( MükerrerKontrolReferansAlani ; Get(recordNumber) - 1 ) = MükerrerKontrolReferansAlani ; 1 )

Bu formül belirlediğiniz kontrol alanı bir üst satırdaki ile aynı ise 1 yazacak, aksi halde boş kalacak.

Artık mukKontrol alanında 1 yazan kayıtları bulup silebilirsiniz.

4, Nisan, 2021 F. Osman Cabi (197,900 puan) tarafından cevaplandı
Çok iyi... Teşekkür ederim. O baştaki seçenekleri (güya özellikle bakmama rağmen) göremedim ama sonraki denememde daha iyi bakacağım.
...