1 Son düzenleyen, avrasya34 (06.04.2007 16:06:48)

Konu: select ten dosyaya bağlantı

bir formum var ;
buffer:2
datasas:2
bu forma bir text ve grid ekledim

textin keypress i
***************

#DEFINE DELKEY 127
LPARAMETERS nKeyCode, nShiftAltCtrl
LOCAL cDisplayValue
cDisplayValue = ALLTRIM(THIS.Value)
IF nKeyCode = DELKEY
    cDisplayValue = ALLTRIM(THIS.Value)
    IF LEN(m.cDisplayValue)=1
        cDisplayValue = ""
    ELSE
       * cDisplayValue = LEFT(cDisplayValue,LEN(cDisplayValue)-1)
    ENDIF
ELSE
    cDisplayValue = ALLTRIM(THIS.Value)+CHR(nKeyCode)
ENDIF
THISFORM.LockScreen = .T.
DO CASE
CASE EMPTY(m.cDisplayValue)
    SELECT no,mikrochip,adi,soyadi,evtel1,evtel2,iştel1,iştel2,gsm1,gsm2,fax,padi,pirki FROM hasta INTO CURSOR kayit
    Thisform.Grid1.RecordSource="kayit"
    This.parent.Grid1.Refresh
OTHERWISE
    SELECT no,mikrochip,adi,soyadi,evtel1,evtel2,iştel1,iştel2,gsm1,gsm2,fax,padi,pirki FROM hasta WHERE ;
    adi=ALLTRIM(UPPER(m.cdisplayvalue)) OR soyadi=ALLTRIM(UPPER(m.cdisplayvalue));
    OR ALLTRIM(m.cdisplayvalue)$ALLTRIM(evtel1);
    OR ALLTRIM(m.cdisplayvalue)$ALLTRIM(evtel2);
    OR ALLTRIM(m.cdisplayvalue)$ALLTRIM(istel1);
    OR ALLTRIM(m.cdisplayvalue)$ALLTRIM(istel2);
    OR ALLTRIM(m.cdisplayvalue)$ALLTRIM(gsm1);
    OR ALLTRIM(m.cdisplayvalue)$ALLTRIM(gsm2);
    OR ALLTRIM(m.cdisplayvalue)$ALLTRIM(fax);
    OR ALLTRIM(m.cdisplayvalue)$ALLTRIM(mikrochip);
    OR padi=ALLTRIM(UPPER(m.cdisplayvalue)) OR pirki=ALLTRIM(UPPER(m.cdisplayvalue))  INTO CURSOR kayit  ORDER BY no
    Thisform.Grid1.RecordSource="kayit"
    thisform.grid1.Refresh
ENDCASE
thisform.Refresh   
THISFORM.LockScreen = .F.
********** BULDUĞU KAYDI EKRANIN ORTASINA GETİRİYOR..... CETİN BASÖZ HOCADAN
    WITH thisform.grid1
      SELECT (.recordsource)
      scan
        FOR ix =1 TO .ColumnCount
          luData = GETPEM(.Columns[m.ix],'Controlsource')
          IF TYPE(m.luData) = 'C' AND UPPER(EVALUATE(m.luData)) = UPPER(m.cDisplayValue)
            .Columns(m.ix).Setfocus
            this.SetFocus
            return
          ENDIF
        ENDFOR
      endscan
    endwith
*************


burad texten yaptığım aramaları rahatlıkla gridde görüyorum. ama select komutuyla buldurduğum kaydı hasta dosyasında buldurtamıyorum.
nedenide üzerine geldiğim kayıttaki valueleri almayı beceremedim.
Bu olmayıncada kayıtları bulmam bir mana ifade etmiyor...

kısaca griddeki select sonuçlarıyla hasta.dbf arasında nasıl bağlantı kurdurturum


Şimdiden çok sağolun

2 Son düzenleyen, mrduyar (06.04.2007 16:22:03)

Re: select ten dosyaya bağlantı

selamlar;

Form da suankikayit  diye bir property oluştur.

Gridin afterrowcolchange ine
içine

Visual Fox Pro
Thisform.suankikayit =kayit.no


yaz.

Enter e basıldığında veya düzet butonuna basıldığında ise

Visual Fox Pro
sele hasta 

go top
locate for no=Thisform.suankikayit

sanırım sorununu çözer.
veya
Gridin afterrowcolchange ine

Visual Fox Pro
sele hasta 

go top
locate for no=kayit.no


da yazabilirsin.

Bilmediğin Neyse Yanıldığındır.

3

Re: select ten dosyaya bağlantı

Çok sağol hocam sayende kafayı yemekten kurtuldum