1

Konu: free table unutuyor..

merhaba arkadaşlar,neyzen kardeşiniz yiner bir problemle karşılaştı roll

projeye  ilk girişte
&&1.ADIM

LOGINPATH="c:\"
USERDOSYASI=LOGINPATH+"userlog.dbf"
SELECT 500
  USE &USERDOSYASI  ALIAS loglarim again IN 500

  şeklinde kullanıcıya ait database içine dahil olmayan "free" bir tableden bilgi okuyorum. Daha sonra proje içerisindeki hernangi bir formdan bu tablodaki kayıda ulaşmak için

&&2.ADIM
SELECT loglarim yada select 500 dediğimde;
"ALIAS loglarim is not found" şeklinde mesaj vererek tabloyu okuyamıyorum yada foxpro tabloyu unutuyor.

1.ADIMI  tekar edersem tabloya ulaşabiliyorum.
Bu sorunu nasıl giderebilirim.Başlangıçta "free" tabloyu bir defa okuyup ona bir "ALIAS" name vermek tabloya bir daha ulaşmak için yeterli değil midir?:(

En büyük sermaye nakit,nakit sermaye vakittir...

2 Son düzenleyen, cetinbasoz (29.09.2007 16:21:34)

Re: free table unutuyor..

Hayir degildir:)
1) Private datasession'lar da her session kendi dosyalarina sahiptir.
2) Private datasession kullanmiyorsan neyin ne zaman acilip kapandigini daha fazla kontrol etmelisin. Sen farkinda olmadan bir form cikarken kapativerir:)
3) Bir tabloyu giriste acip onu acik tutmak pek de iyi bir fikir degil (alinmasi zor dataysa o zaman dusunulebilir ya da alternatif yollar kullanilabilir)

4) select 500 gibi numarali workarea secimi asla yapma derim.
5) Gerekmedikce & kullanma

Visual Fox Pro
use (m.userdosyasi) in 0 again alias loglarim

* ...
select 'loglarim'

3

Re: free table unutuyor..

çetin üsdadım öncelikle verdiğiniz bilgi için teşekkür ederim.Burada bahsi geçen dbf de
kullanıcın yaptığı işlemlerin loglarını tutlak için kullanıyorum.Çok sık kullandığım bir dosya olduğu için her seferinde "use (m.userdosyasi) in 0 again alias loglarim" şeklinde bir kullanım doğru olur mu ki,yada programın çalışma hızında etkisi olurmu?(çok kullanıcılı ortamlarda 100 kullanıcı ile) ?pratikte bu şekilde çalışıyor ama,sürekli bir şeyler yazdığım bir dbf dosyasına doğrudan erişmek daha pratik gelmişti bana:-) Dediğiniz gibi sanırım formlardan biri kapatıyor.Peki kargadan başka kuş bilmem mantığı ile gidersek,dbf in kapanmasını önlemenin bir yolu yokmu,yada hangi formda kapandığını nasıl anlarım?public felanda tanımladım dbf i ancak değişen birşey olmadı.Sanırım oruç başıma vurdu :-)

En büyük sermaye nakit,nakit sermaye vakittir...

4 Son düzenleyen, taRKan (30.09.2007 10:24:49)

Re: free table unutuyor..

Log amaçlı kullanıyorsan şu şekilde de yapabilirsin.
LoginPath adresini Set Path ile tanıtabilirsin. Sonra Insert konutlarını direk kullanabilirsin.

Visual Fox Pro
*!* Programın girişinde

Set Path To "C:\LogDosyalari" Additive
 
*!* Programın herhangi bir yerinde log dosyasına bir şey eklemek için
*!* UserLog dosyasının açık olup olmaması önemli değildir.
*!* Eğer açıksa sorun yok, açık değilse Insert komutu tabloyu ototmatik olarak açacaktır.
Insert Into UserLog (cSahaAdi1, cSahaAdi2, ...) Values(m.lcDeger1, m.lcDeger2, ...)
*!* Log tablosunu güncellemek için ise
Update UserLog Set cSahaAdi1 = m.lcDeger1, cSahaAdi2 = m.lcDeger2, ... ;
Where nKodUserLog = m.lnKodUserLog

Path'i tanımladığın için bu kullanımı şu şekilde de yapabilirsin.

Visual Fox Pro
Use Userlog In 0 Again Alias
/o---------------------o\
     www.haser.com
\o---------------------o/

5

Re: free table unutuyor..

tarkan bu işimi  görür sanırım.herkeze teşekkür ederim

En büyük sermaye nakit,nakit sermaye vakittir...