veriyi optionbuttona göre aktar-istihkak ya da arşive

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,461
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Dosyada userform üzerinde textbox ve listboxlara alınmış bir veritabanı bulunmaktadır.

Bu veritabanının ,
1-işlemi bittiğinde satırdaki verinin kaldırılması gereken istihkak ve arşiv sayfalarına ayrıştırması kullanıcı tarafından X iareti konarak kayıt sayfasında el ile yapılarak örnek anlamında gösterildi ancak , listbox option kutusuna çoklu işaretleme yöntemi ile yapılacaktır.

2-Ayrıştırma bittiğinde satırın tamamının ( satır no dahil) ait olduğu sayfaya topluca bir kerede gönder tuşu yardımı ile altalta aktarılması gereklidir.
3- Bunu yaparken veritabanında değişiklik yapılmayacaktır. Veritabanında satırlar istihkaka aktarıldığında silinmeyecektir. İstihkak işareti olan satırlar arşive gönderildiğinde satır ana listeden silinecektir
4- Aktarılan veriler kendi sayfalarında yeni bir sıralama no almadan kendi nosunu koruyacaktır.
5- Veritabanında işaretlenmemiş "kalan veri sayısı" sayılarak msgbox ile bildirilecektir.

Optionbutton seçimine göre veri aktarılmış gibi birer satırlık örnek , istihkak ve arşiv sayfalarına konmuştur.

Önemli : Sonraki işlemlerde de userform ve textboxlar kullanılacağından , aktarılan verinin tarih , sayı , currency formatları gerekli ise , bu kodun düzenlemesinde uyarlanması ...

Bu işlemi GONDER tuşu ile yaptırmak için yazılması gereken kod nasıl olmalıdır ?

http://www.filebig.net/files/pzVYMgznMs
 

Ekli dosyalar

Son düzenleme:
Katılım
6 Temmuz 2015
Mesajlar
925
Excel Vers. ve Dili
2003
Merhabalar,

Altın üye olmayanların da yardımcı olmaya çalışabileceklerini akıldan çıkarmamak gerekir.

Bilgilerinize...
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,461
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Linki yapıştırmayı atlamışım .. Kodlar bir dünya yapıyor kafayı ; malum :)
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhabalar.

Örnek olarak verileri sayfalara yazmışsınız ama gerçek kullanıma ilişkin işlem akışını merak ettim.
Başlangıçta arşiv ve istihkak sayfaları tamamen ve tablo isimli sayfada I ve J sütunları boş.

Listeden birkaç satırın başındaki CheckBox işaretlendi, alttaki Optionbuttonlardan biri kullanılarak sayfa ismi seçildi ve GÖNDER düğmesine basıldığında;
-- tablo sayfasında ilgili satıra, seçilen sayfa adına göre I veya J sütununa X yazılacak,
-- seçilen veri satırları ilgili sayfaya kaydedilecek (tablo sayfasında silinmeden duruyor) ve ListBox2 ve ListBox3 de güncellenecek
-- listbox1 X'lerin görünmesi için güncellenecek,

Buraya kadar tamam ama soru şunlar,
-- ListBox1'de tablo sayfası I ve J sütununda X olmayanlar mı görünecek yoksa, tüm liste görünüp X'leri de mi göreceğiz,
-- cevap ikincisi ise yani tablo sayfasının tümü görünecekse;
önce arşiv seçilerek ilgili sayfaya yazılmış olan ListBox satırını bu kez istihkak sayfasını seçerek GÖNDER dediğimizde yapılacak işlem nedir?
-- aynı satırı yine önceki gibi arşiv seçip tekrar GÖNDER demişsek ne olacak?
kaydedilmiş durumda gibi bir uyarı mı? İlgili sayfaya tekrar yazılmaması gerekir değil mi?
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,461
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sayın Baran ,

En kısa tabir ile akış şu şekilde:

-Xler olmadığında aslında bir iş sonunda bir ödeme veritabanı yazılıyor.
-Bu ödemede önce istihkak ödemesi ayrılıyor listeleniyor ve ödeniyor.
-Kalan-istihkak = ödeme tamamlanıyor.
-Ödemesi tamamlanan arşiv listesine , muhasebeleşme için listeleniyor.
-Listbox üzerindeki checkboxlar ile bu süreci yönetmek ve iki kere işaretleyerek ( yani istihkak işaretli iken satır yerinde kalırken istihkak listesine aktarmayı gerçekleştirmeyi düşündüm.
-Üstteki yazımdan farklı olarak; istihkak işaretli olup arşiv işareti de olan satırı arşive , ödemesinin tamamlandığı anlamında aktarmayı düşündüm.
-Üstteki yazımdan farklı olarak; arşive gönderilmiş satırı veritabanı listesinden silmeyi ve bu sayfada sadece işaretsizler ve istihkak işaretlierin kalmasını düşündüm.

Bu plan ile , asıl boyutu 11256 kişi olan bir liste 12 ay boyunca anlatılan döngüde sağlıklı bir takiple ödeme alabilir.


Buraya kadar tamam ama soru şunlar,
-- ListBox1'de tablo sayfası I ve J sütununda X olmayanlar mı görünecek yoksa, tüm liste görünüp X'leri de mi göreceğiz,
** Sol checkbox tıklandıktan sonra altta option seciminde istihkak işaretlenip gönder tuşuna basınca
a) checkliler istihkak sayfasına kopyalanacak
b) listbox1deki liste değişmeyecek,
c) sağda istihkak işareti ve hiç işaretsiz liste aynı listboxta görünmeye devam edecek.

-- cevap ikincisi ise yani tablo sayfasının tümü görünecekse;
önce arşiv seçilerek ilgili sayfaya yazılmış olan ListBox satırını bu kez istihkak sayfasını seçerek GÖNDER dediğimizde yapılacak işlem nedir?
** Sol checkbox tıklandıktan sonra altta option seciminde arşiv işaretlenip gönder tuşuna basınca
a) checkliler arşiv sayfasına kopyalanacak
b) arşive kopyalanan satırlar buradaki listeden düşülecek
c) işareti olmayan satırlı liste listboxta görünmeye , yeni bir işaretleme için devam edecek.

-- aynı satırı yine önceki gibi arşiv seçip tekrar GÖNDER demişsek ne olacak?
kaydedilmiş durumda gibi bir uyarı mı? İlgili sayfaya tekrar yazılmaması gerekir değil mi?
** Bu planlamam doğru ve mantık hatam yoksa, analistede seçilen satırlar optionda istihkak seçimi ve gonder tuşu ile istihkak sayfasına giderken liste değişmeyip checkboxlar boşalıyor , aynı listede istihkak işaretli olup yeniden seçilen ve optionda arşiv işaretlenip gonder tuşuna basıldığında bu liste de arşive hareket ederken , analisteden düşüyor.
Bir önemli konu ise , benim dikkatimden yetersiz bilgi ya deneyimsizliğe dayalı hatalarım var ise ( mesela sayıların tarihlerin currencylerin metin gitmemesi için belki ilk kayıt textboxlarından itibaren yapılması gereken formatlar ya da sonradan formatlar gibi ) sizin dikkat ve bilginize takılırsa , vaktiniz nisbetinde gözetilmesi ve düzeltilmesi ya da mantıksızlık varsa değiştirilmesi ricam ve sevincimdır .

Zira analistesi çok büyük , geri dönüşü zor olmadan suyu baştan doğru kanalize etmek en doğrusu.
 
Son düzenleme:

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,461
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Bir zayıf mantık ben buldum ;

Sıra no kesinlik arzetmiyor. Analistedeki BUL tuşunu Tc kimlik No'ya odaklamam , verinin kolay ve tek bulunması için daha mantıklı ve kesinlik arzediyor. Bu şekildeki düzeltmemi bir kaç dakika içinde bu cevabıma ekleyeceğim

Sıra no bozuldu ancak , tc noya odaklanan bul tuşu ile dosya ektedir.

Bu durumda , tablo listesi dışındaki listeler her işlemden sonra otomatik sıra no alabilir.
tablo listesindeki sıra no istihkak aktarmasında aynı kalabilir.
tablo listesindeki sıra no arşive geçtiği için silinmelerle sırası bozulsa da otomatik sıra no
almayacak. Bu no makbuz adlı sayfada da kullanılıyor, o sayfa burada verilmedi.


http://www.filebig.net/files/YkKeVnB4de
 

Ekli dosyalar

Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Son belgenize bakmadım akışı da tam anladığımı söyleyemem.
Önceki belgeye göre GÖNDER düğmesinin kodları için akışın aşağıdaki gibi olması lazım bence.
Son istediğiniz, Userform'un genel kayıt formatı vs kontrollere sonra da bakılabilir.
.
Kod:
Dim i As Integer
If OptionButton1 = False And OptionButton2 = False Then
    MsgBox "SAYFA SEÇİLMEDİ"
    Exit Sub
End If

If OptionButton1 = True Then sayfa = "istihkak"
If OptionButton2 = True Then sayfa = "arşiv"

secilenadet = 0
    With ListBox1
        For i = 0 To .ListCount - 1
            If .Selected(i) Then secilenadet = secilenadet + 1
        Next i
    End With
If secilenadet = 0 Then
    MsgBox "LİSTBOXTA HİÇ SEÇİLMİŞ VERİ YOK"
    Exit Sub
End If
    
secilen = False
    With ListBox1
        For i = 0 To .ListCount - 1
            If .Selected(i) Then
                secilen = .List(i): tablosatir = i + 2
[COLOR="SeaGreen"]                '''*** AKTARMA VE I-J SÜTUNUNA X YAZMA KODLARI
                '''*** TC'DEN HAREKETLE MÜKERRER KONTROLÜ
                '''*** VARSA KAYIT SATIRININ BULUNUP ÜSTÜNE YAZMA/YAZMAMA KODLARI
[/COLOR]            Else
                secilmemis = secilmemis + 1
            End If
        Next i
    End With
[COLOR="SeaGreen"]                '''*** ÜÇ ADET LİSTBOX'UN GÜNCELLENME KODLARI
[/COLOR]If secilmemis = 0 Then kalanlar = ""
If secilmemis > 0 Then kalanlar = "Aktarılmadan kalan satır sayısı: " & secilmemis
MsgBox "İlgili veriler aktarıldı." & vbLf & kalanlar
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,461
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sayın BARAN ,

Teşekkür ederim , akşam saatlerinde göndermiş olduğunuz kodları deneyerek geribildirimde bulunacağım .
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Bir düzeltme notu.

Useform'un Initalize kodlarında ListBox1'in RowSource tanımlama satırının
sonundaki 2 sayısını 3 olarak değştirmelisiniz. .......unt, "b").End(3).Row
.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,461
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sayın Baran ;
Önermiş olduğunuz kodları " gönder " tuşuna ekledim ve -3- hatasını da duzelttim. Bunun dışında multipage'de Verisayfası texboxlarında veri getirme hatası, takip sayfalarında da filtrelerde düzeltme yaptım.

Listbox1 işlevlerine göre , checkoxların durumuna göre gelen bilgi ve uyarılar doğru çalıştı.

Ekteki 3 nolu versiyonda ;
1-Program kurulmuş ve çalıştırılmış gibi ;
Listbox1 de işaretsiz olduklarından geriye kalanlar
Listbox2 de istihkak işaretli olduklarından bu sayfaya işareti ile beraber kopyalananlar
Listbox3 te ise her iki işareti olduğundan listbox1den silinip listbox3 e taşınanlar var.
Rapor sayfası istihkak sayfasını , Rapor2 sayfası arşiv sayfasını sütun başlıklarına göre süzüyor , süzülen sayfa istenirse arka planda kendi sayfasında da dinamik oluşturulduğundan print de edilebiliyor.
Veritabanı sayfasındaki textboxlara gelen veri burada yazılmıyor , daha önce yazılmış olan bir operasyon
analistesinden çekmek için var. Dolayısı ile burada bulma ve xleri ekleme işlevi var.

2-Mizansen şu:

Kullanıcı normal olarak Verisayfası textboxları üzerinden sıradan personel ve iş verisi girer.

Bu listede istihkak verilmesi gerekenler, tc kimlik ile textlere çekilir ve istihkak işareti alta elle konur , düzelt tuşuna basılarak veri onarılmış olarak kaydedilir.

İstihkak ödeneceği gün bu personeller gözle ya da filtre yardımı ile 20 30 personel bulunup listboxtaki checkboxlarıolarak işaretlendikten sonra optionbuttonda istihkak seçilir ve gönder tuşu ile İstihkak sayfasına altalta kopyalanarak aktarılır. Bu durumda bu personel TABLO sayfasında silinmez, listbox1de görünmeye devam ederler.

İş bitim periyodlarında (haftada ayda1) istihkak verilmiş olan personele geri kalan ücretini ödemek üzere , verisayfasında bunlar tc yolu ile yeniden verisayfasında elle yada filtre yardımıyla bulunur ve bu sefer arşiv textboxu elle işaretlenir düzelt tuşuna basılır.

Bu anda , listbox1de satırda istihkak ve arşiv işaretleri görünür.

Ödeme günü Arşiv işaretlilerin checkboxları işaretlenir altta optionbuttonda arşiv seçilir, gönder tuşuna basılır. Arşiv işaretliler TABLO sayfasından silinir , arşiv sayfasına aktarılmış olur.

Arşiv sayfası , istihkak ve kalan ödemesi yapılmış liste olarak altalta kaydı tutar, gereğinde kendi filte sayfası ile raporlar tanzim edilebilir.

Ekte, çalışmış ve bitmiş son hali GİBİ veri dağıtımı taşıyan düzeltme versiyonu (3) , bu mizanseni kodlara aktarmada destek için eklenmiştir. Sıra no ların hiçbir sayfada otomatik düzeltilmemesi , sadece yeni personel kaydeden sayfada no ; sonhucre+1 yazması gereklidir.

3-Eğer bu tamamlanırsa sanırım son kısım kontrolleri sağlamlaştırmak ve excel sayfasında hata işaretleri yaratmamak olabilir.
Umarım sizi yormaya devam etmeme kızmazsınız ..



http://s3.dosya.tc/server14/5vclwd/optional_aktar_istihkak-arsiv_3__.rar.html
 

Ekli dosyalar

Son düzenleme:
Üst