㈠ VFP常用的命令代碼
VF常用命令和程序命令一、主要命令:
1、CREATE
作用:建立一個新的表。
格式:CREATE [<文件>|?](注意,命令字元可取前面四個字元,後面可省略不寫,即CREA
,下同;中括弧表示其中的參數是可選的;|管道符號表示兩個參數只能選擇一個,不能同
時選擇,下同。)
說明:文件指建立以.dbf為擴展名的VFP資料庫文件,在命令後面加上一個問號表示系統會
彈出
對話框,要求用戶輸入想要建立的表名。在命令中不加文件名或問號系統也會彈出對話框,
要求用
戶輸入想要建立的表名。
2、MODIFY STRUCTURE
作用:顯示表文件結構,並允許修改此表的結構。
格式:MODIFY STRUCTURE
說明:只有在用USE命令打開表文件以後,才能顯示或修改表文件的結構。
3、APPEND
作用:在當前表的尾部(無論表中有無記錄)追加記錄(在當前表指當前正使用的表)。
格式:APPEND [BLANK]
說明:在APPEND命令後面加上BLANK參數表示在當前表的尾部添加一條空白記錄。無BLANK參
數時,表示在當前表的尾部添加一條記錄並要求用戶輸入相應的欄位內容。
4、INSERT
作用:在表文件中間插入一個新記錄。
格式:INSERT [BEFORE] [BLANK]
說明:INSERT 在當前記錄後插入一記錄;
INSERT BEFORE 在當前記錄前插入一記錄;
INSERT BEFORE BLANK 在當前記錄前插入一空記錄。
5、BROWSE
作用:主要用於打開瀏覽窗口,查閱表文件並同時進行修改。
格式:BROWSE
6、USE
作用:打開和關閉表文件。
格式:USE [<文件名>]
USE
說明:前一個命令用來打開<文件名>指定的表文件,該表如有備注型欄位,則同時打開相應
的
備注文件(.fpt文件);後一個命令關閉當前打開的表文件。
7、LIST和DISPLAY
作用:顯示表(.dbf)的內容、結構或狀態。
格式:LIST|DISPLAY [OFF] [<范圍>] [FIELDS] <表達式表> [WHILE <條件>] [FOR <條件
>]
[TO PRINT|TO FILE <文件>]
LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件>]
LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>]
說明:命令帶OFF參數表示不顯示記錄號,范圍指定對哪些記錄進行操作,范圍包括:
RECORD n
第幾號記錄、NEXT n 當前記錄開始的幾個記錄、REST 自當前記錄開始至文件末尾的所有記
錄、ALL
所有的記錄。不選范圍則隱含范圍為ALL;FIELDS後跟欄位名,欄位名與欄位名之間用逗號
分
隔。WHILE後跟條件,FOR後面也跟條件,區別是,WHILE後的條件如果滿足,便停止查找;
FOR後的
條件查找所有滿足條件的記錄。TO PRINT和TO FILE <文件>分別表示將顯示結果在列印機上
列印出
來和將顯示結果輸出到文件。DISPLAY命令在顯示記錄滿屏後,要求用戶按任意鍵繼續顯示
,並且在
該命令中,如果省略范圍僅顯示當前記錄。格式中,下面兩個命令分別為顯示表結構(
STRUCTURE)和工作狀態(STATUS)。
8、記錄的定位
作用:用記錄指針(POINTER)定位記錄。
格式:GO[TO] RECORD n|TOP|BOTTOM
n
SKIP [+|-]
說明:第一個命令又叫絕對定位,其中,RECORD n定位到n號記錄,TOP定位到第1個記錄,
BOTTOM定位到最後一個記錄。第二個命令定位到第n個記錄,n是一個數值。第三個命令又叫
相對定
位,它以當前記錄為基準前移(-)或後移(+)n個記錄,不選任選項,則默認記錄指針後
移一個記錄。
9、CHANGE和EDIT
作用:顯示要編輯或修改的欄位。
格式:CHANGE|EDIT [<范圍>] [FIELDS <欄位名表>] [WHILE <條件>] [FOR <條件>]
10、BROWSE
作用:打開一個"瀏覽"窗口,供用戶瀏覽或修改記錄。
格式:BROWSE [FIELDS <欄位名表>]
11、REPLACE
作用:用表達式的值代替命令中與之相對應的欄位的內容。
格式:REPLACE [<范圍>] <欄位1> WITH
㈡ 關於VF的一些命令
VF命令一覽表:
一、命令
1.use 表名 打開表
2.List 顯示表記錄,但不能修改
3.browse 瀏覽表記錄,可以修改
4.display 顯示記錄指針指向的記錄
5.append 追加記錄
6.append blank 追加空白記錄
7.insert blank 插入空白記錄
8.delete 邏輯刪除記錄,記錄前出現星號
9.pack 物理刪除,將邏輯刪除的記錄徹底刪除
10.recall 記錄恢復
11.zap 刪除表裡的所有記錄
12.go n 指向第n條記錄
13.go top 指向第一條記錄
14.go bottom 指向最後一條記錄
15.skip n 往下跳n條記錄
16.skip -n 往上跳n條記錄
17.? 從屏幕的下一行的第一列起顯示結果
18.? ? 從當前行當前列起顯示結果
19.use sb to sb() 復制sb表給sb()表
20.recno() 記錄號函數
21.bof() 上溢出
22.eof() 下溢出
23.dimension x(4) 定義數組x,裡面有四個元素,其中每個元素的默認值為.F. declare和dimension 相同
24.replace 替換
25.add 表示增加欄位
26.distinct 不重復記錄
27.error 錯誤
28.continue
繼續
29.else if 否則
30.column 列
31.input 顯示數值
32.accept 顯示字元串
33.wait 是彈出的一個信息框
34.drop 刪除欄位或刪除表
35.otherwise 其它情況
36.check 規則
37.cursor 臨時表
38.build 連編
二、VF里文件類型
1.項目 .pjx project 2.資料庫 .dbc database
3.表 .dbf table 4.菜單 .mnx .mpr menu
5.程序 .prg 6.表單 .scx form
7.報表 .frx report 8.查詢 .qpr query
9.視圖 .vue view 10.文件 .txt
11.備注型文件 .fpt
三、例題
1.creat table student(學號 c(6),姓名c(8),性別c(2),年齡n(2)) 創建學生表
2.insert into student values("001","張三","男",20) 插入一條學生記錄
3.alter table student alter 學號 c(8) 將學號欄位的寬度改為8
4.alter table student rename 學號 to 學生編號 將學號欄位重命名為學生編號
5.alter table student drop 年齡 將年齡欄位刪除
6.alter table student add 所在院系c(10) 為student表增加一個欄位
7.select *from student into table xusheng 將表student復制給表xuesheng
8.update student set 成績=成績+10 where 性別="男" 將男生的成績提高10分
9.delete from student where 性別"女" 冊除所有女生的記錄
10.alter table student alter 學號 set check left(學號,2="00")
四、創建、運行與修改
1.create database 123 創建資料庫123
modify database 123 修改資料庫123 (注意:alter在SQL中修改表結構)
2.modify command 123 修改程序123
do 123 運行程序123
3.create form 123 創建表單123
modify form 123 修改表單123
do form123 運行表單123
4.create menu 123 創建菜單123
modify menu 123 修改菜單123
do 123.mpr 運得菜單123
5.modify query 123 修改查詢123
do 123.qpr 運得查詢123
6.modify report 123 修改報表123
report form 123 運行報表123
7.drop view 123 刪除視圖123
create view 123 創建視圖123 (打開視圖用use)
五、排序
1.sort to nl on 年齡 按年齡升序排列,產生一個新表nl
2.sort to cj on 成績/d 按成績降序排列,產生一個新表cj
六、索引
1.index on 姓名 tag xm //按姓名升序建立普通索引,索引標識為xm//
2.index on 性別 tag xb //按性別升序建立普通索引,索引標識為xb//
3.index on 成績 tag cj descending //按成績降序建立普通索引,索引標識為cj//
4.index on 性別 tag xb1 unique(唯一索引) //按性別升序建立唯一索引,索引標識為xb1//
5.index on 年齡 tag nl candidate //按年齡升序建立候選索引,索引標識為nl//
6.index on 性別+str(成績) tag xbcj //按性別升序,如性別相同按成績升序建立普通索引,索引標識為xbcj//
7.index on 性別+str(成績) tag xbcj1 descending //按性別降序,如性別相同按成績降序建立普通索引,索引標識為xbcj1//
8.index on 年齡-成績/1000000 tag nlcj //按年齡升序,如年齡相同按成績降序建立普通索引,索引標識為nlcj//
9.index on 年齡-成績/1000000 tag nlcj1 descending //按年齡降序,如年齡相同按成績升序建立普通索引,索引標識為xbcj1//
七. 命令
set index to 打開當前的一個或多個索引文件並確定主控索引文件(to後加東西是打開,不加是關閉)
set order to 確定主控索引
locate 順序查找滿足條件的記錄,並且指向它
seek 索引查找
count 記數命令
sum 求和命令
average 求平均值命令
total 匯總命令
max 求最大值
min 求最小值
八.SQL查詢結構
1.select 欄位列表 要顯示的欄位
2.from 表名列表 查詢涉及到的所有表
3.where 條件 條件
4.into 目標 查詢結果輸出到哪去
5.group by 條件表達式 對記錄進行分組
6.having 篩選條件 選擇符合條件的分組
7.order by 關鍵字 對查詢結果按某幾個欄位進行排序
8.top 數值表達式 對顯示表的前幾個記錄
九.程序結構
1.順序結構
2.選擇結構:(1)if 條件表達式 (2)if 條件表達式 (3)do case
語名序列 語名序列1 case 條件表達式1
endif else 語句序列1
語句序列1 case 條件表達式2
endif 語句序列2
case 條件表達式3
語句序列3
3.循環結構:(1)for (2)do while 條件表達式 (3)scan(掃描)
循環體 循環體 循環體
endfor enddo endscan
Loop 重新回到循環的最開始 input to x 從鍵盤輸入一個數給變數x
exit 結束循環跳出循環 accept to y 從鍵盤輸入一個字元串給變數y
set sysmenu to default 退出菜單
thisform.release 退出表單
thisform.refresh 刷新表單
十.函數
數值型函數
函數名 功能 例子 結果
1.abs() 求絕對值 ?abs(-4) 4
2.sqrt() 求平方根 ?sqrt(4) 2
3.int() 取整數 ?int(7.5) 7
4.max() 求最大值 ?max(3,4,5) 5
5.min() 求最小值 ?min(3,4,5) 3
6.mod() 取余 ?mod(11,3) 2
7.round() 四捨五入 ?round(3.1415,3) 3.142
8.ceiling() 返回不小於某值 ?ceiling(3.3) 4
的最小整數
9.floor() 返回不大於指定數
的最大整數 ?floor(3.3) 3
十一.字元處理函數
1.substr() 求子串 ?substr("abcd",2,2) "bc"
2.left() 取左串 ?left("abcd",2) "ab"
3.right() 取右串 ?right("abcd",2) "cd"
4.len() 求串長 ?len("abcd") 4
5.at() 求一個串在另一個
串中出現的位置 ?at("bc","abcd",1) 2
6.space() 輸出空格 ?space(4) " "
7.upper() 將小寫字母轉換成
大寫字母 ?upper("aBc") "ABC"
8.lower() 將大寫字母轉換成
小寫字母 ?lower("aBc") "abc"
9.val() 將字元串轉換為數值 ?val("3.14") 3.14
10.str() 將數值轉換為字元串 ?str(3.14,5,1) "3.1"
11.alltrim() 去掉字元串前面和後面的空格去掉 ?alltrim("abcd") "abcd"
12.stuff 修改字元串 ?stuff("good boy",5.3) "goodgirl&
㈢ VF命令這些怎麼寫啊 急!!!謝謝了!!
1·用「REPLACE…WITH」命令將記錄3 的條碼編號改為"M0001"、單價改為10000和庫存量改為90
replace 條碼編號 with "M0001",單價 with 10000,庫存量 with 90 for recno()=3
2·使用SQL語句(UPDATE.. SET..)將記錄4的條碼編號改為"G0101"、單價改為7800庫存量改為50
UPDATE 表 SET 條碼編號="G0101",單價=7800,庫存量=50 where recno()=4
3·將所有商品的單價打九折
repl all 單價*0.9
4·使用SQL語句(ALTER TABLE)在表中增加貨幣型欄位「總價」
ALTER TABLE 表 add 總價 Y
5·用「REPLACE…WITH」命令,計算每種商品的總價值,填入總價欄位
REPLACE all 總價 WITH 單價*庫存量
6· 用「REPLACE…WITH」命令為新追加的記錄填上數據: 條碼編號:"P5555",品名:"音響",單價:888,庫存量 :20;庫房:"03",備注:"特價商品"
REPLACE 條碼編號 with "P5555",品名 with "音響",單價 with 888,庫存量 with 20,庫房 with "03",備注 with "特價商品"
7· 用SQL語句(INSERT INTO)直接在記錄尾添加一條新記錄: "F0011", "電飯煲",230,40, "02",特價商品"
INSERT INTO 表 (條碼編號,品名,單價,庫存量,庫房,備注) value ("F0011", "電飯煲",230,40, "02",特價商品")
8·用APPEND FROM語句將「庫存.DBF」的記錄作為新記錄添加到「KC1.DBF」中,並顯示KC1記錄。
use KC1.DBF
APPEND FROM 庫存.DBF
brow
9·以獨占方式打開數據表KC1.DBF
use KC1.DBF EXCLUSIVE
10·用delete命令對3號記錄做刪除標記
delete for recno()=3
11·用delete命令對5~8號記錄做刪除標記
delete for recno()>=5 and recno()<=8
12·恢復記錄號為3、5、6的記錄,其他記錄物理刪除
recall for recno()=3 and recno()=5 and recno()=6
13·使用SET FILTER設置過濾條件:條碼編號起始字元為』a』
SET FILTER to 條碼編號=』a』
14·關閉過濾器
SET FILTER to
15·使用SET FIELDS命令設置欄位表:只保留編號,品名,單價
SET FIELDS to 編號,品名,單價
16· 用一系列命令將第三條和第五條記錄位置交換(提示:scatter 和 gather form 語句)
go 3
scatter to x3
go 5
scatter to x5
gather form x3
go 3
gather form x5
17·將庫存量在60以上的記錄保存在數組AR1中
to array ar1 for 庫存量>60
㈣ 在vf中打開表文件的命令是什麼
在命令窗口輸入
use +表名 (這時該表處於打開狀態,在vf界面的左下角 狀態欄 上會出現該表的名字,但該表沒有顯示出來)
browse (將狀態欄上的表名以表格的形式顯示出來)
vf沿用多工作區的概念,一個工作區可以打開一個表格,vf可以打開多個表,這些表處於打開狀態,但並沒有顯示出來,而vf的界面一次只能顯示一個表。例 已存在 表1.dbf 表2.dbf 表3.dbf
在命令窗口,依次輸入下列命令
use 表1 (這時默認的在 工作區1 打開該表,狀態欄出現表1,狀態欄上不會出現工作區號,表不顯示)
use 表2 (會在 工作區2 打開該表,狀態欄 由表1變為表2)
use 表3 (會在 工作區3 打開該表,狀態欄 變為了 表3)
browse (這時顯示 表3,因為狀態欄出現的是表3)
select 1 (選擇 工作區1,則狀態欄馬上變為 表1)
browse (這時顯示表1)
select 2
browse (這時顯示表2)
㈤ VF常用命令及其格式請分類敘述(例如對表文件的.對表記錄的等)
太多了
1、打開表命令:
USE
表文件名
教材P67
2、關閉表命令:USE
、CLOSE
ALL
P68
3、記錄指針定位命令:GO
數值表達式(絕對移動)、SKIP(相對移動)
P69-70
4、替換(修改)記錄命令:REPLACE
欄位1
WITH
表達式1,欄位2
WITH
表達式2……
[范圍][FOR<條件>]
P79
5、復製表命令:
COPY
TO
新文件名
[FOR〈條件〉][范圍]
P84
復製表結構命令:COPY
STRU
TO
新表文件名
[FIEL
〈欄位名表〉]
P85
6、建立索引命令:INDEX
ON
關鍵欄位
TO
單索引文件名
INDEX
ON
關鍵欄位
TAG
索引標識名
P89
7、查詢命令:(1)條件查詢:LOCATE
FOR
〈條件〉
P93
繼續查找命令:CONTINUE
P93
(2)索引查詢:FIND
字元表達式
P94
SEEK
表達式
P95
繼續查找命令:SKIP
P95
8、選擇工作區命令:
SELE
工作區號|別名
P105
9、建立表之間的關聯命令:SET
RELATION
TO
關聯表達式
INTO
別名
P108
10、表的更新命令:
參考我的課件第三章第五節關於表的更新部分
UPDATE
ON
關鍵欄位
FROM
別名
REPLACE
欄位1
WITH
表達式1,欄位2
WITH
表達式2
……
[RANDOM]
11、互動式輸入命令:
(1)INPUT
[提示信息]
TO
內存變數
P139
(2)ACCEPT
[提示信息]
TO
內存變數
P139
13、輸出命令:
?和??
P141
常用命令:
1、設置默認路徑命令:
SET
DEFA
TO
盤符:\路徑
2、關閉表命令:CLOSE
TABLE,CLEAR
ALL
3、記錄顯示命令:LIST/DISP
[范圍][FOR
〈條件〉]
P72
4、追加記錄命令:(1)表尾追加:APPEND
[BLANK]
P80
(2)表中插入:INSERT
[BEFORE]
[BLANK]
P81
P81
(3)從其他文件中追加多條記錄到當前表:APPEND
FROM
文件名
[FOR〈條件〉][FIEL
<欄位名表>]
5、刪除記錄命令:DELE
[范圍][FOR<條件>]
P82
6、徹底刪除帶標記記錄命令:PACK
7、取消刪除標記命令:RECALL
[范圍][FOR<條件>]
P83
8、物理刪除表中所有記錄命令:ZAP
P84
9、復制任何類型文件:COPY
FILE
〈文件名1〉TO
〈文件名2〉
P84
10、將單個記錄發送到數組:SCATTER
TO
〈數組名〉[FIEL〈欄位名表〉]
P85
11、將數組中的值發送到當前記錄命令:GATHER
FROM
數組名
P96
12、將表中多條記錄傳送到數組命令:COPY
TO
ARRAY
數組名
P86
13、將二維數組中的值傳送到表中:
APPEND
FROM
ARRAY
數組名
P87
14、表的排序命令:SORT
ON
〈欄位1〉/A|/D,欄位2/A|/D
to
新表文件名
P87
15、打開索引文件命令:
SET
INDEX
TO
索引文件名表
P91
16、設置主控索引命令:SET
ORDER
TO
單索引文件名
|TAG
索引標識
P91
17、更新索引文件命令:REINDEX
P92
18、關閉索引文件:SET
INDEX
TO
、CLOSE
INDEX、CLOSE
ALL、CLEAR
ALL、USE
P92
19、刪除索引標識命令:DELE
TAG
索引標識名
P92
刪除單索引文件命令:DELE
FILE
單索引文件名
P92
20、表的瀏覽命令:BROWSE
P73
21、記錄的過濾命令:SET
FILTER
TO
條件
P76
22、欄位的過濾命令:SET
FIELDSS
TO
欄位名表
P77
23、表之間的連接命令:JOIN
WITH
別名
TO
新表文件名
FOR
條件
P107
24、設置一對多關系命令:SET
SKIP
TO
別名
P109
25、資料庫相關命令:打開:OPEN
DATA
資料庫名
P111
新建:CREAT
DATA
資料庫名
P111
修改:MODI
DATE
資料庫名
關閉:CLOSE
DATA、CLOSE
DATA
ALL、CLOSE
ALL、CLEAR
ALL
設置當前資料庫命令:SET
DATA
TO
資料庫名
26、程序相關命令:建立/修改程序:MODI
COMMAND
程序文件名
運行程序:DO
程序文件名
27、內存變數/數組賦值命令:=、STORE
P138或P38
28、互動式輸入命令:@行,列
SAY
表達式
GET
變數
P139
29、文本輸出命令:TEXT
〈輸出顯示內容〉
ENDTEXT
P143
30、終止程序執行命令:CANCEL、QUIT、RETURN
P143
31、清除主屏幕命令:CLEAR
P143
32、系統設置命令:(1)設置精確比較命令:SET
EXACT
ON/OFF
(2)設置刪除標記命令:SET
DELE
ON/OFF
還有很多,就不再一一列舉了。