VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

请大家帮帮忙,明天就要交作业了

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
tjololo



註冊時間: 2004-11-29
文章: 38


第 1 樓

發表發表於: 星期日 十二月 05, 2004 9:55 am    文章主題: 请大家帮帮忙,明天就要交作业了 引言回覆

有一个表table1的字段名为k1到k25,我想用一个数组a将它们替换,请问用什么命令?

我用field(i)=a(i)不行

用alter table table1 rename conlum ki to a(i)也不行

请问我该怎么办?
回頂端
檢視會員個人資料 發送私人訊息
bin1x



註冊時間: 2004-08-27
文章: 462


第 2 樓

發表發表於: 星期日 十二月 05, 2004 12:18 pm    文章主題: 引言回覆

字段是欄位名稱嗎
我只會這樣寫而已
參考看看好了
代碼:

SELECT TABLE1
PRIV aARY1
= AFIELD(aARY1)
FOR I = 1 TO ALEN(aARY1,1)
        aARY1[I,1] = "A"+RIGHT(aARY1[I,1],LEN(aARY1[I,1])-1)
NEXT
USE IN TABLE1
CREATE DBF TEST2 FREE FROM ARRAY aARY1
USE IN TEST2
COPY FILE TEST2.DBF TO TABLE1.DBF

我只會這樣作,
看看他人有沒有更好的寫法
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
tjololo



註冊時間: 2004-11-29
文章: 38


第 3 樓

發表發表於: 星期日 十二月 05, 2004 6:56 pm    文章主題: 引言回覆

非常感谢楼上的朋友,花时间给我写这段代码
回頂端
檢視會員個人資料 發送私人訊息
andywilliams



註冊時間: 2004-10-23
文章: 111


第 4 樓

發表發表於: 星期日 十二月 05, 2004 7:12 pm    文章主題: 引言回覆

for i = 1 to AFIELDS(Array1 )
oldFieldName=Array1(I,1)
newFieldName=A(I)
ALTER TABLE table1 RENAME COLUMN &oldFieldName TO &newFieldName
next
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
tjololo



註冊時間: 2004-11-29
文章: 38


第 5 樓

發表發表於: 星期日 十二月 05, 2004 10:06 pm    文章主題: 引言回覆

谢谢楼上的两位同学,
但如果table1为一个临时表cursor1好像就不能用了。
好像copy to ;alter;creat report from命令都不能操作临时表
回頂端
檢視會員個人資料 發送私人訊息
bin1x



註冊時間: 2004-08-27
文章: 462


第 6 樓

發表發表於: 星期日 十二月 05, 2004 10:23 pm    文章主題: 引言回覆

临时表 是什麼字
我只知道我做的時候
如果table 是在database 中 ,比較麻煩
我是以free table 做的
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
bin1x



註冊時間: 2004-08-27
文章: 462


第 7 樓

發表發表於: 星期日 十二月 05, 2004 10:25 pm    文章主題: 引言回覆

alter table 還可以這麼寫哦,又學到了一招
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 8 樓

發表發表於: 星期一 十二月 06, 2004 12:12 am    文章主題: 引言回覆

临时表 就是暫存資料表格,也就是 Cursor

關於「copy to ;alter;creat report from命令都不能操作临时表」的問題,將临时表用 DBF() 包起來應該是可以的,就以上面的例子說,我只是猜的,首先得在 8.0 以上環境,你的 Cursor 設為 READWRITE 的狀態(這是 8.0 以後才有的)

for i = 1 to AFIELDS(Array1 )
oldFieldName=Array1(I,1)
newFieldName=A(I)
ALTER TABLE DBF(Cursor1) RENAME COLUMN &oldFieldName TO &newFieldName
next

會不會成功就留給樓主試試看。若不是 8.0 以上版本,也試試看上例可不可以做。

另外是我另一個看法,既然是 Cursor,乾脆就另建 Cursor,在把資料抄過來也是可以,不過若考量效率問題那就算了

_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作