• DİKKAT

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

Kaydet komut hatası

Birde sıra No yazan yere ID No girelim.Birbirinden benzersiz numaralar.İleride bu çok işinize yarayacaktır.Günelleme silme gibi işlerde.

Hocam her hafta yeni numaralar vereceğiz ki.ve de 1 den başlayacak.
ID olmadan olsa olurmu.
Olmaz derseniz çifte numara ile çalışalım.
ID ve Sıra No olarak..
 
19ncu mesajımı okudunuzmu?O konuda ne diyorsunuz.Ben o şekilde tasarlıyorum olayı.:cool:
 
Hocam her hafta yeni numaralar vereceğiz ki.ve de 1 den başlayacak.
ID olmadan olsa olurmu.
Olmaz derseniz çifte numara ile çalışalım.
ID ve Sıra No olarak..
Diyelim ki arşive attınız.Daha sonra atılanlarda değişiklik yapmak istediniz veya silmek istediniz.Neye göre yapacaksınız bunu.Yapamazsınız.Birbirine benzersiz ID nolar verilir kayıtlara.Veri tabanı böyle tasarlanır.İsim ve soyisime göre değişikliğ yapmak isteseniz bu seferde ayni isim ve soy isimden 2 tane olabilir.İşte o zaman program çuvallar.Ama siz dosyayı olduğu gibimi veriyorsunzu ay sonunda.
Yeni ayda arşivde sıfırdanmı başlıyor?
 
Mademki siz öyle tasarladınız.Bende o şekilde devam ediyorum.Ok.:cool:
 
Hocam sayfa1 e her hafta 5-10 kayıt yapıp gönderiyoruz.Haftalık olarak kullanılan bir form.
Sonra bunu arşive atalım,bilahere çağırıp işlem yapmayacağız,ama elimizde bulunmalı.Düzeltmeler çıktısı alınan form üzerinde yapılır,arşivde olmasına gerek yok.Arşiv sadece kayıt tutması için,aslında ben sadece veri girişi için bu formu tasarlayayım dedim ama kodlardan sonra formlar bizim için tanınmaz hale geliyor,sonunda da hocalarmızın gayretiyle ortaya çıkan ŞEY Bill amcamın bile aklına gelmeyecek şekle bürünüyor.Türk'ün zekasıyla birleşen en ufak bir kodcuklar bile milyarlarca liraya satılan programlar kadar işlevsel oluyor.
Diyorum ki,
ya
Windows un kod dili Türkçe olsaydı....
 
Diyelim ki arşive attınız.Daha sonra atılanlarda değişiklik yapmak istediniz veya silmek istediniz.Neye göre yapacaksınız bunu.Yapamazsınız.Birbirine benzersiz ID nolar verilir kayıtlara.Veri tabanı böyle tasarlanır.İsim ve soyisime göre değişikliğ yapmak isteseniz bu seferde ayni isim ve soy isimden 2 tane olabilir.İşte o zaman program çuvallar.Ama siz dosyayı olduğu gibimi veriyorsunzu ay sonunda.
Yeni ayda arşivde sıfırdanmı başlıyor?

Hocam ID olarak Dönem Kullanma şansımız varmı ki.Sadece öneri.Arşivden o döneme ait kayıtları ister,üstünde herşeyi yapabiliriz.Arşiv kayıtları elde kalacak,alt alta onlarca veri kaydedilecek,Sayfa1 her cuma günü 1 haftalık dodurulacak,çıktı alındıktan sonra doğru arşive gidcek,Tertemiz bir sayfa ile Cumaya kadar bekleyecek.Cuma günü yeniden kayıt...
Eski Tercüman Gazetesinin logosu gibi
"Dünya Her Sabah Yeniden Kurulur,Her Sabah Taze Bir Başlangıçtır"
 
Dosya 30ncu mesajda.:cool:
 
Selam Hocam,
Dosyayı alacağım,görür görmez mesajı yazayım dedim.Teşekkürü yazayım dedim aslında.
Kodlara baktığıda işin ne kadar da zor olduğunu şimdi daha iyi anladım,hocalarımızın ısrarla ne yapmak istiyorunuz,nereye kayıt edeceksiniz,tam açıklama istemelerinin sebebinin aslında bir seferde,en fazla 23 mesajda halledebilmeleri için olduğunu anlamış bulunuyorum.
Bizler anlatma özürlüyüz.
Form yapalım,arşiv yapalım,kayıt edelim,vsvs.
Oldu da bitti maşaallah..
Bizler böyle zannediyoruz tabi ki,
Ama kazın ayağının öyle olmadığını anlıyoruz.
Sizlere şu mübarek Ramazan ayı arefesinde binlerce kez dua ediyoruz,Allah(cc) tuttuğunuzu altın etsin.
İyi ki varsınız.

Bende saatlerce sadece Değişkenlere çalıştım.(Dim vs)..Ne öğrendim biliyormusunuz.
Koskocaman bir O...............
O değil tabi ki efem,sadece kocaman bir sıfır.
Tevekkeli Sıfırdan başlayın demiyorlar boşuna.:)
Biz acemiler okuyoruz kodları,öğrendiğimiz kocaman bir Sıfır..
Yeniden okuyoruz,yine aynı şey
Velhasıl hep Sıfırdan başlıyoruz..
:)
Sevgi ve saygılarımla.
Step To Step........
 
For Each txt In Frame2.Controls
If IsNumeric(txt.Tag) Then
If CInt(txt.Tag) > 100 Then
sut = CInt(txt.Tag) - 100
sh.Cells(sat, sut).Value = CLng(txt.Value)
Else
sut = CInt(txt.Tag)
sh.Cells(sat, sut).Value = txt.Value
End If
End If
Next txt
sh.Cells(sat, 7).Value = Format(TextBox13.Text, "dd.mm.yyyy") & "-" & Format(TextBox23.Text, "hh:mm")
sh.Cells(sat, 9).Value = Format(TextBox15.Text, "dd.mm.yyyy") & "-" & Format(TextBox26.Text, "hh:mm")
sh.Cells(sat, 10).Value = TextBox16.Text & "-" & Format(TextBox24.Text, "#,##0.00")
sh.Cells(sat, 13).Value = TextBox19.Text & "/" & TextBox27.Text
MsgBox "Kayıt Başarı ile Girildi.", vbOKOnly + vbInformation, Application.UserName
On Error Resume Next
For Each txt In Frame2.Controls
txt.Value = ""
Next txt
End Sub

Gününüz aydın olsun.
Hocam bu hata ne ola kine..
 
Gününüz aydın olsun.
Hocam bu hata ne ola kine..
Günaydın.
Textbox12'yi kontrol etmeyi unutmuşum.
Anne tc no sayısal bir değer olmalı.Siz string girince oradaki şlemde sayısal gibi işlem yapıyor ondan hata oluştu.
Durumu şimdi düzelttim.dosya ektedir.
Kod:
Private Sub CommandButton2_Click()
Dim txt As Control, sh As Worksheet, sat As Long
Set sh = Sheets("Sayfa1")
For Each txt In Frame2.Controls
    If IsNumeric(txt.Tag) Then
        If txt.Value = "" Then
            If CInt(txt.Tag) > 100 Then
                sut = CInt(txt.Tag) - 100
                Else
                sut = CInt(txt.Tag)
            End If
            MsgBox "[ " & sh.Cells(5, sut).Value & " ] Boş olamaz." & vbLf & _
            "Kayıt Yapılmadı.", vbCritical, "UYARI"
            txt.SetFocus
            Exit Sub
        End If
    End If
Next txt
If Not IsNumeric(TextBox8.Text) Then
    MsgBox "Sıra No Sayısal Bir Değer Olmalıdır." & vbLf & "Kayıt Yapılmadı.", vbCritical, "UYARI"
    TextBox8.SetFocus
    TextBox8.SelStart = 0
    TextBox8.SelLength = Len(TextBox8.Text)
    Exit Sub
End If
If Not IsNumeric(TextBox9.Text) Then
    MsgBox "Barkod No Sayısal Bir Değer Olmalıdır." & vbLf & "Kayıt Yapılmadı.", vbCritical, "UYARI"
    TextBox9.SetFocus
    TextBox9.SelStart = 0
    TextBox9.SelLength = Len(TextBox9.Text)
    Exit Sub
End If
If Not IsNumeric(TextBox12.Text) Then
    MsgBox "Anne TC No Sayısal Bir Değer Olmalıdır." & vbLf & "Kayıt Yapılmadı.", vbCritical, "UYARI"
    TextBox12.SetFocus
    TextBox12.SelStart = 0
    TextBox12.SelLength = Len(TextBox12.Text)
    Exit Sub
End If

If Not IsDate(TextBox13.Text) Then
    MsgBox "Bebek doğum tarihi geçerli bir tarih Olmalıdır." & vbLf & "Kayıt Yapılmadı.", vbCritical, "UYARI"
    TextBox13.SetFocus
    TextBox13.SelStart = 0
    TextBox13.SelLength = Len(TextBox13.Text)
    Exit Sub
End If
If Not IsDate(TextBox23.Text) Then
    MsgBox "Bebek Doğum saati geçerli bir saat Olmalıdır." & vbLf & "Kayıt Yapılmadı.", vbCritical, "UYARI"
    TextBox23.SetFocus
    TextBox23.SelStart = 0
    TextBox23.SelLength = Len(TextBox23.Text)
    Exit Sub
End If
If Not IsDate(TextBox15.Text) Then
    MsgBox "Kan alma Tarihi geçerli bir tarih olmalıdır." & vbLf & "Kayıt Yapılmadı.", vbCritical, "UYARI"
    TextBox15.SetFocus
    TextBox15.SelStart = 0
    TextBox15.SelLength = Len(TextBox15.Text)
    Exit Sub
End If
If Not IsDate(TextBox26.Text) Then
    MsgBox "Bebek Kan alma saati saati geçerli bir saat Olmalıdır." & vbLf & "Kayıt Yapılmadı.", vbCritical, "UYARI"
    TextBox26.SetFocus
    TextBox26.SelStart = 0
    TextBox26.SelLength = Len(TextBox26.Text)
    Exit Sub
End If
If TextBox16.Text = "" Then
    MsgBox "Doğum şekli Boş olamaz." & vbLf & "kayıt yapılmadı"
    TextBox16.SetFocus
    Exit Sub
End If
If Not IsNumeric(TextBox24.Text) Then
    MsgBox "Bebeğin ağırlığı Sayısal Bir Değer Olmalıdır." & vbLf & "Kayıt Yapılmadı.", vbCritical, "UYARI"
    TextBox24.SetFocus
    TextBox24.SelStart = 0
    TextBox24.SelLength = Len(TextBox24.Text)
    Exit Sub
End If
If TextBox19.Text = "" Then
    MsgBox "Adresin bağlı olduğu ilçe boş olamaz." & vbLf & "Kayıt Yapılmadı.", vbCritical, "UYARI"
    TextBox19.SetFocus
    Exit Sub
End If
If TextBox27.Text = "" Then
    MsgBox "Adresin bağlı olduğu İl boş olamaz." & vbLf & "Kayıt Yapılmadı.", vbCritical, "UYARI"
    TextBox27.SetFocus
    Exit Sub
End If
For i = 6 To 12
    If sh.Cells(i, "A").Value = "" Then
        sat = i
        Exit For
    End If
Next
If sat = 0 Then
    MsgBox "11nci satıra kadar 6 satır doldu.Yeni kayıt yapamazsınız." & vbLf & _
    "Yeni kyıt yapmak için 6ncı satırla 11nci satır aralarını siliniz.", vbCritical, "UYARI"
    Exit Sub
End If
For Each txt In Frame2.Controls
    If IsNumeric(txt.Tag) Then
        If CInt(txt.Tag) > 100 Then
            sut = CInt(txt.Tag) - 100
            sh.Cells(sat, sut).Value = CDbl(txt.Value)
            Else
            sut = CInt(txt.Tag)
            sh.Cells(sat, sut).Value = txt.Value
        End If
    End If
Next txt
sh.Cells(sat, 7).Value = Format(TextBox13.Text, "dd.mm.yyyy") & "-" & Format(TextBox23.Text, "hh:mm")
sh.Cells(sat, 9).Value = Format(TextBox15.Text, "dd.mm.yyyy") & "-" & Format(TextBox26.Text, "hh:mm")
sh.Cells(sat, 10).Value = TextBox16.Text & "-" & Format(TextBox24.Text, "#,##0.00")
sh.Cells(sat, 13).Value = TextBox19.Text & "/" & TextBox27.Text
MsgBox "Kayıt Başarı ile Girildi.", vbOKOnly + vbInformation, Application.UserName
On Error Resume Next
For Each txt In Frame2.Controls
    txt.Value = ""
Next txt
End Sub
 

Ekli dosyalar

Günaydın Hocam,
Sanki benim bu form sizin rüyalarınızı kaçıracak gibi.Hemşire arkadaşlarımda sizlere dua edecek.
Teşekkür ederim.Step.....
 
Günaydın Hocam,
Sanki benim bu form sizin rüyalarınızı kaçıracak gibi.Hemşire arkadaşlarımda sizlere dua edecek.
Teşekkür ederim.Step.....
Rica ederim.
Sıra no textboxa elle giriliyor.Bu sıra no sayfadaki a sütununda 1 den 6 ya kadar olaak sıra no ise Bu sıra no'yu biz kodla otomatik olarak verdirebiliriz,ve o textbox'ı kilitleriz.Ayrıca arşive atma kodlarınıda istediğiniz bir zamanda yapabiliriz.
İyi çalışmalar.:cool:
 
Hocam selam,
Sıra No bazı kurumlarda 1-5 arası bazılarında ise 10 dan fazla oluyormuş,alttaki açıklamayı silip,o kurumların öyle kullanmasını sağlayabilirim,ama 10 dan fazla ise iki sayfaya yazmak zorunda kalacaklar,bunu da düşünmem gerekecek.yarın listeler gelince inceleyeceğim,ortalama ve en yüksek akyıt sayısını inceleyeceğim,
Görüşmekl dileğiyle.
 
Hocam bu kod pc de hata veriyor,ev 2007 burası 2003 ...bu bir sorun değildir sanırım.

sh.Cells(sat, sut).Value = CLng(txt.Value)
 
Hocam bu kod pc de hata veriyor,ev 2007 burası 2003 ...bu bir sorun değildir sanırım.

sh.Cells(sat, sut).Value = CLng(txt.Value)
son yolladığım dosyada onu düzeltmiştik.
Hata veren satırdaki sut yazan yere mousunu imlecini getirin ve belirecek olan yazıyı olun.Sut ta bir değer olacak o değeri öğrenin bakalım.O zman ona balım hangi textboxta hata oluşuyor.
Aslında olmaması lazım.Son yolladığım dosyada düzeltmiştim.Orada hata veriyorsa evde vercektir.:cool:
 
sat 6 ve sut 6 da hata gozukuyor,TC ile ilgili sutun.ben o sutunu 11 haneye zorlamıştım (kodsuz),ondan olabilir mi acaba.
 
sat 6 ve sut 6 da hata gozukuyor,TC ile ilgili sutun.ben o sutunu 11 haneye zorlamıştım (kodsuz),ondan olabilir mi acaba.
o zaman siz başka dosyayı çalıştırıyorsunuz.
Benim son eklediğim dosyayı kullanmıyorsunuz.
Son eklediğim dosyada aşağıdaki kodları eleyerek bu durumu önlemiştim.
Bakın bakalım bu kodlar command butonun içinde varmı?
Birde ilk anda çalıştı sanırım.Sonra çalışmadı.Bu hata anne tc noya string bir değer girerseniz oluşur.Demekki o textboxa string değer girmeye çalışıyorsunuz.Oysa o texytboxa sayısal bir değer girmeniz gerekiyor.Ama yinede böyle olsa bile son değişkille bunu giderdim ve dosyayı size yolladım.
Kod:
If Not IsNumeric(TextBox12.Text) Then
    MsgBox "Anne TC No Sayısal Bir Değer Olmalıdır." & vbLf & "Kayıt Yapılmadı.", vbCritical, "UYARI"
    TextBox12.SetFocus
    TextBox12.SelStart = 0
    TextBox12.SelLength = Len(TextBox12.Text)
    Exit Sub
End If
 
Tamam hata bendeymiş.
Alttaki satırda değişkeni küçük tutmuşum.Kırmızı renkli yeri düzeltince oldu.
Dosyayı 30ncu mesajımdan indirebilirsiniz.:cool:
Kod:
sh.Cells(sat, sut).Value = [B][COLOR="Red"]CDbl[/COLOR][/B](txt.Value)
 
Hocam,
İlgili kodlar aynı,çalıştığım dosya da 30.mesajınızdaki dosya.
Ne denediysem olmadı,harflerin üzerindeki rakamlardan da girdim lakin olmadı.
 
Geri
Üst