• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Form1 ve Form2 deki verileri aynı satıra kaydetmek.

  • Konbuyu başlatan Konbuyu başlatan ahatbek
  • Başlangıç tarihi Başlangıç tarihi
Katılım
2 Nisan 2009
Mesajlar
53
Excel Vers. ve Dili
2003 Türkçe
Merhaba arkadaşlar.
Ekteki örnekte olduğu gibi Form1 deki verileri kaydediyor ve form2 deki verileri kaydetmiyor. İstiyorum ki form1 de kişiye ait verileri kaydettikten sonra form2 deki eş ve çocuklarına ait verileride asıl kişinin satırına eklesin. Yalnız ben beceremedim.
Bu konuda yardımlarınızı istirham ediyorum.
Saygılarımla.
 

Ekli dosyalar

a'nın ne olduğunu söylememişsiniz.
UF2'ye de 1'deki kırmızı ile belirtiiğim satırları eklemek lazım.


Kod:
Private Sub CommandButton1_Click()
...
...
...

Dim Sayfa1, a, c
c = MsgBox("Bilgiler Kaydedilsinmi?", vbYesNo, "Onay")
If c = vbNo Then Exit Sub
        
[COLOR="Red"]Sayfa1 = Sheets("Sayfa1").Range("B65536").End(xlUp).Row
a = Sayfa1 + 1[/COLOR]
...
...
...
Unload Me

End Sub


ayrıca hem eş hem de 3 çocuk bilgisi girilmesi zorunlu hale getirilmiş.
eşi ve çocukları yoksa tamam da, evli ve çocuksuz ise veya 3'ten az çocuğu var ise ne olacak?
 
a'nın ne olduğunu söylememişsiniz.
UF2'ye de 1'deki kırmızı ile belirtiiğim satırları eklemek lazım.


Kod:
Private Sub CommandButton1_Click()
...
...
...

Dim Sayfa1, a, c
c = MsgBox("Bilgiler Kaydedilsinmi?", vbYesNo, "Onay")
If c = vbNo Then Exit Sub
        
[COLOR="Red"]Sayfa1 = Sheets("Sayfa1").Range("B65536").End(xlUp).Row
a = Sayfa1 + 1[/COLOR]
...
...
...
Unload Me

End Sub



Teşekkür ederim hocam belirttiğiniz kod zaten var ama çalışmiyor.
UF2 deki zorunlu olayı iptal edile bilir örnek olduğu için belirtmişim.
Saygılar.
 
Özür dilerim hocam belittiğiniz kodu yanlışlıkla var demişim, şimdi kodu yazdım bu sefer bir alt satıra ekliyor. Önce UF2 den kaydetip sonra Uf1 kaydetmeyi denedim oluyor sebebini anlayamadım.
 
evet.
uf1 ile veri kaydedince a 1 artıyor.

uf2 mutlaka uf1'den açılacaksa
Kod:
Sayfa1 = Sheets("Sayfa1").Range("B65536").End(xlUp).Row
a = Sayfa1

veya doğrudan
Kod:
a = Sheets("Sayfa1").Range("B65536").End(xlUp).Row
denebilir.


bu durumda uf1'deki son kayıtın satır numarasına eşitlenir ve aynı hizaya yazar.

ancak diyelim ki 500 adet kayıt girildi. sonradan 45. kaydın eşi çocuk bilgilerinin girilmediği farkedildi. veya sonradan bu bilgiye ulaşıldı. bu defa bağımsız olarak uf2'den veri girişi yapmak isterseniz hatalı satıra giriş yapılacak ve el ile düzeltmek zorunda kalacaksınız.

buna tabii farklı farklı çözüm üretilebilir. ama ben olsam 2 formu birleştirir, tek form yaparım.
 
Haklısınız hocam aklıma şöyle bir çözüm yolu geldi Şöyleki hani önce UF2 sonra UF1 kaydedersek olur ya şimdi eğer evli seçilirse Uf2 nin kaydı şart olsun ve sonra Uf1 kaydedilsin bu şekilde bence basit kalır ama iş görür.
Bu sefer sizin dediğiniz gibi sonradan evlenen olupta bilgilerinin girilmesi gerektiğinde sıkıntı olacaktır.
Bu konuda sizin bir çözüm üretmenizi rica edebilirmiyim.
Saygılar...
 
mantıklı.

şöyle olabilir.
uf1'deki label silinir. yerine Medeni Durumu adında bir combobox eklenir. combobox'a sadece Evli ve Bekar seçenekleri yüklenir. Bekar seçilirse bir şey yapılmaz, kod devam eder. Evli seçilirse uf2 yüklenir.

UserForm_Initialize olayına aşağıdaki satırlar ile comco'nun değerlerini eklemek mümkün.

Kod:
With ComboBox1 
   .AddItem "Evli" 
   .AddItem "Bekar" 
End With

userform'un kod modülüne aşağıdaki olay kodunu da ekleyince istenilen durum sağlanır.
Kod:
Private Sub ComboBox1_Change()

If Me.ComboBox1.Value = "Evli" Then
    UserForm2.Show
End If

End Sub
 
Teşekkür ederim hocam sanırım bu konu bu şekilde çözülmüş oldu ellerinize sağlık sizi yorduysam af ola.
Saygılarımla...
 
Geri
Üst