1

Konu: form wizard

Arkadaşlar, bir tablo için form wizard ile oluşturulmuş bir form hazırlandığında (örneğin o tabloda isim, soyisim, sehir alanları olsun) sehir field'ına başka bir 'sehirler' tablosundan combobox ile şehir seçilerek değer ataması nasıl yapılabilir ?
Şehirler tablosundan combobox ile seçilen şehir isminin asıl forma bağlı tabloya değer olarak geçmesini nasıl sağlayabiliriz.

2

Re: form wizard

form dataenvironment a baska sehirler tablosunu ekleyip combobox un controlsource ina form wizardda  kullandigin tablo adini , rowsource ina baska sehirler tablosundaki sehir alani adi orn. sehiradi , rowsourcetype inida 2-Alias secerek yapabilirsin yada

rowsourcetype i 3-SQL Statement secerek rowsource a

Visual Fox Pro
select sehiradi from baskasehir into cursor combobox1

gibi bir sql satiri yazarak yapabilirsin

3

Re: form wizard

İlginiz için öncelikle Teşekkürler.
Kayıt ekleme, silme.. vb. buttonlar form wizard'da otomatik oluşturulduğu için şehir alanını şehirler tablosuna bağladığımızda wizard'ın oluşturduğu form kontrollerine de müdahele etmemiz lazım. Tüm buttonları baştan kendimiz tasarlasak dediğin şekilde programatik olarak herşeyi yapabiliriz. Hazır wizard ile oluşturulmuş butonlara en az müdahele ile kayıt ekleme, düzeltme, silme gibi tüm  işlemleri de etkilemesini nasıl sağlayabiliriz ?

4

Re: form wizard

bence işe wizard kullanmadan aynı formu olusturmayi deneyerek baslayip butonlarida ondan sonra duzenlesen iyi olur

en pratik yolu

yeni form olustur
form uzerinde sag mouse - dataenvironment sec
kullanacagin tabloyu ekle
dataenvironment penceresi acikken kullanacagin alanlari forma surukle birak kontrolleri koymus oldun
daha sonra kullanacagin kadar buton ekle
kullandigin tablo stok olsun

Visual Fox Pro
&& cmdilk buton kodu

select Stok
go top
thisform.refresh
 
&& cmdSon buton kodu
select Stok
go bottom
thisform.refresh
 
&& cmdsonraki buton kodu
select Stok
skip
if eof()
go bottom
endif
thisform.refresh
 
&& cmdonceki buton kodu
select Stok
skip -1
if bof()
go top
endif
thisform.refresh
 
&& cmdsil buton kodu
select Stok
delete
thisform.refresh
 
&& cmdyeni buton kodu
select Stok
append blank &&insert into daha efektif ama baslangic olmasi icin bu sekilde yazdim
thisform.refresh
 
&& cmdkaydet buton kodu
select Stok
tableupdate(2,.t.,'stok')
thisform.refresh
 
&&cmd edit icin farklı yontemler var ornegin herhangi bir alanda degisiklik yapildiginda diger butonlarin pasif kaydet ve vazgec butonlarinin aktif olmasi gibi
 
&& formun buffermode 2-optimistic ,data session 2-private data session
&& formun dataenvironment taki tablonun buffermodeoverride inin 5-optimistic table buffering oldugunu varsayiyoruz

bundan sonrasi artik kendi framework unu olusturmaya ve onu kullanmaya kayiyor , bu amac icin artik devreye base control class lar,base formlar,toolbarlar vs ler giriyor ve belli bir deneyime ulasinca bunlari kullanmamak artık hamallik anlamini tasiyor sad