1

Konu: Gridde seçili kaydın verilerini almak

Bir form ve bu formda bir gridim var.
gridde bir satıra tıkladığımda sadece adı soyadı ve fabrika numarası görünüyor bu kaydın diğer verileri ile birlikte sağ taraftaki text kutularda görünmesini nasıl sağlarım.

ayrıca buraya koyduğum tuşlarla veri girişi yaptığım verileri gride nasıl gönderirim.

2

Re: Gridde seçili kaydın verilerini almak

'Sagdaki text kutular"in ControlSource propertylerine diger alanlari yaz. Mesela Customer tablosundan Company alanini gosterecek kutucugun ControlSource'una:

Customer.Company

gir. Tabii bunu daha kolay yapmak icin tablodan istedigin alanlari sec ve formun uzerine surukle birak. En iyisi video ile anlatmak:

http://screencast.com/t/G3QmoCqzIKK2

3

Re: Gridde seçili kaydın verilerini almak

çok teşekkürler

4 Son düzenleyen, moderom (05.06.2012 16:07:27)

Re: Gridde seçili kaydın verilerini almak

Peki bir soru sorabilirmiyim çetin abi.

personel.dbf

Visual Fox Pro
adi soyadı sskno tcno

cihan topal 0901200206735 23645656948
mehmet gürel 13513565 21621765978
arif gören 2601200163569 15698124598


sigorta.dbf

Visual Fox Pro
sskno yıl gun1 ucret1 gun2 ucret2

0901200206735 2009 30 1.500 30 2.000
     13513565 2009 28 1.400 30 2.600
2601200163569 2009 30 2.000 26 2.800
0901200206735 2010 30 2.400 30 2.800
     13513565 2010 30 2.400 30 1.600
2601200163569 2010 30 2.600 26 2.000
0901200206735 2011 10 1.200 20 1.000
     13513565 2011 30 2.400 25 2.000
2601200163569 2011 30 2.500 26 1.800

şimdi grid1 de personel listeli
grid1 den tıklayınca adamın bilgileri text lerde yazacak

combo1 de sigorta.dbf deki o kişiye ait en ufak yıl seçili hale gelecek

grid2 dede sigorta.dbf den o yıla it bilgiler görünecek ama
görünüm şu şekilde



Visual Fox Pro
ay  gün ücret

1   30    1.500
2   30    2.000

mesela arif göreni grid1 den seçtim

textlerde arif gören ' in bilgilerini aldım

combo1 de 2009 2010 ve 2011 listeli hale gelecek ama 2009 seçili olacak

ve grid2 de

Visual Fox Pro
ay  gün ücret

1   30    2.000
2   26    2.800


görünecek


bir türlü beceremedim.

5

Re: Gridde seçili kaydın verilerini almak

1)
http://www.medikosoft.com/cetin/FoxyClasses.zip

bu linki kullanarak FoxyClasses'ı indir. Bir yere aç (ben d:/FoxyClasses olarak kullanıyorum).

-Form'a, bir tane locatorgrid koy.
-cSQL propertysine:

Visual Fox Pro
soyadi, adi, sskno, tcno from personel order by 1,2

yaz (soyad, ad seklinde sıralama yapmak istediğini farzettim).

Gridi istersen formatlayıp lKeepFormat .T. yapabilirsin ya da bırak formatı o ayarlasın.

Form'un DataEnvironment'ına personel tablosunu ekle.

followTable: personel
followField: sskNo

olarak ayarla. İşin personel kısmı hazır.

2) Form'a combo ekle. Combonun init'ine:

Visual Fox Pro
with this

   .RowSourceType = 3
   .RowSource = "select distinct yil from sigorta where sskNo = personel.sskNo order by 1 into cursor crsYillar"
   .BoundTo = .T.
   .Style = 2
endwith

yaz. Bu yıllar combosu. Adını cmbYillar koy.

Combonun Valid (InteractiveChange de olur):

Visual Fox Pro
thisform.UpdateSigorta()

3) Locatorgrid'in AfterRowColChange:

Visual Fox Pro
lparameters nColIndex

dodefault(m.nColIndex)
thisform.cmbYillar.Requery()
thisform.cmbYillar.ListIndex = 1
thisform.UpdateSigorta()

4) 2.Grid'i koy. Adı grdSigorta olsun. Form.Init'ine:

Visual Fox Pro
with this.grdSigorta

  .RecordSourcetype = 4
  .RecordSource = "select 1 as ay, gun1 as gun, cast(ucret1 as y) as ucret"+;
             "  from sigorta where sskNo = personel.sskNo and yil=crsYillar.yil" +;
             " union " +;
             " select 2 as ay, gun2 as gun, cast(ucret2 as y) as ucret"+;
             " from sigorta where sskNo = personel.sskNo and yil=crsYillar.yil" +;
             " into cursor crsSigorta"
endwith


5) Form'a metod ekle ve adını "UpdateSigorta" koy. Kodu:

Visual Fox Pro
with thisform.grdSigorta

     .RecordSource = .RecordSource
endwith

Bu kadar. Ancak bunları kafamdan yazdım, hiç test etmedim, haberin olsun.

6

Re: Gridde seçili kaydın verilerini almak

Tamamdır abi hemen deneyeceğim.  Bugünlük çok teşekkür ederim. Sonuç nasıl olacak bakalım.

7 Son düzenleyen, moderom (07.06.2012 09:30:45)

Re: Gridde seçili kaydın verilerini almak

Abi form a locatorgrid demişsin yeni bir form ekleyip onamı ekliyeceğim var olan formlardan birisinemi . birde programı açarken benden vb6 diye bişiler istedi.  samples.pjx i çalıştırdım.

File C:\vb 6.0\vss\Data\um.dat may be corrupt

dedi OK deyince
username
password
database geldibrowse ile yol istiyor  işyerindekilerde c:\ gizli sadece d:* görebiliyorum

cancel deyince SCC API eror diyor.

evde denemedim daha izinlerle ilgili bir sorunmu acaba


birde bunu kendi projectime nasıl ekleyeceğim
bir classes benim yaratmam gerek galiba.

8

Re: Gridde seçili kaydın verilerini almak

Abi comboya olayı aktarabiliyorum
şöyleki

personelgrd afterrowcolchange ine

Visual Fox Pro
public mrec

mrec=recno("personel")
thisform.combo1.rowsourcetype=3
thisform.combo1.rowsource="select yil from sigorta2 where sigorta2.sskno=personel.sskno order by 1 into cursor kisiyillari"
thisform.combo1.refresh()
msskno=personel.sskno

koyunca oldu ancak burda sıkıntım dbf te kayıtlar

2011
2012
2013
2010
2009

diye sıralı
bana sadece 2011 2012 ve 2013 ü comboya ekliyor 2009 ve 2010 kayıp

2011 listede seçili oluyor. ondada sıkıntı yok

artık olay grdsigortaya kişinin combodaki seçili yılına göre getirmeye kaldı bunu diyorum sql le yapsam

SQL
SELECT * FROM sigorta2 WHERE sigorta2.sskno=personel.sskno AND sigorta2.yil=val(combo1.text) INTO cursor personelsigorta


desem olurmu

9

Re: Gridde seçili kaydın verilerini almak

Şu aralar VFP kurulu makinelerden uzağım. Haftaya bir ara bakalım.

10

Re: Gridde seçili kaydın verilerini almak

abi deddiğim sselecti ekledim bana sonuç vermedi. nasıl yapıcam anlamadım bir türlü.

11 Son düzenleyen, cetinbasoz (15.06.2012 11:50:33)

Re: Gridde seçili kaydın verilerini almak

Hafta sonu zor ama yine de MSN'i acar ve sana denk gelirsem bakariz beraber.

12

Re: Gridde seçili kaydın verilerini almak

Cetin abi 6 ay geçti aradan ama hala benim programa bakamadık :-)

13

Re: Gridde seçili kaydın verilerini almak

Kismet.

14

Re: Gridde seçili kaydın verilerini almak

müsait olduğun bir ara istersen bir göz atarsan çok memnun olurum abi.

15 Son düzenleyen, moderom (24.01.2013 13:48:12)

Re: Gridde seçili kaydın verilerini almak

Cetin abi hala senin şu locatorgrid de takılıyım bir türlü halledemediğimden aylardır program bekliyor öyle.
sanırım locatorgrid initinde hata var bana oradaki

Visual Fox Pro
insert into (this.aliasname) select * from mycursor


satırında hata vermekte

ve hala işyerindeki bilgisayarda programı denediğimde
File C:\vb 6.0\vss\Data\um.dat may be corrupt
diyor OK deyince
username
password
database geliyor ve browse ile yol istiyor
özellikle söylüyorum abi işyerindeki pclerde c:\ gizli sadece d:* görebiliyorum