AccessTr.neT

Tam Versiyon: Sql "de Tabloya Kayit Yaparken Bos Deger Kaydi Nasil Yapilir.
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4
(24/02/2020, 00:22)Oğuz Türkyılmaz yazdı: [ -> ]
(23/02/2020, 23:57)Oğuz Türkyılmaz yazdı: [ -> ]
(23/02/2020, 23:23)berduş yazdı: [ -> ]Nz fonksiyonunun temel mantığı eğer alan bossa varsayılan bir değer eklemektir
Nz(sayı, 0) derseniz sayı alanı boşsa 0 yazar
Nz(metin, "deger yok") , metin alani boşsa "deger yok" yazar
Son olarak denemedim ama bence çalışması gerekir diyelim ki
Nz(Tarih, date)  yazarsanız tarih alanı boşsa o günün tarihini girmesi gerek

Nz(txtadisoyadi,"") gibi
iliskisiz formun textboxlari eger metin olarak secildiyse  Sql koduyla kaydetmede sorun yok kaydediyor , sadece tarih, evet/Hayir  ve sayi  alan tiplerinde secildiyse kaydetmiyor bir varsayilan deger vermek gerekiyor denemelerimden anladigim.Sayi alan tipindeki yerlerin basina NZ ekleyip bir deneme yapayim abakalim calistirabilecekmiyim merak ettim.

olmadi olmadigi gibi yaptiklarimi sildikten sonra kodda calismaz oldu hata veriyor.


Tablolarınızda eğer boş geçilebilme olasılığı olan alanlar var ise Varsayılan Değer kısmını -> "" gibi bir boşluk karakteri ile pas geçtirebilirsiniz..
(24/02/2020, 17:44)Umutcan yazdı: [ -> ]
(24/02/2020, 00:22)Oğuz Türkyılmaz yazdı: [ -> ]
(23/02/2020, 23:57)Oğuz Türkyılmaz yazdı: [ -> ]
(23/02/2020, 23:23)berduş yazdı: [ -> ]Nz fonksiyonunun temel mantığı eğer alan bossa varsayılan bir değer eklemektir
Nz(sayı, 0) derseniz sayı alanı boşsa 0 yazar
Nz(metin, "deger yok") , metin alani boşsa "deger yok" yazar
Son olarak denemedim ama bence çalışması gerekir diyelim ki
Nz(Tarih, date)  yazarsanız tarih alanı boşsa o günün tarihini girmesi gerek

Nz(txtadisoyadi,"") gibi
iliskisiz formun textboxlari eger metin olarak secildiyse  Sql koduyla kaydetmede sorun yok kaydediyor , sadece tarih, evet/Hayir  ve sayi  alan tiplerinde secildiyse kaydetmiyor bir varsayilan deger vermek gerekiyor denemelerimden anladigim.Sayi alan tipindeki yerlerin basina NZ ekleyip bir deneme yapayim abakalim calistirabilecekmiyim merak ettim.

olmadi olmadigi gibi yaptiklarimi sildikten sonra kodda calismaz oldu hata veriyor.


Tablolarınızda eğer boş geçilebilme olasılığı olan alanlar var ise Varsayılan Değer kısmını -> "" gibi bir boşluk karakteri ile pas geçtirebilirsiniz..
 Teşekkür ederim.
aşağıdaki kodu dener misiniz?
tüm alanlar boşsa  bile ekliyor.
Private Sub btnKaydet_Click()
Dim SqlEkle As String
Dim dTrh
If IsNull(Me.txtdTarihi) Then dTrh = "Null" Else dTrh = CLng(txtdTarihi) ' yada dTrh = "Null" yerine dTrh = CLng(Date) de yazılabilir

If MsgBox("Girdiginiz veriler kaydedilecektir, Onayliyormusunuz ", vbExclamation + vbYesNo, "Dikkat") = vbYes Then

SqlEkle = " insert into T_Personel " & _
        "( uyeNo, AdiSoyadi, tcNo, dTarihi, dYeri, hesapBakiyesi, durumu, belge ) values " & _
        "(" & Nz(Me.txtuyeNo, "Null") & ",'" & Nz(Me.txtadiSoyadi, "") & "','" & Nz(Me.txttcNo, "") & "', " & _
        dTrh & ",'" & Nz(Me.cbodYeri, "") & "', ccur('" & _
        Nz(Me.txthesapBakiyesi, "0") & "')," & Nz(Me.okdurumu, 0) & ",'#" & Me.Ek_Belge & "#')"

CurrentDb.Execute SqlEkle

Me.txtuyeNo = Null
Me.txtadiSoyadi = ""
Me.txttcNo = ""
Me.txtdTarihi = Null
Me.cbodYeri = ""
Me.txthesapBakiyesi = Null
Me.okdurumu = 0
Me.Ek_Belge = ""

txtuyeNo.SetFocus

End If
End Sub
Sn.@berduş tarih formatini dediginiz gibi 2 sekilde de denedim ama ayni hatayi verdi. NZ kullanmadan cozmek daha basit geldi bana burda 2 degisken tanimlayip ustune insert into da yazilan kodda her alana NZ eklemek uygulamada bana daha cok kod yuku getirecek sadece tarih alani icin bunca zahmete girmeye gerek yok, Tarih olamadan hersekilde kaydedebiliyorum nasilsa. Diger yontem daha basit benim icin uygulamada da daha kisa ordan yurumek benim icin daha kolay olacak. Uygulamada kodla kaydettikten sonra formun alanlarinin  yeni kayit oncesi hazir hale getirilmesi icin yazdimiz

Me.txtuyeNo = ""
Me.txtadiSoyadi = ""
Me.txttcNo = ""
Me.txtdTarihi = "null"
Me.cbodYeri = ""
Me.txthesapBakiyesi = 0
Me.okdurumu = 0
Me.Ek_Belge = ""


kodlari isi biraz uzatiyor. Bununla ilgili bir sorum olacak onada konu acacagim. Onu da basitlestirmek icin her form icin ayri ayri yazmak yerine fonksiyon gibi tanimlayip bir yerden cagirmak gibi bir kolaylik olursa Bu benim icin iliskisiz formda kayit olayini tamamen tum formlara uygulayabilme kolayligini saglar. Yardimlariniz icin tesekkur ederim. Konuyu tasiyabilirsiniz.

[Resim: do.php?img=9734]
b
[Resim: do.php?img=9735]
aynı kodları sizin çalışmanızı indirip ekledim sorunsuz çalıştı?
Icon_rolleyes Icon_rolleyes Icon_rolleyes Icon_rolleyes Icon_rolleyes
Sayfalar: 1 2 3 4