TextBox Sorunu

06/12/2014, 21:56

kenan827

Merhaba arkadaşlar ekli dosyamda FRODEME deki TOPLAMODEME TextBoxsu Kayıttan sonra içi boşalsın (0,00) görünmesin istiyorum. 
Kaydet dediğimizde TOPLAMODEME TextBoxsu boş olduğu zaman uyarı versin kayıt yapmasın. Yani bu kod devreye girsin (If IsNull(Me.TOPLAMODEME) Then MsgBox "LÜTFEN ÖDEME TUTARINI GİRİNİZ", 48, "Kayıt İşlemi": Me.TOPLAMODEME.SetFocus: Exit Sub)


Dosyayı Bir türlü yükleyemedim hata veriyor. Kodları ekliyorum.



Option Compare Database
Option Explicit

Private Sub Liste16_AfterUpdate()

    ' Denetime uyan kaydı bul.

    Dim rs As Object



    Set rs = Me.Recordset.Clone

    rs.FindFirst "[ISLEMNO] = " & Str(Nz(Me![Liste16], 0))

    If Not rs.EOF Then Me.Bookmark = rs.Bookmark

End Sub



Private Sub Liste22_AfterUpdate()

    ' Denetime uyan kaydı bul.

    Dim rs As Object



    Set rs = Me.Recordset.Clone

    rs.FindFirst "[ISLEMNO] = " & Str(Nz(Me![Liste22], 0))

    If Not rs.EOF Then Me.Bookmark = rs.Bookmark

End Sub



Private Sub Liste22_Click()

Me.Form.Requery

End Sub



Private Sub ANAISLEMLER_ISLEMTARIHI_Enter()

ANAISLEMLER_ISLEMTARIHI.BackColor = vbYellow

End Sub



Private Sub ANAISLEMLER_ISLEMTARIHI_Exit(Cancel As Integer)

ANAISLEMLER_ISLEMTARIHI.BackColor = vbWhite

End Sub



Private Sub Form_BeforeUpdate(Cancel As Integer)

Dim C As Integer

C = MsgBox("Ödeme Kaydedi Yaılsın mı?", vbYesNo + vbQuestion + vbDefaultButton1, " Bilgi")

If C = vbNo Then

DoCmd.RunCommand acCmdUndo

End If

End Sub



Private Sub Form_Close()

Forms!MUSTERIBILGILERI!sattop = Dsum ("[TOPLAMSATIS]", "ANAISLEMLER", "[MNO]=Forms![MUSTERIBILGILERI]![MNO]")

Forms!MUSTERIBILGILERI!odetop = Dsum ("[TOPLAMODEME]", "ANAISLEMLER", "[MNO]=Forms![MUSTERIBILGILERI]![MNO]")

End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = vbKeyF8 Then

If MsgBox("MÜŞTERİDEN YENİ TAHSİLAT YAPMAK İSTİYOR MUSUNUZ?", vbYesNo + vbQuestion, "Müşteri Takip") = vbYes Then

    DoCmd.GoToRecord , , acNewRec

    Me.ANAISLEMLER_ISLEMTARIHI.Enabled = True

    Me.YAPILANISLEM.Enabled = True

    Me.TOPLAMODEME.Enabled = True

    Me.ANAISLEMLER_ISLEMTARIHI.SetFocus

    Else

    Me.Undo

    End If

ElseIf KeyCode = vbKeyF2 Then

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Me.Liste24.Requery

ElseIf KeyCode = vbKeyF4 Then

Dim C As Integer

C = MsgBox("Ödeme kaydı silinecek..! Eminmisiniz?", vbOKCancel + vbQuestion, "Müşteri Takip")

If C = vbOK Then

    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70

    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

    Me.Liste24.Requery

Else

Me.Undo

End If

End If

End Sub



Private Sub Form_KeyPress(KeyAscii As Integer)

If KeyAscii = vbKeyEscape Then

DoCmd.Close

End If

End Sub



Private Sub Form_Open(Cancel As Integer)

Me.ANAISLEMLER_ISLEMTARIHI.Enabled = False

Me.TOPLAMODEME.Enabled = False

Me.YAPILANISLEM.Enabled = False

On Error GoTo hata

hata: Exit Sub

End Sub



Private Sub Liste24_AfterUpdate()

    ' Denetime uyan kaydı bul.

    Dim rs As Object



    Set rs = Me.Recordset.Clone

    rs.FindFirst "[ISLEMNO] = " & Str(Nz(Me![Liste24], 0))

    Me.ANAISLEMLER_ISLEMTARIHI.Enabled = True

    Me.YAPILANISLEM.Enabled = True

    Me.TOPLAMODEME.Enabled = True

    If Not rs.EOF Then Me.Bookmark = rs.Bookmark

End Sub



Private Sub Komut26_Click()

On Error GoTo Err_Komut26_Click

If MsgBox("MÜŞTERİDEN YENİ TAHSİLAT YAPMAK İSTİYOR MUSUNUZ?", vbYesNo + vbQuestion, "Müşteri Takip") = vbYes Then

    DoCmd.GoToRecord , , acNewRec

    Me.ANAISLEMLER_ISLEMTARIHI.Enabled = True

    Me.YAPILANISLEM.Enabled = True

    Me.TOPLAMODEME.Enabled = True

    Me.ANAISLEMLER_ISLEMTARIHI.SetFocus

    Else

    Me.Undo

    End If

Exit_Komut26_Click:

    Exit Sub



Err_Komut26_Click:

    MsgBox Err.Description

    Resume Exit_Komut26_Click

    

End Sub

Private Sub Komut27_Click()

''''On Error GoTo Err_Komut27_Click

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

    Me.Liste24.Requery

    Me.ANAISLEMLER_ISLEMTARIHI.SetFocus '''''Kayıtan sonra İmleç istediğimiz ListBoxa gider

''''Exit_Komut27_Click:

   ''' Exit Sub



''''Err_Komut27_Click:

    '''''MsgBox Err.Description

   ''''' Resume Exit_Komut27_Click

  DoCmd.GoToRecord , , acNewRec 'TextBoxların içini temizler

End Sub

Private Sub Komut28_Click()

On Error GoTo Err_Komut28_Click



If IsNull(Me.YAPILANISLEM) Then MsgBox "<<<< LÜTFEN SİLMEK İSTEDİĞİNİZ ÖDEMEYİ SEÇİNİZ >>>>", 48, "Kayıt İşlemi": Me.YAPILANISLEM.SetFocus: Exit Sub '''''



Dim C As Integer

C = MsgBox("Ödeme kaydı silinecek..! Eminmisiniz?", vbOKCancel + vbQuestion, "Müşteri Takip")

If C = vbOK Then

    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70

    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

    Me.Liste24.Requery

ElseIf C = vbCancel Then

Me.Undo

End If



Exit_Komut28_Click:

    Exit Sub



Err_Komut28_Click:

    MsgBox Err.Description

    Resume Exit_Komut28_Click

    

End Sub

Private Sub Komut29_Click()

On Error GoTo Err_Komut29_Click





    DoCmd.Close



Exit_Komut29_Click:

    Exit Sub



Err_Komut29_Click:

    MsgBox Err.Description

    Resume Exit_Komut29_Click

    

End Sub

Private Sub Komut30_Click()

On Error GoTo Err_Komut30_Click

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

    Me.Liste24.Requery

   

Exit_Komut30_Click:

    Exit Sub



Err_Komut30_Click:

    MsgBox Err.Description

    Resume Exit_Komut30_Click

    

End Sub



Private Sub TOPLAMODEME_Enter()

TOPLAMODEME.BackColor = vbYellow

End Sub



Private Sub TOPLAMODEME_Exit(Cancel As Integer)

TOPLAMODEME.BackColor = vbWhite

End Sub



Private Sub YAPILANISLEM_Enter()

YAPILANISLEM.BackColor = vbYellow

End Sub



Private Sub YAPILANISLEM_Exit(Cancel As Integer)

YAPILANISLEM.BackColor = vbWhite
End Sub

08/12/2014, 15:42

ozanakkaya

Örnek uygulamanızı tekrar eklemeyi deneyiniz.
08/12/2014, 19:49

atoz112

Sayın kenan827,

Öncelikle,sayın ozan’ın da bahsettiği gibi,örnek uygulamanızı eklediğiniz takdirde daha geçerli ve verimli bilgi veya örnek uygulama edinime imkanı sağlayabilirsiniz.

Fakat,bir ön bilgi paylaşımı olması için;

Sanırım kayıt işlemi için kullandığınız komut butonu, Komut27 geçerli.bu butonun içeriğini aşağıdaki kodlama ile değiştirdiğinizde sorununuzun çözümü için sonuç elde edebilirsiniz.fakat,siz yine de örneğinizi eklemeyi unutmayınız.bilgilerinize.

Kod:
If IsNull(Me.TOPLAMODEME) or me.TOPLAMODEME="" Then
    Me.Undo
    MsgBox "LÜTFEN ÖDEME TUTARINI GİRİNİZ", 48, "Kayıt İşlemi"
    Me.TOPLAMODEME.SetFocus
else
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
       Me.Liste24.Requery
      Me.ANAISLEMLER_ISLEMTARIHI.SetFocus '''''Kayıtan sonra İmleç istediğimiz ListBoxa gider
end if

İyi çalışmalar,saygılar.
15/12/2014, 17:16

atoz112

Sayın kenan827,


konu ile ilgili son durumunuz ne aşamadadır,bilgilendirmek ister misiniz.teşekkürler.

iyi çalışmalar,
saygılar.
17/12/2014, 17:27

kenan827

Çok teşkkürler arkadaşlar atoz112 arkadaşımızın yazdığı kodu uyguladım sorun hal oldu.