1

Konu: İki Ayrı Gridi Kontrol Etmek

Formumda 2 tane grid ve bir  textbox var. Malzeme.dbf dosyasında giriş ve çıkış işlemleri yapıyorum. İlgili fielde giriş için G , çıkış için Ç kaydediyorum. textbox a eşyanın ismini yazıyorum. textbox a yazdığım isimdeki eşyaların grid1 de G olanlarının , grid2 de de Ç olanlarının filtre edilmesini istiyorum. Ayrıca textbox değiştikçe gridlerin her ikisinin de refresh olmasını istiyorum. Bu konuda yardımlarınızı bekliyorum.

2

Re: İki Ayrı Gridi Kontrol Etmek

her iki grid için sql-select den yararlanabilirsin. 1. grid için "g"  2. grid için "ç" kayıtlarını seçen
sql ifadesiyle kolayca çözülebilir. (gridlerin recordsourse u için sql ifadesini seçerek , sql ifadesini yazarak ve gerekli kontrolleri yaparak)

3

Re: İki Ayrı Gridi Kontrol Etmek

Visual Fox Pro
&& textbox interactive change event yada textbox yanindaki bul cmdbutton kodu

 
Select * From malzeme ;
    WHERE malzeme.mkodu Like [%] + Alltrim(Thisform.txtmkodu.Value) + [%]
And malzeme.GC = [G] ;
    INTO Cursor CrsGirenler NOFILTER
 
Select * From malzeme ;
    WHERE malzeme.mkodu Like [%] + Alltrim(Thisform.txtmkodu.Value) + [%]
And malzeme.GC = [C] ;
    INTO Cursor CrsCikanlar NOFILTER
 
With Thisform
    .grid1.RecordSource=[CrsGirenler]
    .grid2.RecordSource=[CrsCikanlar]
    .Refresh()
Endwith

4

Re: İki Ayrı Gridi Kontrol Etmek

hocam sağol da yeri gelmişken bişey sorayım [%] bu sorguda ne işe yarıyor

5

Re: İki Ayrı Gridi Kontrol Etmek

where isim Like "M%"

demek M ile baslayanlar anlamında. DOsyaadlarında kullanılan wildcardlar gibi. M* - * yerine %, ? yerine _ kullanabiliyorsun. Ancak VFP varsayılan ayarları ile gereksiz. Dogrudan = "M" yazmakla aynı sey. Boyle bir like ile VFP da birscok kaydı kacırırsın (case sensitive).

Bence Ercan'ın soyledigi yontemi tercih et.

Visual Fox Pro
*grdGiren.init

with this
.RecordSourceType = 4
.RecordSource = "select * from myTable where giriscikis == 'G'"+;
   " and upper(malzeme) == upper(thisform.txtMalzeme.Value)"+;
   " into cursor crsGiren"
endwith
 
*grdCikan.init
with this
.RecordSourceType = 4
.RecordSource = "select * from myTable where giriscikis == 'C'"+;
   " and upper(malzeme) == upper(thisform.txtMalzeme.Value)"+;
   " into cursor crsCikan"
endwith
 
* txtMalzeme.interactivechange
with thisform.grdGiren
.RecordSource = .RecordSource
endwith
with thisform.grdCikan
.RecordSource = .RecordSource
endwith

6

Re: İki Ayrı Gridi Kontrol Etmek

Cetin hocam daha efektif bir cevap vermis,

M% m ile baslayanlar
%M m ile bitenler
%M% basi sonu onemli degil icinde M olanlar