Eklediğim programda "is_id" türüne göre kayıt oluştutulduysa kaydı güncelleştirmesini, yoksa eklemesini istiyorum. Bir türlü Yapamadım. Ayrıca öğretmen sayısı girilmeden hesapla/güncelleştir butonu çalışmaması ve öğretmen sayısı kısmında sıfır ve boşluk kriterlerinde işlem yapmamasını nasıl sağlarız.
"Ana menüden"-"dersyükü hesabı" -"hesapla/güncelle" butonu tıklama yordamı.
Kayıt Varsa Güncelle, Yoksa Ekle
Dcount ile kaydın olup olmadığı kontrol edilebilir.
If DCount("ders_ter_id", "tbl_dersyuku_alt", "[is_id]=" & Gis_id) > 0 Then
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE tbl_dersyuku_alt set tbl_dersyuku_alt.ogrtsay=" & Gogrtsay & ",tbl_dersyuku_alt.alansef=" & Galansef & ",tbl_dersyuku_alt.atlsef = " & Gatlsef & ",tbl_dersyuku_alt.ibe = " & Gisletme & ",tbl_dersyuku_alt.ddh = " & Gddh & ",tbl_dersyuku_alt.dersyükü = " & Gfiilidersyk & ",tbl_dersyuku_alt.ogrfiilidersyk = " & Gogrtfiili & ",tbl_dersyuku_alt.ogrtplmdrsyk = " & Gogrtplyk & ",tbl_dersyuku_alt.tpldersyk = " & Gtoplamdersyk & ""
DoCmd.SetWarnings True
Else
DoCmd.SetWarnings False
DoCmd.RunSQL "insert into tbl_dersyuku_alt(ogrtsay,alansef,atlsef,ibe,ddh,dersyükü,ogrfiilidersyk,ogrtplmdrsyk,tpldersyk,is_id)values (" & Gogrtsay & "," & Galansef & "," & Gatlsef & "," & Gisletme & "," & Gddh & "," & Gfiilidersyk & "," & Gogrtfiili & "," & Gogrtplyk & "," & Gtoplamdersyk & "," & Gis_id & ")"
DoCmd.SetWarnings True
End If
bu şekilde deniyorum lakin hatalar alıyorum.
Yapamadım. Arkadaşlar. Bu konuda yardımcı olabilir misiniz?
Bilgisayar olmadığı için dosyanızı inceleyemiyorum sorun nerede çıkıyor?
dcount sonucu doğru gösteriyor mu?
dcount sonucu doğru gösteriyor mu?
https://resimyukle.org/i/BBtiu
Ana form ve alt formla "is_id" ile bağlı
Amacım şu dersler tablosundan seçilen dersleri alt forma aktardıktan sonra, eklediğim resimdeki değişken verileri hesaplatarak ilgili tablolara göndermek.
Eğer tabloda seçilen işe ait kayıt varsa güncelleyecek, yoksa ekleyecek.
Hatalar şu şekilde oluşuyor.
Öğretmen sayısı alanına veri girilmeden güncelle butonuna basınca bağlı tabloya kayıt atıyor. Oysa atmaması gerek.
Yine Öğretmen alanına veri girilip güncelle butonuna basılınca tablonun alt satırına veriyi atıyor ve forma mevcut veri gelmiyor.
**** Öğretmen sayısı alanı nına sıfır boşluk ve metinsel karakter girilmemeli.
***** veri girişi sadece güncelle kaydet butonuyla sağlanmalı
Ana form ve alt formla "is_id" ile bağlı
Amacım şu dersler tablosundan seçilen dersleri alt forma aktardıktan sonra, eklediğim resimdeki değişken verileri hesaplatarak ilgili tablolara göndermek.
Eğer tabloda seçilen işe ait kayıt varsa güncelleyecek, yoksa ekleyecek.
Hatalar şu şekilde oluşuyor.
Öğretmen sayısı alanına veri girilmeden güncelle butonuna basınca bağlı tabloya kayıt atıyor. Oysa atmaması gerek.
Yine Öğretmen alanına veri girilip güncelle butonuna basılınca tablonun alt satırına veriyi atıyor ve forma mevcut veri gelmiyor.
**** Öğretmen sayısı alanı nına sıfır boşluk ve metinsel karakter girilmemeli.
***** veri girişi sadece güncelle kaydet butonuyla sağlanmalı
Dim Gfiilidersyk, Gisletme, Gfiil, Gatlsef, Galansef, Gddh, Gtoplamdersyk, Gogrtfiili, Gogrtplyk, Gogrtsay As Integer
If txtogrtsay = 0 Or IsNull(txtogrtsay) Then
MsgBox "Lütfen öğretmen sayısını giriniz!!!!...", vbOKOnly, "Uyari"
Me.Undo
Exit Sub
End If
Gisletme = Dsum ("dersyükü", "tbl_dersyuku", "[is_id]=" & [is_id] & " and [dersadi]='İşletmelerde Beceri Eğitimi'") 'işletme yükü
Gfiil = Dsum ("dersyükü", "tbl_dersyuku", "[is_id]=" & [is_id])
Gfiilidersyk = Gfiil - Gisletme
Galansef = Me.txtalansef
Gatlsef = Me.txtatlsef
Gogrtsay = Me.txtogrtsay
Gis_id = Me.is_id
Gddh = Int(Gfiilidersyk / Me.txtogrtsay)
Gtoplamdersyk = Nz((Gfiilidersyk + Gisletme + Galansef + Gatlsef + Gddh), 0) ' toplam ders yükü
Gogrtfiili = Int(Gfiilidersyk / Gogrtsay) 'öğretmen başına düşen fiili yük
Gogrtplyk = Int(Gtoplamdersyk / Gogrtsay) ' öğretmen başına düşen toplam yük
If DCount("ders_ter_id", "tbl_dersyuku_alt", "[is_id]=" & Gis_id) <> 0 Then
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE tbl_dersyuku_alt set tbl_dersyuku_alt.ogrtsay=" & Gogrtsay & ",tbl_dersyuku_alt.alansef=" & Galansef & ",tbl_dersyuku_alt.atlsef = " & Gatlsef & ",tbl_dersyuku_alt.ibe = " & Gisletme & ",tbl_dersyuku_alt.ddh = " & Gddh & ",tbl_dersyuku_alt.dersyükü = " & Gfiilidersyk & ",tbl_dersyuku_alt.ogrfiilidersyk = " & Gogrtfiili & ",tbl_dersyuku_alt.ogrtplmdrsyk = " & Gogrtplyk & ",tbl_dersyuku_alt.tpldersyk = " & Gtoplamdersyk & ""
DoCmd.SetWarnings True
Else
DoCmd.SetWarnings False
DoCmd.RunSQL "insert into tbl_dersyuku_alt(ogrtsay,alansef,atlsef,ibe,ddh,dersyükü,ogrfiilidersyk,ogrtplmdrsyk,tpldersyk,is_id)values (" & Gogrtsay & "," & Galansef & "," & Gatlsef & "," & Gisletme & "," & Gddh & "," & Gfiilidersyk & "," & Gogrtfiili & "," & Gogrtplyk & "," & Gtoplamdersyk & "," & Gis_id & ")"
DoCmd.SetWarnings True
End If
Forms!frm_tercih_islemleri!.Form.frm_alt_tercih.Requery
'Forms!frm_tercih_islemleri!.Form.frm_ders_Saati.Recalc
'Forms!frm_tercih_islemleri!.Form.frm_ders_Saati.Requery
Forms!frm_tercih_islemleri.Recalc
****** veri girişinden vazgeçilince kayıt oluşturulmamalı.
Son Düzenleme: 23/06/2021, 13:09, Düzenleyen: SeferŞANLI.
Konuyu Okuyanlar: 1 Ziyaretçi