Skip to main content

#EvdeKal


Formda Açılır Kurularda 3101 Hatası Veriyor

Formda Açılır Kurularda 3101 Hatası Veriyor

Çözüldü #1
iyi çalışmalar;

Formda yeni ekleme yaparken Çalışıyor/ayrıldı, Vize Bitiş Tarihi ve Personel özel Durum seçimlerinde  3101 hatası veriyor.

[Resim: do.php?imgf=1fab916846721.jpg]
.rar Problem.rar (Dosya Boyutu: 430,76 KB | İndirme Sayısı: 2)
haziran4, 15-05-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 23/05/2019, 09:06, Düzenleyen: haziran4.
Cevapla
#2
1 - neden aşağıdaki kodu sürekli kullanmışsınız?
"'Form_Frm_Usta_Bilgileri.Form.Requery" aktif form değil mi
2 - bu formun bağlı olduğu tabloda "boş olmaması gereken" alan hangisi?
"VizeTakipID" ise bu alan neye göre oluşturuluyor, otomatik sayı değil?

Visual Basic Code
Private Sub Calisiyor_Ayrildi_AfterUpdate()
'Form_Frm_Usta_Bilgileri.Form.Requery
End Sub
___________________________________
Private Sub Gorevi_AfterUpdate()
'Form_Frm_Usta_Bilgileri.Form.Requery
End Sub
___________________________________
Private Sub Personel_Ozel_Durumu_AfterUpdate()
'Form_Frm_Usta_Bilgileri.Form.Requery
End Sub
___________________________________
Private Sub Personel_Ozel_Durumu_Change()
'Form_Frm_Usta_Bilgileri.Form.Requery
End Sub
___________________________________
Private Sub Vize_Bitis_Trh_AfterUpdate()
'Form_Frm_Usta_Bilgileri.Form.Requery
End Sub

[Resim: do.php?imgf=0d04bc01cb231.jpg]

Cevapla
#3
Sayın @haziran4, @"haliliyas"ın cevabına ek olarak, formun kayıt kaynağındaki sorguya göre, forma yeni kayıt eklerken tablolarda birincil anahtar olarak belirlenen alanlara veri eklenmesi lazım.

UstaBul butonu ile metin kutusuna veri aktarmazsanız formun alt kısmına eklediğiniz "UstaID" metin kutusu boş kalır. Bu alan boş iken kaydet butonuna tıklarsanız resimdeki hatayı verir. Kaydet butonuna dolu olması gereken alanların kontrolü için;

Visual Basic Code
if len(UstaID) = 0 then

msgbox("Usta seçin")
exit sub
elseif len(FirmaID)=0  then

msgbox("firma seçin")
exit sub
end if



şeklinde kod eklemelisiniz. 

İlişkilendirmeye göre "Tbl_Ustalar_Data" isimli tablodaki VizeTakipID alanına veri kaydedilmesi gerekli. Kayıt esnasında tablodaki bu alan boş kalıyor. Tablodaki VizeTakipID alanının veri türünü Otomatik sayı olarak değiştirmeniz gerekli.

"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#4
[quote pid='157311' dateline='1558597089']

Visual Basic Code
Private Sub Calisiyor_Ayrildi_AfterUpdate()
'Form_Frm_Usta_Bilgileri.Form.Requery
End Sub
___________________________________
Private Sub Gorevi_AfterUpdate()
'Form_Frm_Usta_Bilgileri.Form.Requery
End Sub
___________________________________
Private Sub Personel_Ozel_Durumu_AfterUpdate()
'Form_Frm_Usta_Bilgileri.Form.Requery
End Sub
___________________________________
Private Sub Personel_Ozel_Durumu_Change()
'Form_Frm_Usta_Bilgileri.Form.Requery
End Sub
___________________________________
Private Sub Vize_Bitis_Trh_AfterUpdate()
'Form_Frm_Usta_Bilgileri.Form.Requery
End Sub

[Resim: do.php?imgf=0d04bc01cb231.jpg]


[/quote]

Bu alanlar daki değişiklik ile Aktif Pasife otomatik yansıması için
haziran4, 15-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#5
o zaman sadece aktif pasif alanını "requery" yapmanız daha uygun olmaz mı?
ayrıca @ozanakkaya hocamın belirttiği gibi gerekli alanı nasıl halletmeyi düşünüyorsunuz?
Cevapla
#6
(24/05/2019 11:44)haliliyas Adlı Kullanıcıdan Alıntı: o zaman sadece aktif pasif alanını "requery" yapmanız daha uygun olmaz mı?
ayrıca @ozanakkaya hocamın belirttiği gibi gerekli alanı nasıl halletmeyi düşünüyorsunuz?

oraları @ozanakkaya hocamın dediği bi i kaydet e ekleme yaptım.

Geçerli olduğunda da
siz hocalarımın yardımı ile şu kodları yazmıştık


Visual Basic Code
Private Sub Form_Current()

If Calisiyor_Ayrildi = "Ayrılmış" Then

    Me.Aktif_Pasif = "Ayrılmış"

    ElseIf Calisiyor_Ayrildi = "Kapalı" Then

    Me.Aktif_Pasif = "Kapalı"

    Me.Vize_Baslangic_Trh = ""

    Me.Vize_Bitis_Trh = ""

    Me.Metin40.BackColor = vbRed

Exit Sub

    

ElseIf Me.Personel_Ozel_Durumu <> "" Then Me.Aktif_Pasif = "Aktif"

Me.Metin40.BackColor = vbGreen

ElseIf Me.Vize_Bitis_Trh < Date Then Me.Aktif_Pasif = "Pasif"

Me.Metin40.BackColor = vbRed

ElseIf Me.Personel_Ozel_Durumu = "" Or Me.Vize_Bitis_Trh < Date Then Me.Aktif_Pasif = "Pasif"

Me.Metin40.BackColor = vbRed



End If

Form_Frm_Usta_Bilgileri.Form.Requery
End Sub



açılır kutulardaki verilere göre aktif pasif yazması için güncelleştirme sonrasında sayfayı yenilerse o kodlar aktif olur ve yazar diy düşünmüştüm.  Ama istediğim olmuyor. 

haziran4, 15-05-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 24/05/2019, 12:04, Düzenleyen: haziran4.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task