101

Re: tablodan tabloya veri atmak

peki abi şimdi bir soru daha
bir dizim var onu alıp bir tabloya attım bu tablodaki veriler işlenecek kişilerin sigorta bilgilerine yüklenecek
seçtiğim aya göre bilgileri atıyor hangi ayı seçersem o aya bilgi işleniyor peki
bu işleme sırasında işlediğim kaydı silse

Visual Fox Pro
scan

update sigorta2;
    set sigorta2.gun01=sigorta2.gun01+syedek.gun,;
         sigorta2.ucr01=sigorta2.ucr01+syedek.ucret,;
         sigorta2.ikr01=sigorta2.ikr01+syedek.ikramiye;
    where sigorta2.sskno==syedek.sskno and sigorta2.fbno==syedek.fbno and sigorta2.yil==syedek.yil
*düşündüğüm işlem burada koşulu sağlayıp girilen kaydın
*n ücret ve ikramiye bilgilerini değişkenlerde toplamak yada girebildiğim değerin toplamını alabilmek
endscan
scan
update sigorta2;
    set sigorta2.fazlagun=sigorta2.gun01-30,;
         sigorta2.gun01=30;
    where sigorta2.gun01>30
endscan

şimdi ben syedekteki verileri sigorta2ye attttım
ama syedek teki

Visual Fox Pro
where sigorta2.sskno==syedek.sskno and sigorta2.fbno==syedek.fbno and sigorta2.yil==syedek.yil

koşulu sağlamayan kayıtları nasıl bileceğim koşulu sağlayıp işlenenleri syedekten sildirebilirmiyim yükleme sırasında
birde yıl devrinde nasıl yapıcam mesela  sigorta 2 de bu yılın verileri var hadi ama o yıla ait hiç kayıt yoksa yeni yıla nasıl geçirebilirim. yada yeni yıla ait kişinin ssknosu ve fbnosu olan kayıdı eklemeliyim.
aktardığım toplam günü nasıl öğrenecekim
aktardığım toplam ücret matrahını nasıl bileceğim
aktardığım toplam ikramiye matrahını nasıl bileceğim

102

Re: tablodan tabloya veri atmak

birde mesajboxta bir rakamı ondalıklı ve noktanı olarak görüntületemezmiyiz.


mesela xxx=2365123345,75 sayısını str(xxx) deyince 2365123346 şeklinde gösteriyor hem yuvarlıyor hem virgül  sonrası yok

ben 2.365.123.345,75 şeklinde görmek istiyorum

103 Son düzenleyen, ugurlu2001 (07.03.2011 10:07:47)

Re: tablodan tabloya veri atmak

Visual Fox Pro
LOCAL lnSayi

m.lnSayi = 2365123345.75
?TransForm(m.lnSayi, "999,999,999,999.99")
Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

104

Re: tablodan tabloya veri atmak

uğur bey gene olmadı neden anlamadım ama message boxta gene aynı şekilde gösterdi
LOCAL lnSayi
m.lnSayi = 2365123345.75
?TransForm(m.lnSayi, "999,999,999,999.99")
messagebox(str(m.lnSayi),64,'deneme')

deyince gene 2365123346 gösteriyor

105 Son düzenleyen, ugurlu2001 (07.03.2011 10:28:32)

Re: tablodan tabloya veri atmak

Moderom;

"STR()" kısmına hiç gere yok.

Visual Fox Pro
LOCAL lnSayi 

m.lnSayi = 2365123345.75
?TransForm(m.lnSayi, "999,999,999,999.99")
messagebox(TransForm(m.lnSayi, "999,999,999,999.99") ,64,'STR() -> Kullanma')
Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

106 Son düzenleyen, ugurlu2001 (07.03.2011 10:32:03)

Re: tablodan tabloya veri atmak

Birde ayrıca STR kullanıyorken, Kesir hanesini ve uzunluk bilgisini verebilirsin :

Visual Fox Pro
LOCAL lnSayi 

m.lnSayi = 2365123345.75
?TransForm(m.lnSayi, "999,999,999,999.99")
Messagebox(Str(m.lnSayi,13,3) ,64,'STR() -> Formatı')
Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

107

Re: tablodan tabloya veri atmak

uğur bey çok teşekkürler birde bu 5. sayfanın başındaki sıkıntılarım hakkında yardımcı olurmusunuz????:D

108 Son düzenleyen, ugurlu2001 (07.03.2011 17:26:33)

Re: tablodan tabloya veri atmak

Moderom;

Ben senin yerinde olsam; bu konuda soruyu şöyle sorardım :

Şu şekilde bir tablom var :
( Burda Tablo yapısını bir script ile buraya yapıştırırdım.  Sana yardımcı olmak isteyen herkes script i çalıştırıp tablo yapısını otomatik olarak oluştururdu. )

Şöyle bir sonuç elde etmek istiyorum :
( Bu kısımda Notepad ile istediğim sonucu düzenli görünen bir şekilde doğrudan buraya kopyala - yapıştır yapardım;
YADA
Excel ile bir sayfa oluşturup hücreleri olmasını istediğim gibi doldurur; ekranın görüntüsünü JPG olarak kaydeder;  ve internet üzerinde bir link verirdim
YADA
Geçici bir cursor oluşturur; istediğim sonuçları tek tek içine atardım)

Kimi zaman soruyu anlamak; cevap yazmaktan gerçekten daha zor. Çünkü sen soru sormadan önce gerçekten üzerinde çalıştığın her şeyi biliyorsun. Ama biz sorduğun konu ile ilgili olarak hiç bir bilgiye sahip değiliz.  Bize fikir gösterebilecek tek şey senin açıklamaların yada buraya yapıştırdığın KOD örnekleri.

Transform örneğinde sorun gayet açık ( ne istediğin tamamen anlaşılıyor. Ama o "?? " ile sorduğın kısım ile ilgili inan hiç bir şey anlamadım.

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

109 Son düzenleyen, mrduyar (07.03.2011 17:43:46)

Re: tablodan tabloya veri atmak

Duyrulur cep telefonum.
Aklınızdan geçenleri şimdiden duymaya başladım. Gülmeyin. tongue
Konuya gelecek olursam.
Moderom kardeş beni bi ara ALLAH aşkına gerçekten yaşıyormusun?  Sesini duymak istiyorum!

Visual Fox Pro
? 2668005045*2+9
Bilmediğin Neyse Yanıldığındır.

110

Re: tablodan tabloya veri atmak

mrduyar yazdı:


Aklınızdan geçenleri şimdiden duymaya başladım. Gülmeyin. tongue

Nasıl gülmeyelim karadeniz fıkralarını aratamayacak bir fıkra çıkar bundan smile

111

Re: tablodan tabloya veri atmak

benim sorunum anlatmakla bitmez şimdi program yazdığım bilgisayar özel bir ağda internete bağlı değil internette kısıtlı herşeye ve her siteye yada programa ulaşamıyorum . ayrıca özel ağ ile internet makinam arasında bir bağda yok aktarım resim kaydedip gönderemiyorum herşeyi lafla anlatmam gerekiyor mümkün oldukçada eve gidip orda kurduğum vfp 9 da deneme yapıyorum işyerinde vfp 6 kurulu anlayacağınız iki ucu ...... değnek roll

mrduyar bey arayacağım ancak işyerinde telefon yasak malum askeri birlik teamviewer ne bilem diğer programlarda işlemiyor. herşey lafa kalıyor...

112

Re: tablodan tabloya veri atmak

birde uğur bey script ile tablo yapısını alma nasıl oluyor acaba:)

113

Re: tablodan tabloya veri atmak

personel tablosu
sskno                fbno     
0901200206720  12521 

sigorta2 tablosu
sskno                fbno     yil
0901200206720  12521  2010

ama benim yilim 2011 kişiye 2011 kaydının olmadığını anlayıp nasıl ekletirim

114

Re: tablodan tabloya veri atmak

http://www.fox4um.com/post/843/#p843

Birde aşağıdaki linki baştan sonra okumanı tavsiye ederim:
http://www.fox4um.com/topic/167/yeni-ba … -icin-vfp/

Visual Fox Pro
* SampleData2Text.prg

* Author: Cetin BASOZ
Lparameters tcTableName,tnRecords
Use (m.tcTableName) In 0 Alias 'sampling'
Select 'sampling'
Local lcTemp, ix, lcData, lcRetVal
lcTemp = Sys(2015)+'.tmp'
If !Empty(m.tnRecords) And Type('m.tnRecords') = 'N'
  Copy To (m.lcTemp) Type Delimited Next m.tnRecords
Else
  Copy To (m.lcTemp) Type Delimited
Endif
lcData = Filetostr(m.lcTemp)
Erase (m.lcTemp)
 
Set Textmerge Delimiters To '%%','%%'
Set Textmerge To (m.lcTemp) Noshow
Set Textmerge On
\CreateCursor_%%m.tcTableName%%()
\
\Procedure CreateCursor_%%m.tcTableName%%
\LOCAL lcData, lcTemp
\lcTemp = SYS(2015)+'.tmp'
\TEXT TO m.lcData noshow
\%%m.lcData%%
\ENDTEXT
\
\STRTOFILE(m.lcData,m.lcTemp)
\
\create CURSOR %%m.tcTableName%% ;
\ ( ;
For ix=1 To Afields(aStruc,'sampling')
%%IIF(m.ix > 1,',','')%%
\\%%aStruc[m.ix,1]%% %%aStruc[m.ix,2]%%(%%aStruc[m.ix,3]%%,%%aStruc[m.ix,4]%%)
\\ %%IIF(aStruc[m.ix,5],'',' NOT ')%% NULL
\\ %%IIF(aStruc[m.ix,6],'NOCPTRANS','')%% ;
Endfor
)
\
\APPEND FROM (m.lcTemp) TYPE delimited
\ERASE (m.lcTemp)
\endproc
Set Textmerge To
Set Textmerge Off
Set Textmerge Delimiters
lcRetVal = Filetostr(m.lcTemp)
Erase (m.lcTemp)
Use In 'sampling'
Return m.lcRetVal

Yukarıdaki kodu bilgisayarında DBF lerinin olduğu kısma
"SampleData2Text.PRG" adı ile kaydet.

Sonra Command Windows a şunu yazıp ENTER a bas :

Visual Fox Pro
SampleData2Text WITH "Personel", 20

BuşŞekilde "PERSONEL" tablondaki ilk 20 kaydı örnek olarak hafızaya almış olursun.
Eğer Herhangi bir metin editöründe; yada foruma bir yazı yazıyorken
"CTRL+V" YE basarsan; Tablo örneğini oluşturan kodu ("script" kullanımı için pardon.) buraya yapıştırmış olursun...

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

115

Re: tablodan tabloya veri atmak

Visual Fox Pro
CLOSE DATABASES 

LOCAL lnPersonelSayisi, lni
m.lnPersonelSayisi = 4500
 
CREATE CURSOR CrsPerson (SSkNo C(38), FbNo Int)
 
* 4500 tane Hayali personel üretelim
FOR lni = 1 TO m.lnPersonelSayisi
    INSERT INTO CrsPerson (SSkNo, FbNo) VALUES (GetGuid(), m.lni + 10)
ENDFOR
 
 
* Buda Ssk tablosu ve içinde bizim personelimizden bazıları var :
* Rasgele sadece çift kayırlı olanları aldım ( Recno() ya göre )
CREATE CURSOR Sigorta2011 (SSkNo C(38), FbNo Int, Yil int)
 
INSERT INTO Sigorta2011 Select SSkNo, FbNo, Year(Date()) FROM CrsPerson WHERE Mod(Recno(),2) = 0
 
 
* Şimdi Personel Tablosunda olup da Sigorta2011 tablosunda olmayan kayıtları nasıl bulurum?
 
SELECT * FROM CrsPerson WHERE SskNo NOT In(SELECT SskNo FROM Sigorta2011) INTO CURSOR CrsSigorta2011eEkle
 
* Eğer yukarıdaki kayıtları doğrudan "Sigorta2011" tablosuna ekliyceksen  :
 
INSERT INTO Sigorta2011 ;
        SELECT CrsPerson.*, Year(Date()) FROM CrsPerson ;
            WHERE CrsPerson.SskNo NOT In(Select SskNo FROM Sigorta2011)
 
? _Tally, " kayıt eklendi!"
 
Function getGUID && Cetin Basoz Code
    Declare Integer UuidCreate In 'RPCRT4.dll' String @pguid
    Declare Integer StringFromGUID2 In 'Ole32.dll' ;
        string rguid, String @lpsz, Integer cchMax
 
    Local pguid,rguid
    pguid=Replicate(Chr(0),16)
    rguid=Replicate(Chr(0),80)
    UuidCreate(@pguid)
    StringFromGUID2(pguid,@rguid,40)
    Return Strconv(Left(rguid,76),6)
Endfunc
Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

116

Re: tablodan tabloya veri atmak

uğur bey teşekkürler denyeyim bakalım alacağım sonuç ne olacak

117

Re: tablodan tabloya veri atmak

Visual Fox Pro
INSERT INTO Sigorta2011 Select SSkNo, FbNo, Year(Date()) FROM CrsPerson WHERE Mod(Recno(),2) = 0

bu satırda hata veriyor syntax error

118

Re: tablodan tabloya veri atmak

Moderom, bendeki Versiyon VFP9 Sp2 ?

Sendeki ?

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

119

Re: tablodan tabloya veri atmak

işyerinde çalışmayan vfp 6
evde denedim bir sorun çıkmadı evde vfp9 sp2 yükledimmi yüklemedimmi hatırlamıyorum