• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Soru Çok Sayfalı Excel Tablolarını SQL / Access(yada benzeri) Veritabanına Aktarma Nasıl ?

ekselmymind

Yeni Üye
Katılım
7 May 2021
Mesajlar
99
Aldığı beğeni
11
Excel V
Office 365 TR
Konu Sahibi
Windows 10 Google Chrome 152
Selamlar arkadaşlar,


Elimde veri takiplerini tuttuğum, birden fazla sayfadan oluşan detaylı bir Excel dosyam var.(30 sayfa)


Bu verileri ilişkisel veritabanına (MS SQL Server / MS Access/ ya da herhangi bir SQL e) aktarmak ve düzenli bir yapı kurmak istiyorum. Excelde de takip etmek istiyorum ancak dosya boyutu artacağında exceldeki formül vb. sıkıntı çıkaracaktır. Diye düşünüyorum. Yani verilerin altyapısı mutlaka veritabanında olmalı. Veri girişi excelden olacak şekilde tasarlamak istiyorum. (lütfen anlamadığınız olursa sorunuz)


Bu Excel tablolarını en temiz şekilde SQL'e nasıl aktarabilirim? Aktardıktan sonra veri girişine nasıl devam ederim ?
aracı/yöntemi var mı? Excel görüntüsünü paylaşabilirim.


Öneri ve tecrübelerinizi paylaşırsanız sevinirim. Şimdiden teşekkürler.
Excel 365 kullanıcısıyım.


Allah razı olsun
 

Ekli dosyalar

Android 10 Google Chrome 151
Selamlar,

Detaylı bir yapı olduğu için yanlış yönlendirmek istemem ama bence Excel'i arayüz yapıp arkada ADO ile MS Access veya SQL'e bağlamak bir çözüm olabilir. Excel formüllerle şişmemiş olur, veri girişini de makroyla arkaya yollarsınız.

Tabi 30 sayfa olunca işin rengi değişebilir. En temiz ve stabil yöntem için forumun ustaları, hocaları ne der bakmak lazım. Ben de takipteyim, gelecek cevapları merak ediyorum.

halily Refaz Adnan Korhan AYHAN
Alicimri
userx
hocalarımız mutlaka bakacaktir.
 
Windows 10 Microsoft Edge 152
konuyu biraz inceledim SQL severa aktarmak yada oradan veri çekmek problem değil,
ama bazı sayfalarda birleştirilmiş hücreler var, SQLserver yada accessten veri çektikten sonra sayfa yapısını ancak vba ile bu şekle sokabiliriz, veri eklerken/güncellerken yada silerken de çok dikkatli olunmalı veriler mümkünse userform üzerinden tek tek kontrollü olarak işlenmeli ve uygun formata çevrilmeli bunların hepsi de bayağı bir kod yükü gerektiriyor. yapılabilir ama çok titiz davranılmalı.
not: en azından ben kodla yapmaya çalıştığımdan böyle düşünüyorum. diğer bağlantı yöntemleriyle power Bi, pivot yada excelin kendi içindeki diğer yöntemlerle belki daha kolay olabilir ama o konularda pek bilgim yok.
kolay gelsin
iyi çalışmalar
 
Konu Sahibi
Windows 10 Google Chrome 152
konuyu biraz inceledim SQL severa aktarmak yada oradan veri çekmek problem değil,
ama bazı sayfalarda birleştirilmiş hücreler var, SQLserver yada accessten veri çektikten sonra sayfa yapısını ancak vba ile bu şekle sokabiliriz, veri eklerken/güncellerken yada silerken de çok dikkatli olunmalı veriler mümkünse userform üzerinden tek tek kontrollü olarak işlenmeli ve uygun formata çevrilmeli bunların hepsi de bayağı bir kod yükü gerektiriyor. yapılabilir ama çok titiz davranılmalı.
not: en azından ben kodla yapmaya çalıştığımdan böyle düşünüyorum. diğer bağlantı yöntemleriyle power Bi, pivot yada excelin kendi içindeki diğer yöntemlerle belki daha kolay olabilir ama o konularda pek bilgim yok.
kolay gelsin
iyi çalışmalar
veriler örnek olarak verilmiş, verilere ihtiyacım yok.
 
Windows 10 Google Chrome 152
Merhaba,

Parametrik sayfalar tanımlayarak alt yapı oluşturursanız bence excelde makrolar yardımıyla çözüm bulabilirsiniz. Mümkün mertebe hiç formül kullanmadan sadece makrolarla yöneterek gerekirse pivotlarla destekleyerek güzel sonuçlar alabilirsiniz.
 
Windows 10 Google Chrome 152
Merhaba.

Dosyanızı inceledim. Temelde takip ettiğiniz, Taşeronlar ve bunlara verilen hizmetler ile yapılan kesintiler.
Bu Kadar çok sayfa yerine birkaç tablo ile halledebilirsiniz bence.

Şöyle ki;
1-) Tüm Kesintiler için bir tablo: Firma | Tarih | Kesinti Türü | Kesinti Tutarı | Evrak
Beklentilerinize göre ek Sütun Başlıkları ekleyebilirsiniz. Hatta Kesinti türüne göre girilecek eriye göre Kesinti_Tİpi_IFS sayfasıyla eşleştirerek otomatik hesaplama yaparak ta veri girişi yapılabilir. Hatta daha ileri giderek Kesinti_Tİpi_IFS sayfasındaki kesinti tutarlarını tarih kriteri ekleyip yazdığınız tarihe göre değişen tutarı tespit edip onu bile hesaplatabilir siniz.
Örneğin : 01.01.2026 Tarihinde Kahvaltı Kişi Başı 40,00-TL, Bu tutar Temmuzda değişmiş olsun ve 50,00-TL olsun. Kesinti bilgisini girerken tarihe 14.05.2026 yazdığınızda ve kişi sayısını girince 40,00 dan , 02.07.2026 yazınca 50,00 dan hesaplanmasını sağlaya bilirsiniz.

2-) Personelle ilgili işlemler için bir tablo: Burada kişi sayısı, toplam gün sayısı vb gibi Puantaj ve SGK ile ilgili durumları belirlersiniz. Hatta Kesintiler tablosundaki o firma için verilen Kahvaltı sayısındaki kişi sayısını size gelen SGK dökümlerindeki kişi sayılarıyla karşılaştırarak uyumlu olup olmadığını, fark varsa bunların sayısı bile çıkartabilirsiniz.

3-) Teslim edilen demirbaşlar vb gibi işler için bir tablo.

İhtiyaca göre şekillendirilebilir tabi. Aynı nitelikteki yada aynı şekilde işlem yapılacak işleri tek tabloda toplamak işinizi kolaylaştırır.
Örnek : Personele verilen yemek bedeli de hakkedişten kesilecek, ISG cezaları da firmadan kesilecek, konaklama bedeli de vb. Bunları tek tabloda takip edip Tarih ve Tür yada içerik bilgisine göre raporlamak daha kolay iş ve veri takibi sağlar.

Verilerinizi ister Excel ister Veri tabanında tutun bence bu kurallar işi kolaylaştıracaktı. Aynı tüp verilerin dağınık olması farklı tablolarda olması sorgu süresini ve karmaşasını beraberinde getirecektir.

SQL yerine Access kullana bilirsiniz. SQL i kullana bilmek için bilgisayarınızda kurulu olması gerekiyor ama Access için şart değil. Veri tabanını isterseniz Excel üzerinden de oluşturabilirsiniz. Access yüklü bir bilgisayarda oluşturup, yüklü olmayan bir PC dede kullana bilirsiniz.

Excelin bence veri tabanları karşısındaki sınırları, satır sayısı ve resim gibi bilgileri bünyesinde tutamaması. ilki için bir çözümüm yok maalesef ama resim için var; Klasör oluşturup belgeyi buraya yükleyip, linkini de Excele tanımlayarak ulaşabiliriz.

Şimdilik önerilerim bu kadar.

İyi çalışmalar.
 
Windows 10 Google Chrome 152
Merhaba.

Dosyanızı inceledim. Temelde takip ettiğiniz, Taşeronlar ve bunlara verilen hizmetler ile yapılan kesintiler.
Bu Kadar çok sayfa yerine birkaç tablo ile halledebilirsiniz bence.

Şöyle ki;
1-) Tüm Kesintiler için bir tablo: Firma | Tarih | Kesinti Türü | Kesinti Tutarı | Evrak
Beklentilerinize göre ek Sütun Başlıkları ekleyebilirsiniz. Hatta Kesinti türüne göre girilecek eriye göre Kesinti_Tİpi_IFS sayfasıyla eşleştirerek otomatik hesaplama yaparak ta veri girişi yapılabilir. Hatta daha ileri giderek Kesinti_Tİpi_IFS sayfasındaki kesinti tutarlarını tarih kriteri ekleyip yazdığınız tarihe göre değişen tutarı tespit edip onu bile hesaplatabilir siniz.
Örneğin : 01.01.2026 Tarihinde Kahvaltı Kişi Başı 40,00-TL, Bu tutar Temmuzda değişmiş olsun ve 50,00-TL olsun. Kesinti bilgisini girerken tarihe 14.05.2026 yazdığınızda ve kişi sayısını girince 40,00 dan , 02.07.2026 yazınca 50,00 dan hesaplanmasını sağlaya bilirsiniz.

2-) Personelle ilgili işlemler için bir tablo: Burada kişi sayısı, toplam gün sayısı vb gibi Puantaj ve SGK ile ilgili durumları belirlersiniz. Hatta Kesintiler tablosundaki o firma için verilen Kahvaltı sayısındaki kişi sayısını size gelen SGK dökümlerindeki kişi sayılarıyla karşılaştırarak uyumlu olup olmadığını, fark varsa bunların sayısı bile çıkartabilirsiniz.

3-) Teslim edilen demirbaşlar vb gibi işler için bir tablo.

İhtiyaca göre şekillendirilebilir tabi. Aynı nitelikteki yada aynı şekilde işlem yapılacak işleri tek tabloda toplamak işinizi kolaylaştırır.
Örnek : Personele verilen yemek bedeli de hakkedişten kesilecek, ISG cezaları da firmadan kesilecek, konaklama bedeli de vb. Bunları tek tabloda takip edip Tarih ve Tür yada içerik bilgisine göre raporlamak daha kolay iş ve veri takibi sağlar.

Verilerinizi ister Excel ister Veri tabanında tutun bence bu kurallar işi kolaylaştıracaktı. Aynı tüp verilerin dağınık olması farklı tablolarda olması sorgu süresini ve karmaşasını beraberinde getirecektir.

SQL yerine Access kullana bilirsiniz. SQL i kullana bilmek için bilgisayarınızda kurulu olması gerekiyor ama Access için şart değil. Veri tabanını isterseniz Excel üzerinden de oluşturabilirsiniz. Access yüklü bir bilgisayarda oluşturup, yüklü olmayan bir PC dede kullana bilirsiniz.

Excelin bence veri tabanları karşısındaki sınırları, satır sayısı ve resim gibi bilgileri bünyesinde tutamaması. ilki için bir çözümüm yok maalesef ama resim için var; Klasör oluşturup belgeyi buraya yükleyip, linkini de Excele tanımlayarak ulaşabiliriz.

Şimdilik önerilerim bu kadar.

İyi çalışmalar.

Bence de işin en kritik kısmı tam burası: önce Excel’deki sayfa mantığını bırakıp veriyi normalleştirmek gerekiyor. 30 sayfayı birebir veritabanına taşımak çoğu zaman sadece dağınıklığı SQL/Access tarafına taşımış olur. Firma, tarih, işlem türü, tutar, belge/link gibi ortak alanlarla tek tabloda toplamak raporlama ve kontrol açısından çok daha sağlıklı olur.

Access konusu da pratik bir ara çözüm olabilir. Özellikle tek kullanıcı veya sınırlı kullanıcıyla çalışılacaksa Excel + Access gayet yönetilebilir. Ama ileride çok kullanıcı, yetkilendirme, ağ üzerinden yoğun kullanım gibi ihtiyaçlar olacaksa baştan SQL Server düşünmek daha doğru olur. Her iki durumda da Excel tarafı sadece veri giriş/rapor ekranı gibi kurgulanırsa dosya şişmesi ve formül karmaşası ciddi şekilde azalır.
 
Geri
Üst