1

Konu: dbf dosyasına alan ekleme

cinsler.dbf dosyasında bulunan kayıtlardan bir dosya oluşturmak isityorum.
cinsler.dbf deki cis fieldindeki kayıtlar yeni dosyada field alanı olmalı bunu nasıl yaparım ?
Alter table komutuyla çok denedim başaramadım gözden kaçırdığım bişey var galiba yardımcı olursanız sevinirim

Şimdiden teşekkürler

2 Son düzenleyen, mrduyar (20.04.2007 16:41:00)

Re: dbf dosyasına alan ekleme

Visual Fox Pro
SELECT * from cinsler INTO TABLE "c:\cinsler2.dbf"

sele cinsler2
APPEND FROM cinsler FIELDS cis

sanırım işini görür.

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

3

Re: dbf dosyasına alan ekleme

derdimi anlatamadım sad
cinsler.dbf diye bir dosyam var ve bu dosyanın cins fieldi var
bu cins fieldinde bulunan kayıtları başka bir dbf dosyasında field yapmak istiyorum.
yani
cinsler\cins fieldinin içinde bulunan kayıtları(kedi,köpek,kuş ....) kayıtlar diğer dosyada field alanı olacak

4

Re: dbf dosyasına alan ekleme

q1="create table c:\dene.dbf ("
q2=""
select cinsler
scan all
   q2=q2+alltrim(cins)+" c(15),"
endscan
if len(q2)>0
   q2=substr(q2,1,len(q2)-1)+")"
   q3=q1+q2
   &q3
    BROWSE norm
endif

5

Re: dbf dosyasına alan ekleme

&q3 satırında syntax error veriyor

6 Son düzenleyen, cetinbasoz (20.04.2007 19:47:46)

Re: dbf dosyasına alan ekleme

Visual Fox Pro
local array aCins[1]

local ix
select distinct chrtran(cins,"ĞÜŞİÖÇğüşıöç", "GUSIOCgusioc") ;
  from cinsler ;
  where !(cins == "") ;
  into array aCins
 
if (_Tally > 0)
local array aStruc[alen(aCins),4]
aStruc = 0
for ix = 1 to alen(aCins)
    aStruc[m.ix,1] = trim(aCins[m.ix])
    aStruc[m.ix,2] = "C"
    aStruc[m.ix,3] = 10
endfor
create cursor CinsX from array aStruc
endif

7 Son düzenleyen, river (21.04.2007 01:18:34)

Re: dbf dosyasına alan ekleme

çetin in örneğinden hareketle şunları eklemek isterim.
1 : create cursor .... yerine create table dersen kalıcı tablo yaratmış olursun. create cursor temporary yaratıyor.

"CREATE CURSOR - SQL CommandSee Also
AFIELDS( ) | CREATE | CREATE QUERY | CREATE TABLE - SQL | INSERT - SQL | MODIFY QUERY | SELECT - SQL
Creates a temporary table."

"CREATE TABLE - SQL CommandSee Also
AFIELDS( ) Function | ALTER TABLE ? SQL Command | Autoincrementing Field Values in Tables | CREATE Command | CREATE QUERY | INSERT ? SQL Command | MODIFY QUERY Command | MODIFY STRUCTURE Command | OPEN DATABASE Command | SELECT ? SQL Command | SET NOCPTRANS Command | SQL Commands Overview
Creates a table using the specified fields or from an array."

2 : cis field ının bulunduğu tabloda ek alanlarla cis fieldi içinde yer alan referanstabloalanadi bilgisine ek olarak 2 yeni alanda da bu alanin type ve length hatta 3. alanda da decimal length bilgilerini tutup onları da aStruc[x,2] içine type, aStruc[x,3] içine length.... bilgilerini de ekletebilirsin.
Muhtemelen ekletmen de gerekecektir.

8

Re: dbf dosyasına alan ekleme

Sanırım dosyanızda boşluklu cins isimleri ve türkçe karakter içeren bilgi var ondan syntax almış olabilirsiniz. Kontrol ekleri ile tekrar oluşturum birde bu kodu deneyiniz.

*----------------------------------------
q1="create table c:\dene.dbf ("
q2=""
select cinsler
scan ALL FOR !EMPTY(cins)
   q2=q2+ALLTRIM(PADR(chrtran(ALLTRIM(cins),"ĞÜŞİÖÇğüşıöç ", "GUSIOCgusioc_"),10," "))+" c(15),"
endscan
if len(q2)>0
   q2=substr(q2,1,len(q2)-1)+")"
   q3=q1+q2
   &q3
    BROWSE norm
endif
*-----------------------------------------

9

Re: dbf dosyasına alan ekleme

Arkadaşlar hepiniz çok çok sağolun sorunumu sayenizde çözdüm.
river üstad ekbilgiler için sağol

10

Re: dbf dosyasına alan ekleme

ARKADAŞLAR benim FPw 2.6a ile geliştirdiğim bir structure compare utulity var. Yaptığı iş şu. Bir referans tabloda projede ( burada proje modi proj dediğimiz anlamdaki proje değil, işin kendisi anlamında veya sistemde ) kullanılan bütün tabloların structure bilgilerini tutuyorsunuz. Alan adlari,türleri,uzunlukları vs.vs. Bu tool u kullanırken de önce hangi rferans tablodan yararlanacağını söylüyorsunuz sonra da hangi dataset ini karşılaştırmak istiyorsanız onun yolunu gösteriyorsunuz.

Program tablo yapılarını inceleyip olması gerekenlerle aradaki farkı listeliyor, eğer isterseniz yapıları eşitliyor yani müşterideki veriyapısı versionu ile sizin develepment ortamızıdaki veri yapılarını karşılaştırıp bir anlamda senkronize ediyor. Olmayan alanlar ekleniyor, fazla olan alanlar ( EĞER İSTERSENİZ ) çıkarılıyor ve hatta hiç olmayan tablolar eklenmiş oluyor vs. vs. İlginizi çekerse bu toolu sizlerle paylaşabilirim. Hatta ilgi varsa VFP ye çevirebilirim. Buradan gelecek tepkilere göre yaparım gerekenleri.

11

Re: dbf dosyasına alan ekleme

böyle bir paylaşıma pek sevinirim üstad smile

12

Re: dbf dosyasına alan ekleme

avrasya hocam fpw yeterli mi sana yoksa bu vesile ile VFP ye çevireyim mi
aslında fpw deki vfp tabloları ile de çalışır ama biliyorsun sonra onları açarken codepage markerlar uçabilir hepsi o

13

Re: dbf dosyasına alan ekleme

ben vesile olayım hocam başkalarınında işi görülsün
hatta 2 sinide ver farkı görelim

14

Re: dbf dosyasına alan ekleme

Not: Foxyclasses icindeki DataDelta form orneginde kisitlama yok. Onunla database karsilastirmalari yapabilirisiniz (tek kistlama karsilastirilacak dbc'ler farkli folderlarda ve her dbc'nin tablolari kendisiyle ayni folderda). DataUpdater ise orada sadece sample olarak var (kisitli yani).