1

Konu: InteractiveChange

Komutu aşağıdaki şekilde kullanırken
Ör :

3 nolu fatura daha önce kullanıldıysa 3 e bastığımızda hemen uyarı ekrana geliyor ve 3 le başlayan bir rakkam yazdırmıyor.
Bunun yerine "Enter "veya "Tab" tuğuna bastğımızda uyarının gelmesini sağlayabilirmiyiz ?

   PROCEDURE txtNo.InteractiveChange
            with this.parent

             SELE 1
              SEEK .txtNo.value
                IF FOUND()
*==========================================================================================
                 MessageBox('Fatura No Daha Önce Kullanılmış '+Chr(13)+'Fatura Noyu Değiştirin', 16, 'Dikkat !!!!!')
                .txtNo.SetFocus()
*==========================================================================================
                ENDIF

            endwith
   ENDPROC

2

Re: InteractiveChange

interactivechange yerine valid veya lostfocus kullanmayı denedin mi ?

3

Re: InteractiveChange

doğrusu Özcan'ın dediği gibi,
bence tercihan Valid Event - RETURN -1 / 0 / 1 gibi çeşitlemeler yapabilirsin, kodundaki .txtNo.SetFocus() işini görebilecek.

İlla InteractiveChange kullanmak istiyorsan
SET EXAC ON komutu ile ararsan sadece tam fatura numarasını bulduğunda çalışır.
Buradan numeric değil String kullandığını düşünüyorum, o nedenele

Visual Fox Pro
IF SEEK (ALLTRIM(.txtNo.Value))

.....
ENDIF

şeklinde kullan, bence FOUND() yerine SEEK() daha iyi

VFP9 SP2