Skip to main content

AccessTr.neT


Excelden Koşullu Ve Formatlı Aktarma

MURTAZAAF
MURTAZAAF
6
713

Excelden Koşullu Ve Formatlı Aktarma

#1
Saygıdeğer Hocalarım,

Herkese sağlıklı günler dileyerek, başarılı olamadığım bir çalışmamda desteklerinizi rica edeceğim. Ekte firma 1 ve firma 2 olarak iki Excel dosyası ve bir ornek Access veritabanı bulunmaktadır. Access veritabanında firma1 ve firma2 adı ile yer alan 2 tablo ve 1 form ile excelden aktarma işlemleri yapmak istiyorum. @berduş Hocamın konusundaki örnek dosyasından hareket ile başladığım çalışmamda takıldım ve ilerleyemiyorum.

Excel dosyalarında iki farklı çalışma gurubunun devamlılık verileri kayıtlı ancak her gurubun sistemleri farklı olduğundan raporlar farklı formatlarda alınabiliyor. Burada yapmaya çalıştığım iki Excel dosyasını firmalar bazında accessdeki tablolara aktarmak sureti ile farklı çalışmalarda kullanmak üzere kullanabilmek.

Firma1 Excel dosyasında tüm isimler alt alta ve tarihler yanyana ve her tarih için giriş ve çıkış olarak 2 saat kayıtlı. Burada saat dışında haftalık, yıllık izin, raporlu gibi bilgilerde var. Kullanılan raporlama programının yetersizlikleri nedeniyle gruptan çıkışı yapılan kişilerin adları ****, --- gibi sürekli rapora yansıyor kaldırılması mümkün olmuyor. Ve Excel olarak bu rapor alındığında bazı kişilerin bilgileri iki satırdaki hücreler sütun sütün birleştirilerek kayıt ediliyor. Bu Excel dosyasından verileri aktarırken saatlerde belirttiğim gibi izin, rapor gibi kayıtlar varsa bunları aktarmamalı ve o alan boş kalmalı, isimlerde de ***, ---- gibi kayıtlı kişilerin hiçbir verisi aktarılmamalı ve çift satırlı (birleştirilmiş hücreli) kayıtlarda takılıp kalmamalı ve accessdeki ayyıl alanına rapordaki tarihlere göre örneğin Ekim 2022 kaydı gelmelidir.

Firma2 Excel dosyasında ise tüm isimler aylık ve isim bazında gruplandırılmış olarak raporluyor. Ali isimli çalışanın 30 günlük kaydı altalta sonra bir iki satır boşluk ile Veli isimli kişinin kayıtları şeklinde ilerliyor. Buradan veri aktarmakta da bu alt alta kayıtları kişi bazında okuyup alanlara kaydettirmeyi başaramadım.

@berduş hocamın, @feraz hocamın ve birçok excelden aktarım örneği ve sorusu olan arkadaşlarımızın sitede bulduğum tüm konularını kodlarını inceledim ama farklı yaklaşımlar bulmaya ve çözümlemeye çalıştım ancak sonuca ulaşamadığımdan yardımlarınızı rica etmek zorunda kaldım.

Saygılarımla

Murtaza AF
.rar ornek.rar (Dosya Boyutu: 87,49 KB | İndirme Sayısı: 11)
Son Düzenleme: 17/11/2022, 23:11, Düzenleyen: MURTAZAAF. (Sebep: imla hatalarını düzeltme)
Cevapla
#2
Maalesef 2 hafta kadar bilgisayar olmadığından çalışmanızı inceleme imkanım olmayacak sadece Excel dosyalarınızı inceleyebildim Excel dosyalarınız tam olarak tablo mantığına uymadığı için sorun çıkarabilir
Normalde dikey sütunları yatay yapmak için pivot kullanılıyor ama sizin çalışmanızın yapısı biraz zorlayacak gibi
Belki ara tablo yada diziye aktarılarak oradan satır satır aktarılabilir
Cevapla
#3
Merhaba,

2 excelinizi de inceledim, gereksinimlerinizi de okudum. Konu ile ilgili nacizane görüşüm, access'e aktarmadan önce excelde bu 2 formattaki veriyi macro yardımı ile düzeltip istenilen formata yani access'e aktarıma hazır hale getirmek. Kullandığım bilgisayarda Access yüklü olmadığı için biraz farazi bir örnek vererek çözümümü anlatmaya çalışayım.

Yine nacizane fikrime göre firma 2 deki verinin formatı işlenmeye daha müsait. Bu tablodaki boşlukları makro ile otomatik sildirmeniz veya manuel olarak silmeniz mümkün. Ek olarak G H I J K sütün başlıklarını da düzenleyip access'e aktarmada bir sorun yaşamamanız gerekiyor. Bunun dışında aktarımda eğer bir sorun çıkarsa ne yaparken hangi hatayı aldığınızı iletmenizi rica ederim. Diyelim ki aktarımı Access de firma2 tablosuna yaptınız. Daha sonra bir sorgu ile kişiler bazında grup yapıp giriş çıkışları hesaplandığı bir sütun ile toplam mesai veya ihtiyacınız olan hesaplamalar yapılabilir.

Firma 1 deki fikrimi açıklamadan önce gözüme çarpan birşeye deyinmek isterim: Firma1 excelindeki 4A hücresinde "nbsp" bilgisinden bu verinin bir web tarayıcı üzerinden alındığnı anlıyorum. Eğer direk bu web sayfasından kopyala yapıştır yapıyor iseniz burada anlattığınız bazı sorunlara neden oluyor olabilir. "Html table to Excel table" başlığı ile google da arama yapmanız belki bir sonuç getirebilir. Varsayım üzerine konuştuğum için daha fazla detaya giremeyeceğim ancak yukarıda bahsettiğim kısa bir google araması bazı şeyleri çözebilir.

Firma 1i Excel marifeti ile düzetlmeye gelecek olursak, makro ile veya manuel olarak tüm hücreler "merge" bitişik hücreleri ayrılmalı, B sütununda isme göre sıralamalı ** -- .. satırlarını kaldırmalı, sonrasında yukarıda @berduş arkadaşın pivot önerisi yerine ben her satırın tek tek transpose sinin alınmasının daha düzgün bir tablo getireceğini sanıyorum. Örnek olarak: yukarıdaki gerekli temizlikler yapıldıktan sonra ali veli satırı komple kopyalanıp farklı bir sayfaya transpose yapıştırılır. Yanına da 4. satırdaki tarih bilgisi transpose yapıştırılır. Daha sonra hasan hüseyin transpose yapıştırılır yanına da tarih satırı yapıştırılır vs. Daha sonra boş başlıklar doldurulmalı ve accessde firma 1 tablosuna aktarılmalı. Buradan da istediğiniz sonuç için Access üzerinde farklı bir sorgu yazabilirsiniz ancak sonuç olarak Firma 1 sizi firma 2 den daha çok zorlayacak gibi gözüküyor.

Not: Mükemmel bir dünyada yaşıyor olsaydık, bu 2 firmanın kullandığı yazılımın veritabanına bağlanıp veya geliştiricisi ile görüşüp bu verileri almanız en uygunu olurdu ama bunu yapamadığınızı tahmin ediyorum

Konu ile alakasız not: Accesstr.net'e tahminimce 2010 yılında bir sorunum için üye olup soru sormuştum. Geçen hafta d.günü(gerçek d.günüm değil) mesajı gönderdiler Img-grin ben de o zamanları hatırlayıp 12 yıl sonra mesajıma bakmak isterken sizinkini gördüm ve cevap yazayım dedim Img-grin umarım sorununuzu çözebilirsiniz.
Kolay gelsin
Cevapla
#4
Murtaza Bey

1. dosyanız çok sorunlu görünmüyor 2. dosyanız ise tablo yapısında değil uğraşmak gerek saydığınız kriterlerin her birinin de bu aşamada uygulanması biraz zahmetli bir iş olacak. Affınıza sığınarak ben de çok acil değilse önümüzdeki günlerde yardımcı olmaya çalışabilirim inanın öyle yoğunum ki uyumaya fırsatım yok denebilir. 4-5 dakikalık aralarda bakabiliyorum çok hızla çözüm/cevap sunabileceğim konulara cevap yazabiliyorum.
Cevapla
#5
Sayın @atoykan ve @berduş Hocalarım

Estağfurullah, sizlerin canları sağolsun. Bugüne kadar şahsıma gerek burada forum vasıtası ile gerek özelde ve nice arkadaşımıza emek verdiniz, öğretmeye, yol göstermeye, farklı bakış açıları geliştirmeye, çözüm sunmaya çalıştınız. Bizlerde bu vesile ile kendimizi geliştirmeye çalışırken yine sizin yol göstericiliğinize ve çözüm önerilerinize tecrübe eksikliğimiz nedeniyle başvurmak, sizleri yormaya devam edip ışık tutmanızı dilemek zorunda kalıyoruz. Ben halen üzerinde çalışmaya farklı yaklaşımlar geliştirmeye çalışıyorum. Excel dosyalarını farklı formatlara çevirebilmek için kısmen başarılı kısmen başarısız çalışmalarım da, aktarımla ilgili çalışmalarım da devam ediyor ve farklı kanallarda da çözüm arayışım var. Fırsatınız olur da bakabilir yol gösterebilirseniz yine duacınız olur yine sizlerden öğreniriz, Allah razı olsun sizlerden.

Sayın @asdfmuhtasar size de çok teşekkür ederim ilgi alaka göstermiş değerli görüşleriniz paylaşmışsınız. Hepsini kulağıma küpe yapıp değerlendiriyorum. Vesile ile doğum gününüzü kutlar sağlık, mutluluk dolu hayırlı ömürler dilerim.

Saygılarımla

Murtaza AF
Son Düzenleme: 20/11/2022, 15:53, Düzenleyen: MURTAZAAF. (Sebep: imla hatalarını düzeltmek)
Cevapla
#6
Forumun en kibar üyesisiniz Murtaza Bey, size yardımcı olmak büyük keyif çünkü bir yandan sürekli öğrenme gayreti içindesiniz.
Lütfen tekrar kusura bakmayın inanın inanılmaz bir tempodayım elime fırsat geçmiyor bakabilmeye ama ilk fırsatta söz.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task