『壹』 求教 vfp 中的into dbf 是怎樣用的,是不是使用這個命令就可以創建一個查詢文件,也就是表。
select * into newtable from tablename 這條令在VFP中是不能用的。
備份一個表到另一個表是這樣的:
USE TABLENAME
COPY TO NEWTABLENAME
請注意,查詢文件不是一個表,查詢文件其實就是一條查詢命令,而表是一個使用的數據存貯表。
『貳』 在VFP系統中,「.DBF」文件被稱為什麼
在VFP系統中,「.DBF」文件被稱為資料庫文件,希望可以幫到您!
『叄』 關於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 <表達式1>[,<欄位2> WITH <表達式2>] [FOR <條
件>
] [WHILE<條件>]
12、DELETE、PACK、ZAP和RECALL
作用:分別是給要刪除的記錄作刪除標記、徹底刪除、刪除所有記錄和取消被選中的表記錄
的
刪除標志。
格式:DELETE [<范圍>] [WHILE<條件>] [FOR <條件>] (特例:DELETE FILE
FILENAME.DBF,
該命令刪除指定的表文件)
PACK
ZAP
RECALL [<范圍>] [FOR <條件>] [WHILE<條件>]
13、SORT和INDEX
作用:分別是建立一個其記錄以新的物理順序排列的新表文件和對當前表根據關鍵字表達式
的值
從小到大排列,並存入TO後指定的索引文件名的文件或復合索引文件的一個標識中。
格式:SORT TO <文件名> ON <欄位名1> [/A] [/C] [/D][,<欄位名2> [/A] [/C]
[/D]]...
[ASCENDING|DESCENDING] [<范圍>] [FOR <條件>] [WHILE<條件>] [FIELDS<欄位表>]
INDEX ON <關鍵字表達式> TO <文件名>
INDEX ON <關鍵字表達式> TAG <標識名> [OF <文件名>] [FOR <條件>]
說明:第1個命令中,/A按欄位名升序排序,/D按欄位名降序排序,/C忽略大小寫,針對字
符型
關鍵字而言,ASCENDING和DESCENDING分別表示升序和降序。第1個命令建立.dbf表文件,第
2個命令
建立.idx單一索引文件,第3個命令建立.cdx復合索引文件(Compound Index)。
14、USE <表文件名> INDEX <索引文件名表>、SET INDEX TO和SET ORDER TO
作用:分別是打開表文件的同時打開索引文件、打開索引文件和改變主索引。
格式:USE <表文件名> INDEX <索引文件名表>
SET INDEX TO [<索引文件名表>]
SET ORDER TO [<索引文件名>](特例:重新索引命令:REINDEX)
15、FIND、SEEK和LOCATE及CONTINUE
作用:前兩個命令FIND和SEEK是在一個已經建立了索引文件的表中,定位到關鍵字中的內容
與命
令行中字元串相同的第一個記錄。後一個命令在用USE打開表文件以後,直接查詢表中欄位
內容。
格式:FIND <"字元串">|<字元串>
SEEK <表達式>
LOCATE [<范圍>] [FOR <條件>] [WHILE<條件>]
CONTINUE
說明:FIND命令與SEEK命令的區別是前者後跟字元串,而後者後跟表達式。在用LOCATE命令
找到
一個匹配記錄後,可用CONTINUE命令搜索表的剩餘部分來尋找其他匹配的記錄。
16、COUNT
作用:統計當前表文件中符合條件的記錄數。
格式:COUNT [<范圍>] [FOR <條件>] [WHILE<條件>] [TO <內存變數名>]
說明:內存變數名可用除參數外的任意字元。
17、SUM
作用:對當前表中選中記錄的全部或指定的數值欄位或由指定欄位組成的數值表達式累加求
和。
格式:SUM [<范圍>] [數值<表達式>] [TO <內存變數名表>] [FOR <條件>] [WHILE<條件>]
18、AVERAGE
作用:對當前表中選中記錄的全部或部分數值型欄位及其組成的表達式求平均值並顯示。
格式:AVERAGE [<范圍>] [數值<表達式>] [TO <內存變數名表>] [FOR <條件>] [WHILE<條
件>]
二、常用函數
1、數學函數
函數 用途
ABS(<數值表達式>) 絕對值,|x|
CEILING(<數值表達式>) >=自變數的最小整數
EXP(<數值表達式>) 對基E的冪,e=2.71828
FLOOR(<數值表達式>) <=自變數的最大整數
INT(<數值表達式>) 取整(舍尾)自變數
LOG(<數值表達式>) 自變數的自然對數,ln x
LOG10(<數值表達式>) 自變數的普通對數,lg x
MAX(<表達式1>,<表達式2>) 兩個值的最大值
MIN(<表達式1>,<表達式2>) 兩個值的最小值
MOD(<數值表達式1>,<數值表達式2>) 求余數
RAND([<數值表達式1>]) 返回偽隨機數
ROUND(<數值表達式1>,<數值表達式2>) 四捨五入第一個自變數
SIGN(<數值表達式>) 自變數的符號
SQRT(<數值表達式>) 平方根(正根)
2、字元串操作函數
函數 用途
&<內存變數> 用於代替內存變數內容
LEN(<字元串表達式>) 返回字元串表達式的字元個數
SPACE(<數值表達式>) 生成空格
SUBSTR(<字元串表達式>,<數值表達式n>[,<數值表達式L>]) 求子字元串,從指定的字
符串表達式第n個開始,總長為L的字元串
LOWER(<字元串表達式>) 將字元串字母轉換成小寫字母
UPPER(<字元串表達式>) 將字元串字母轉換成大寫字母
TRIM(<字元串表達式>) 刪除字元串尾空格
ASC(<字元串表達式>) 返回字元串表達式最左邊的第一個字元的ASCII碼
CHR(<數值表達式>) 將數值表達式轉換成字元
AT(<字元串表達式1>,<字元串表達式2>[,<數值表達式n>]) 確定字元串表達式1在字元
串表達式2中的位置,n為字元串表達式第幾次出現
STR(<數值表達式>[,<數值表達式L>][,<數值表達式n>) 將數值轉換為字元串,L為數值
表達式總長,n為小數位數
VAL(<字元串表達式>) 將數字字元串轉換為數字
TYPE(<表達式>) 檢測表達式值的數據類型
LTRIM(<字元串表達式>) 刪除字元串左部空格
RTRIM(<字元串表達式>) 刪除字元串右部空格
LEFT(<字元串表達式>,<數值表達式n>) 取字元串左邊部分字元,n為返回的字元個數
RIGHT(<字元串表達式>,<數值表達式n>) 取字元串右邊部分字元,n從右邊截取字元個數
3、表(.dbf)操作函數
函數 用途
BOF([<工作區號或別名>]) 查表文件開始函數
EOF([<工作區號或別名>]) 表文件結尾測試函數
RECNO([<工作區號或別名>]) 測試當前或指定工作區表的當前記錄號
DELETED([<工作區號或別名>]) 記錄刪除測試函數
FILE(<"字元串">) 測試文件是否存在函數
DBF([<工作區號或別名>]) 檢測表的文件名函數
4、日期、時間函數
函數 用途
DATE() 查系統當前日期函數
TIME([<數值表達式>]) 查系統當前時間函數
YEAR(<日期型表達式>|<日期時間型表達式>) 由日期查年函數
MONTH(<日期型表達式>|<日期時間型表達式>) 從日期查月份函數
CMONTH(<日期型表達式>|<日期時間型表達式>) 由日期查月份名函數
DAY(<日期型表達式>|<日期時間型表達式>) 從日期查當月的日函數
DOW(<日期型表達式>|<日期時間型表達式>[,<數值表達式>]) 由日期查星期函數
CDOW(<日期型表達式>|<日期時間型表達式>) 從日期查星期名函數
DTOC(<日期型表達式>|<日期時間型表達式>) 日期轉換為字元函數
CTOD(<字元串表達式>) 字元串轉換為日期函數
CTOT(<字元串表達式>) 返回日期時間值函數
TTOC(<日期時間型表達式>) 返回字元值
5、顯示、列印位置函數
函數 用途
ROW() 判斷游標行位置函數
COL() 判斷游標列位置函數
INKEY([<數值表達式>]) 檢測用戶所擊鍵對應的ASCII碼函數,數值表達式以秒為單位等
待擊鍵的時間
6、其他函數
函數 用途
DISKSPACE() 返回默認磁碟驅動器中可用位元組數函數
OS() 檢測操作系統名稱的函數
VERSION() 返回VFP版本號的函數
三、主要程序語句
1、條件判斷語句
格式:(1)IF <條件>
<命令語句組>
ENDIF
說明:如果條件為真,則執行命令語句組中的各語句,否則跳過這些命令語句不執行,
而執行ENDIF後的語句。
(2)IF <條件>
<命令語句組1>
ELSE
<命令語句組2>
ENDIF
說明:如果條件為真,執行命令語句組1,否則執行命令語句組2。
(3)IF <條件1>
IF <條件2>
<命令語句組1>
ELSE
<命令語句組2>
ENDIF
...
ELSE
<命令語句組N>
ENDIF
說明:進行多重條件的嵌套選擇。
(4)DO CASE
CASE <條件1>
<命令語句組1>
CASE <條件2>
<命令語句組2>
CASE <條件3>
<命令語句組3>
...
...
CASE <條件N>
<命令語句組N>
[OTHERWISE]
[<命令語句組N+1>]
ENDCASE
說明:依次判斷條件,轉入條件為真的命令語句組中執行。當所有條件都不成立時,若有
OTHERWISE項,則執行命令語句組N+1,否則執行ENDCASE後面的語句。
2、循環語句
格式:(1)DO WHILE <條件>
<命令語句組>
[LOOP]
<命令語句組>
[EXIT]
<命令語句組>
ENDDO
說明:判斷條件是否為真,如為真就重復執行循環體中的命令語句組,直到條件為假,結束
循
環。
(2)SCAN
<命令語句組>
ENDSCAN
說明:在一個表中建立一個執行命令語句組的循環,並執行對每一條記錄的操作,直到表文
件
記錄完為止。
VFP常用函數使用說明
1、數值運算函數
函數 操作 例 結果
SQRT(x) 求平方根 SQRT(9) 3
INT(x) 取整數 INT(3.14) 3
ROUND(x) 四捨五入 ROUND(3.14159,4) 3.1416
MOD(x,y) 求X除以Y的余數 MOD(25,4) 1
MAX(x,y) 求X,Y中的最大值 MAX(7,8) 8
MIN(x,y) 求X,Y中的最小值 MIN(1,2,3) 1
2、字元中操作函數
函數名 操作 例 結果
UPPER(S) 小寫字母 UPPER(abc) ABC
LOWER(S) 大寫字母 LOWER(ACD) acd
LEN(S) 求字元串的長度 LEN("中國1號") 7
AT(S1,S2) 在字元串S2,找字元串S1 AT("H","CHINA") 2
SUBSTR(S,I,N) 在S字元串中的第I個字元起取N個字元 SUBSTR('TECHNOLO',3,3) CHN
LEFT(S,N) 從字元串S左邊取N個字元 LEFT("中國人",4) 中國
RIGHT(S,N) 從字元串S右邊取N個字元 S=『12345'
RIGHT(S,3) 345
SPACE(N) 生成N個空格 "合計"+SPACE(2)+"123" 合計123
TRIM(S) 消除字元串尾部空格 TRIM("姓名 ") 姓名
ALLTRI(S) 消除字元串中所有空格 ALLTRIM("李 麗") 李麗
STUFF(S1,N1,N2,S2) 用字元串S2替換S1中第N1個字元起的N2個字元 STUFF("NOW",2,
1,"E") NEW
& 宏替換 P="G2"
USE &P USE G2
3、日期和時間函數
函數名 操作 例 結果
DATE() 求當前日期 DATE() 2001/11/12
DATETIME() 求當前日期和時間 DATETIME() 2001/11/12/0:22:33am
YEAR(D) 求年份 YEAR(DATE()) 2001
MONTH(D) 求月份(數值) MONTH(DATETIME()) 11
CMONTH(D) 求月份(字元) MONTH(DATETIME()) Novenber
DAY(D) 求日期 DAY(DATE()) 12
DOW(D) 求星期幾(數值) DOW(DATE()) 1
CDOW(D) 求星期幾(英文) CDOW(DATE()) sunday
TIME(D) 求當前時間 TIME(DATE()) 10:20:38am
4、數據類型轉換函數
函數名 操作 例 結果
ASC(S) 求第一個字元串的ASCII碼 ASC("what") 87
CHR(N) 求ASCII碼的字元 CHR(87) w
STR(R,L,D) 數值轉換成字元,L為長度,D為小數位數 X=3.1415
STR(X,6,2) 3.14
VAL(S) 字元串轉換為數值 VAL("123") 123.00
CTOD(S) 字元串轉日期 CTOD('11/01/2002') 11/01/2002
DTOC(D) 日期轉換成字元串 DTOC(DATE()) 11/01/2002
DTOS(D) 把日期轉成年月日式的字元串 DTOS(DATE()) 20021101
CTOT(C) 字元串轉成日期時間型 CTOT(11/01/2002 10:30:50am) 11/01/2002 10:30:50am
DTOT(D) 日期型轉為日期時間型 DTOT(DATE()) 11/25/2001 00:00:01am
TTOC(T) 日期時間型轉為字元型 TTOC(DATETIME()) 11/25/2001 00:00:01am
TTOD(T) 日期時間型轉為日期型 TTOD(DATETIME()) 11/25/2001
IIF(LE,E1,E2) 邏輯判斷 IIF(A>0,"YES","NO") YES
5、檢測函數
函數名 操作 例 結果
RECNO() 檢測當前記錄號 RECNO() 1
RECCOUNT() 檢測當前記錄數 RECCOUNT() 12
BOF() 開始記錄 BOF() 1
EOF() 最後記錄 EOF() 12
FOUND() 返回查找結果 FOUND() .T.
ROW() 返回當前行坐標 ROW() 1
COL() 返回當前列坐
『肆』 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
『伍』 在VFP中,下面的命令應該怎麼寫
stru to xs (題目錯了,應該是xs.dbf)
如果原題無錯也能實現,就是麻煩些
stru extended to xs
use xs
set print to xs.txt
list to print
list for 條碼編號="a0012" 條碼編號,數量,銷售員編號
第三題不明確,未給明日期是什麼欄位的日期 list for 某某日期>{03/04/01}
list for record 3
list rest
brow fields 條碼編號,品名,單
use 銷售
copt to xs
use xs
stru to xs1
use xs1
record 3 to xs2 fields 條碼編號,銷售員編號
use kc1
edit for 單價>1000 and 庫存量>=30 fields 條碼編號,品名,單價,庫存量
『陸』 在vfp中創建表文件命令基本格式如下: create dbf<表文件名>(<欄位名><類型>【(寬
嚴格按照格式輸入命令即可。例如:
crea dbf abc(a c(10),b n(12,4))
『柒』 visual foxpro 中表文件為何用DBF表示
列印.dbf表的方法有如下幾種:
方法一:顯示在記事本中列印
操作方法:
在VFP中打開你要列印的表,然後在命令窗口中輸入:LIST to c:\temp.txt,其中,「c:\」表示數據的存放路徑,然後在此路徑下找到此TXT文件,雙擊打開,單擊「文件」---「列印」,列印即可。
列印效果如下:
方法二:直接在VFP中列印
操作方法:在VFP中打開你要列印的表,然後在命令窗口中輸入:LIST to printer,即可直接列印。不過,如果數據特別多的時候,需等待幾秒鍾後才開始列印。直接列印的缺點是:當列印內容記錄特別多的時候,建議不要選擇這樣列印,因為當一頁顯示不下時,它會換行,這樣使得列印內容看起來亂七八糟的。
方法三:導出到EXCEL表中進行列印
操作方法:在VFP中打開你要列印的表,然後在命令窗口中輸入: to c:\你的表名.xls,其中:「c:\」仍代表導出數據的存放路徑。然後到指導目錄下找到剛導出的EXCEL表,雙擊打開通過預覽方式調整此表的列印格式,直到合適為止,然後單擊工具欄中的「列印」即可。
一般情況下,建議採用此種方式進行列印,它的優點是:可以對列印內容進行格式調整,使列印效果更加美觀。
還有一種與它等效的方法:在VFP中打開你要列印的表,然後單擊「文件」菜單中的「導出」,選擇將其導出為EXCEL格式即可。
不知我說的讓你明白沒有?這是我親自試過的,不妨你也試試看。
『捌』 第一次用VFP打開DBF格式的文件時,要不要輸入什麼命令
不是沒有打開,而是打開了沒有顯示出來。點擊菜單: 顯示——瀏覽 ,就可以看到了。
『玖』 求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 <表達式1>[,<欄位2> WITH <表達式2>] [FOR <條
件>
] [WHILE<條件>]
12、DELETE、PACK、ZAP和RECALL
作用:分別是給要刪除的記錄作刪除標記、徹底刪除、刪除所有記錄和取消被選中的表記錄
的
刪除標志。
格式:DELETE [<范圍>] [WHILE<條件>] [FOR <條件>] (特例:DELETE FILE
FILENAME.DBF,
該命令刪除指定的表文件)
PACK
ZAP
RECALL [<范圍>] [FOR <條件>] [WHILE<條件>]
13、SORT和INDEX
作用:分別是建立一個其記錄以新的物理順序排列的新表文件和對當前表根據關鍵字表達式
的值
從小到大排列,並存入TO後指定的索引文件名的文件或復合索引文件的一個標識中。
格式:SORT TO <文件名> ON <欄位名1> [/A] [/C] [/D][,<欄位名2> [/A] [/C]
[/D]]...
[ASCENDING|DESCENDING] [<范圍>] [FOR <條件>] [WHILE<條件>] [FIELDS<欄位表>]
INDEX ON <關鍵字表達式> TO <文件名>
INDEX ON <關鍵字表達式> TAG <標識名> [OF <文件名>] [FOR <條件>]
說明:第1個命令中,/A按欄位名升序排序,/D按欄位名降序排序,/C忽略大小寫,針對字
符型
關鍵字而言,ASCENDING和DESCENDING分別表示升序和降序。第1個命令建立.dbf表文件,第
2個命令
建立.idx單一索引文件,第3個命令建立.cdx復合索引文件(Compound Index)。
14、USE <表文件名> INDEX <索引文件名表>、SET INDEX TO和SET ORDER TO
作用:分別是打開表文件的同時打開索引文件、打開索引文件和改變主索引。
格式:USE <表文件名> INDEX <索引文件名表>
SET INDEX TO [<索引文件名表>]
SET ORDER TO [<索引文件名>](特例:重新索引命令:REINDEX)
15、FIND、SEEK和LOCATE及CONTINUE
作用:前兩個命令FIND和SEEK是在一個已經建立了索引文件的表中,定位到關鍵字中的內容
與命
令行中字元串相同的第一個記錄。後一個命令在用USE打開表文件以後,直接查詢表中欄位
內容。
格式:FIND <"字元串">|<字元串>
SEEK <表達式>
LOCATE [<范圍>] [FOR <條件>] [WHILE<條件>]
CONTINUE
說明:FIND命令與SEEK命令的區別是前者後跟字元串,而後者後跟表達式。在用LOCATE命令
找到
一個匹配記錄後,可用CONTINUE命令搜索表的剩餘部分來尋找其他匹配的記錄。
16、COUNT
作用:統計當前表文件中符合條件的記錄數。
格式:COUNT [<范圍>] [FOR <條件>] [WHILE<條件>] [TO <內存變數名>]
說明:內存變數名可用除參數外的任意字元。
17、SUM
作用:對當前表中選中記錄的全部或指定的數值欄位或由指定欄位組成的數值表達式累加求
和。
格式:SUM [<范圍>] [數值<表達式>] [TO <內存變數名表>] [FOR <條件>] [WHILE<條件>]
18、AVERAGE
作用:對當前表中選中記錄的全部或部分數值型欄位及其組成的表達式求平均值並顯示。
格式:AVERAGE [<范圍>] [數值<表達式>] [TO <內存變數名表>] [FOR <條件>] [WHILE<條
件>]
二、常用函數
1、數學函數
函數 用途
ABS(<數值表達式>) 絕對值,|x|
CEILING(<數值表達式>) >=自變數的最小整數
EXP(<數值表達式>) 對基E的冪,e=2.71828
FLOOR(<數值表達式>) <=自變數的最大整數
INT(<數值表達式>) 取整(舍尾)自變數
LOG(<數值表達式>) 自變數的自然對數,ln x
LOG10(<數值表達式>) 自變數的普通對數,lg x
MAX(<表達式1>,<表達式2>) 兩個值的最大值
MIN(<表達式1>,<表達式2>) 兩個值的最小值
MOD(<數值表達式1>,<數值表達式2>) 求余數
RAND([<數值表達式1>]) 返回偽隨機數
ROUND(<數值表達式1>,<數值表達式2>) 四捨五入第一個自變數
SIGN(<數值表達式>) 自變數的符號
SQRT(<數值表達式>) 平方根(正根)
2、字元串操作函數
函數 用途
&<內存變數> 用於代替內存變數內容
LEN(<字元串表達式>) 返回字元串表達式的字元個數
SPACE(<數值表達式>) 生成空格
SUBSTR(<字元串表達式>,<數值表達式n>[,<數值表達式L>]) 求子字元串,從指定的字
符串表達式第n個開始,總長為L的字元串
LOWER(<字元串表達式>) 將字元串字母轉換成小寫字母
UPPER(<字元串表達式>) 將字元串字母轉換成大寫字母
TRIM(<字元串表達式>) 刪除字元串尾空格
ASC(<字元串表達式>) 返回字元串表達式最左邊的第一個字元的ASCII碼
CHR(<數值表達式>) 將數值表達式轉換成字元
AT(<字元串表達式1>,<字元串表達式2>[,<數值表達式n>]) 確定字元串表達式1在字元
串表達式2中的位置,n為字元串表達式第幾次出現
STR(<數值表達式>[,<數值表達式L>][,<數值表達式n>) 將數值轉換為字元串,L為數值
表達式總長,n為小數位數
VAL(<字元串表達式>) 將數字字元串轉換為數字
TYPE(<表達式>) 檢測表達式值的數據類型
LTRIM(<字元串表達式>) 刪除字元串左部空格
RTRIM(<字元串表達式>) 刪除字元串右部空格
LEFT(<字元串表達式>,<數值表達式n>) 取字元串左邊部分字元,n為返回的字元個數
RIGHT(<字元串表達式>,<數值表達式n>) 取字元串右邊部分字元,n從右邊截取字元個數
3、表(.dbf)操作函數
函數 用途
BOF([<工作區號或別名>]) 查表文件開始函數
EOF([<工作區號或別名>]) 表文件結尾測試函數
RECNO([<工作區號或別名>]) 測試當前或指定工作區表的當前記錄號
DELETED([<工作區號或別名>]) 記錄刪除測試函數
FILE(<"字元串">) 測試文件是否存在函數
DBF([<工作區號或別名>]) 檢測表的文件名函數
4、日期、時間函數
函數 用途
DATE() 查系統當前日期函數
TIME([<數值表達式>]) 查系統當前時間函數
YEAR(<日期型表達式>|<日期時間型表達式>) 由日期查年函數
MONTH(<日期型表達式>|<日期時間型表達式>) 從日期查月份函數
CMONTH(<日期型表達式>|<日期時間型表達式>) 由日期查月份名函數
DAY(<日期型表達式>|<日期時間型表達式>) 從日期查當月的日函數
DOW(<日期型表達式>|<日期時間型表達式>[,<數值表達式>]) 由日期查星期函數
CDOW(<日期型表達式>|<日期時間型表達式>) 從日期查星期名函數
DTOC(<日期型表達式>|<日期時間型表達式>) 日期轉換為字元函數
CTOD(<字元串表達式>) 字元串轉換為日期函數
CTOT(<字元串表達式>) 返回日期時間值函數
TTOC(<日期時間型表達式>) 返回字元值
5、顯示、列印位置函數
函數 用途
ROW() 判斷游標行位置函數
COL() 判斷游標列位置函數
INKEY([<數值表達式>]) 檢測用戶所擊鍵對應的ASCII碼函數,數值表達式以秒為單位等
待擊鍵的時間
6、其他函數
函數 用途
DISKSPACE() 返回默認磁碟驅動器中可用位元組數函數
OS() 檢測操作系統名稱的函數
VERSION() 返回VFP版本號的函數
三、主要程序語句
1、條件判斷語句
格式:(1)IF <條件>
<命令語句組>
ENDIF
說明:如果條件為真,則執行命令語句組中的各語句,否則跳過這些命令語句不執行,
而執行ENDIF後的語句。
(2)IF <條件>
<命令語句組1>
ELSE
<命令語句組2>
ENDIF
說明:如果條件為真,執行命令語句組1,否則執行命令語句組2。
(3)IF <條件1>
IF <條件2>
<命令語句組1>
ELSE
<命令語句組2>
ENDIF
...
ELSE
<命令語句組N>
ENDIF
說明:進行多重條件的嵌套選擇。
(4)DO CASE
CASE <條件1>
<命令語句組1>
CASE <條件2>
<命令語句組2>
CASE <條件3>
<命令語句組3>
...
...
CASE <條件N>
<命令語句組N>
[OTHERWISE]
[<命令語句組N+1>]
ENDCASE
說明:依次判斷條件,轉入條件為真的命令語句組中執行。當所有條件都不成立時,若有
OTHERWISE項,則執行命令語句組N+1,否則執行ENDCASE後面的語句。
2、循環語句
格式:(1)DO WHILE <條件>
<命令語句組>
[LOOP]
<命令語句組>
[EXIT]
<命令語句組>
ENDDO
說明:判斷條件是否為真,如為真就重復執行循環體中的命令語句組,直到條件為假,結束
循
環。
(2)SCAN
<命令語句組>
ENDSCAN
說明:在一個表中建立一個執行命令語句組的循環,並執行對每一條記錄的操作,直到表文
件
記錄完為止。
VFP常用函數使用說明
1、數值運算函數
函數 操作 例 結果
SQRT(x) 求平方根 SQRT(9) 3
INT(x) 取整數 INT(3.14) 3
ROUND(x) 四捨五入 ROUND(3.14159,4) 3.1416
MOD(x,y) 求X除以Y的余數 MOD(25,4) 1
MAX(x,y) 求X,Y中的最大值 MAX(7,8) 8
MIN(x,y) 求X,Y中的最小值 MIN(1,2,3) 1
2、字元中操作函數
函數名 操作 例 結果
UPPER(S) 小寫字母 UPPER(abc) ABC
LOWER(S) 大寫字母 LOWER(ACD) acd
LEN(S) 求字元串的長度 LEN("中國1號") 7
AT(S1,S2) 在字元串S2,找字元串S1 AT("H","CHINA") 2
SUBSTR(S,I,N) 在S字元串中的第I個字元起取N個字元 SUBSTR('TECHNOLO',3,3) CHN
LEFT(S,N) 從字元串S左邊取N個字元 LEFT("中國人",4) 中國
RIGHT(S,N) 從字元串S右邊取N個字元 S=『12345'
RIGHT(S,3) 345
SPACE(N) 生成N個空格 "合計"+SPACE(2)+"123" 合計123
TRIM(S) 消除字元串尾部空格 TRIM("姓名 ") 姓名
ALLTRI(S) 消除字元串中所有空格 ALLTRIM("李 麗") 李麗
STUFF(S1,N1,N2,S2) 用字元串S2替換S1中第N1個字元起的N2個字元 STUFF("NOW",2,
1,"E") NEW
& 宏替換 P="G2"
USE &P USE G2
3、日期和時間函數
函數名 操作 例 結果
DATE() 求當前日期 DATE() 2001/11/12
DATETIME() 求當前日期和時間 DATETIME() 2001/11/12/0:22:33am
YEAR(D) 求年份 YEAR(DATE()) 2001
MONTH(D) 求月份(數值) MONTH(DATETIME()) 11
CMONTH(D) 求月份(字元) MONTH(DATETIME()) Novenber
DAY(D) 求日期 DAY(DATE()) 12
DOW(D) 求星期幾(數值) DOW(DATE()) 1
CDOW(D) 求星期幾(英文) CDOW(DATE()) sunday
TIME(D) 求當前時間 TIME(DATE()) 10:20:38am
4、數據類型轉換函數
函數名 操作 例 結果
ASC(S) 求第一個字元串的ASCII碼 ASC("what") 87
CHR(N) 求ASCII碼的字元 CHR(87) w
STR(R,L,D) 數值轉換成字元,L為長度,D為小數位數 X=3.1415
STR(X,6,2) 3.14
VAL(S) 字元串轉換為數值 VAL("123") 123.00
CTOD(S) 字元串轉日期 CTOD('11/01/2002') 11/01/2002
DTOC(D) 日期轉換成字元串 DTOC(DATE()) 11/01/2002
DTOS(D) 把日期轉成年月日式的字元串 DTOS(DATE()) 20021101
CTOT(C) 字元串轉成日期時間型 CTOT(11/01/2002 10:30:50am) 11/01/2002 10:30:50am
DTOT(D) 日期型轉為日期時間型 DTOT(DATE()) 11/25/2001 00:00:01am
TTOC(T) 日期時間型轉為字元型 TTOC(DATETIME()) 11/25/2001 00:00:01am
TTOD(T) 日期時間型轉為日期型 TTOD(DATETIME()) 11/25/2001
IIF(LE,E1,E2) 邏輯判斷 IIF(A>0,"YES","NO") YES
5、檢測函數
函數名 操作 例 結果
RECNO() 檢測當前記錄號 RECNO() 1
RECCOUNT() 檢測當前記錄數 RECCOUNT() 12
BOF() 開始記錄 BOF() 1
EOF() 最後記錄 EOF() 12
FOUND() 返回查找結果 FOUND() .T.
ROW() 返回當前行坐標 ROW() 1
COL() 返回當前列坐