browse 命令

Secon cFon tStyle指定瀏覽視窗的字形。

browse 命令
打開瀏覽視窗,顯示當前或選定表的記錄。

語法

BROWSE
[FIELDS FieldList]
[FONT cFontName [, nFontSize]]
[STYLE cFontStyle]
[FOR lExpression1 [REST]]
[FORMAT]
[FREEZE FieldName]
[KEY eExpression1 [, eExpression2]]
[LAST | NOINIT]
[LOCK nNumberOfFields]
[LPARTITION]
[NAME ObjectName]
[NOAPPEND]
[NODELETE]
[NOEDIT | NOMODIFY]
[NOLGRID] [NORGRID]
[NOLINK]
[NOMENU]
[NOoptimize]
[NOREFRESH]
[NORMAL]
[NOWAIT]
[PARTITION nColumnNumber [LEDIT] [REDIT]]
[PREFERENCE PreferenceName]
[SAVE]
[TIMEOUT nSeconds]
[TITLE cTitleText]
[valid [:F] lExpression2 [ERROR cMessageText]]
[WHEN lExpression3]
[WIDTH nFieldWidth]
[WINDOW WindowName1]
[IN [WINDOW] WindowName2 | IN SCREEN]
[COLOR SCHEME nSchemeNumber]

參數

FIELDS FieldList

指定顯示在瀏覽視窗中的欄位。這些欄位以 Fieldlist 指定的順序顯示。在該欄位列表中可包含其他相關表中的欄位。在包含一個相關表的欄位時,應在欄位名前面放一個句號及相關表的別名。

如果忽略 FIELDS 子句,表中的所有欄位按其在表結構中出現的順序顯示。

FONT cFontName [, nFontSize]

指定瀏覽視窗的字型及字型大小。字元型表達式 cFontName 指定字型,數值型表達式 nFontSize 指定字型大小。例如,下列子句指定顯示於瀏覽視窗的欄位為 16 磅 Courier 字型。

FONT 'Courier',16

如果在包含 FONT 子句的同時省略了字型大小 nFontSize,則瀏覽視窗採用 10 磅字型。

如果省略 FONT 子句,則採用 8 磅 MS Sans serif 字型。

如果用戶指定的字型不可用,則用具有相似字型特徵的字型代替。

STYLE cFontStyle

指定瀏覽視窗的字形。如果省略 STYLE 子句,則採用常規字形。

如果指定的字形不可用,則使用具有相似特徵的字形代替,或使用Normal字型。

字元 字形
B 粗體
I 斜體
N 常規
O 輪廓線
Q 不透明
S 陰影
– 刪除線
T 透明
U 下劃線

可用多個字元的組合來指定字形。下例打開一個瀏覽視窗,並採用下劃線字形。

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table
IF _WINDOWS
BROWSE FIELDS contact FONT 'System', 15 STYLE 'NU'
ENDIF
IF _MAC
BROWSE FIELDS contact FONT 'Geneva', 14 STYLE 'NU'
ENDIF

FOR lExpression1

指定一個條件,只有 lExpression1 為“真”的記錄才顯示於瀏覽視窗。

若 lExpression1 是一個可最佳化表達式,則 rushmore 最佳化由 BROWSE FOR 指定的查詢。為達到最佳性能,需在 FOR 子句中採用可最佳化表達式。其它相關信息,請參閱本書稍後SET OPTIMIZE 命令和《Microsoft Visual FoxPro 6.0 中文版程式設計師指南》的第十五章“最佳化應用程式”。

包含 FOR 子句使記錄指針移向符合該條件的第一條記錄。包含 REST 子句使記錄指針處於當前位置。

REST

防止在 FOR 子句打開瀏覽視窗時,記錄指針從當前位置移向表頂部。若不包含 REST,默認情況下,BROWSE 將記錄指針放置在表頂部。

FORMAT

使用格式檔案來控制瀏覽視窗的顯示和輸入數據的格式。首先套用 SETFORMAT 打開格式檔案。以下是從格式檔案中提取的、套用於瀏覽視窗的信息:

要瀏覽的欄位列表

所有 VALID 子句

所有 WHEN 子句

所有 RANGE 子句

欄位大小(如 PICTURE 子句所指定)

所有 SAY 表達式(包含 BROWSE 計算結果欄位)
下例採用格式檔案檢查輸入到瀏覽視窗中的數據,忽略由 @ ... GET 指定的位置。

第一行創建一個瀏覽欄位 (cust_id),該欄位為 5 個字元寬,並且只允許輸入字母和數字。

第二行創建一個瀏覽欄位 (company),該欄位不能包含空 (blank) 值,且最多只能包含 20 個字母字元。

第三行創建一個瀏覽欄位 (contact),只在該欄位為空 (blank) 時才輸入數據。

以下是 CUSTENTR.FMT 格式檔案的內容,用於檢查輸入到 customer 表中的數據:

@ 3,0 GET cust_id PICTURE 'NNNNN'
@ 3,0 GET company VALID company != SPACE(40) ;
PICTURE 'AAAAAAAAAAAAAAAAAAAA'
@ 3,0 GET contact WHEN contact = SPACE(40)
* This is the program that uses the format file
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table
SET FORMAT TO custentr.fmt
BROWSE FORMAT

FREEZE FieldName

允許在瀏覽視窗中只修改一個欄位。使用 FieldName 指定該欄位,其他欄位可顯示但不能編輯。

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table
BROWSE FIELDS phone :H = 'Phone Number:' , ;
company :H = 'Company:' ;
FREEZE phone

KEY eExpression1 [, eExpression2]

限制瀏覽視窗顯示的記錄範圍。用 KEY 指定瀏覽視窗顯示的記錄的一個索引關鍵字值(eExpression1) 或關鍵字值的範圍 (eExpression1,eExpression2)。所瀏覽的表必須已建立索引,並且索引關鍵字值或 KEY 子句的值必須與主索引檔案或標識的索引表達式具有相同的數據類型。

例如,customer 表包含一個保存郵政編碼的字元欄位。如果該表已建立郵政編碼欄位索引,則可在 KEY 子句指定郵政編碼的範圍。

下例中,只有在 10,000 到 30,000 範圍內的郵政編碼記錄才顯示在瀏覽視窗。

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table
SET ORDER TO postalcode
BROWSE KEY '10000', '30000'

LAST | NOINIT

保存瀏覽視窗外觀的任何變更。這些變更可保存於 FOXUSER 檔案中,包括欄位列表、瀏覽視窗的位置及尺寸等內容的變更。

如果用戶發出帶有 LAST 或 NOINIT 子句的 browse 命令,在 SET RESOURCE 為 ON的情況下,以最後保存於 FOXUSER 檔案中的配置打開瀏覽視窗,恢復最後一個browse 命令創建的瀏覽視窗。如果在命令視窗中最後發出的 browse 命令帶有一長串子句,那么使用包含 LAST 或 NOINIT 選項的 browse 命令,可以避免重新鍵入命令。有關 FOXUSER 檔案的詳細內容,請參閱 SET RESOURCE。

如果最後一個瀏覽視窗是由一個包含 PREFERENCE 子句的 browse 命令打開的,BROWSE LAST 將不再恢復原配置。如果用戶按 CTRL+Q 退出瀏覽,則當前工作區中的瀏覽視窗配置的任何變更,都不會被保存。LAST與NOINIT作用相同。NOINIT 是為與 dBASE 兼容而提供的。

LOCK nNumberOfFields

指定不需滾動就能在瀏覽視窗左分區中可見的欄位數。分區的大小可自動調整以顯示nNumberOfFields 指定的欄位數。

LPARTITION

指定游標位置在瀏覽視窗左分區的第一個欄位。默認情況下,打開瀏覽視窗時,游標位於右分區的第一欄位。

NAME ObjectName

為瀏覽視窗創建一個對象引用,允許在操作瀏覽視窗時使用表格控制項的面向對象屬性。有關在 Visual FoxPro 中的面向對象編程的其他信息,請參閱《Microsoft Visual FoxPro 6.0 中文版程式設計師指南》的第三章“面對對象程式設計”。有關您能夠為使用 NAME 子句創建的“瀏覽”視窗指定的表格控制項屬性的內容,請參閱稍後的“表格控制項”。

NOAPPEND

禁止用戶通過如下方式添加表記錄:按 CTRL+Y 鍵,或選擇“表”選單的“追加記錄”命令。

要點 包含 NOAPPEND 並不禁止用戶在程式中向瀏覽視窗中添加記錄(由VALID、WHEN 或 ON KEY LABEL 等命令創建)。

NODELETE

禁止在瀏覽視窗中為記錄作刪除標記。默認情況下,按 CTRL+T 鍵、選擇 Visual FoxPro中的表選單或 FoxPro 早期版本瀏覽選單的切換刪除標記項,或單擊要刪除的記錄的最左邊一列,可為記錄作刪除標記。包含 NODELETE 不禁止用戶在程式中為瀏覽視窗中的記錄作刪除標記。

NOEDIT | NOMODIFY

禁止用戶修改表。NOEDIT 等同於 NOMODIFY。包含其中任何一個子句,用戶可以瀏覽或搜尋表,可以添加或刪除記錄,但不能編輯。

NOLGRID

Removes the field gridlines in the left partition of the Browse window.

NORGRID

刪除瀏覽視窗左分區中欄位的格線線。

NOLINK

將瀏覽視窗的左右兩部分斷開聯繫。默認情況下,瀏覽視窗的左分區和右分區連結在一起,即滾動其中一區時,另一區也隨之滾動

NOMENU

從系統選單欄中刪除“表”選單標題,防止訪問“瀏覽”選單。

NOOPTIMIZE

禁止 BROWSE 進行 Rushmore 最佳化。有關詳細內容,請參閱稍後部分的SET OPTIMIZE 命令,以及《Microsoft Visual FoxPro 6.0 中文版程式設計師指南》的第十五章“最佳化應用程式”。

NOREFRESH

禁止對瀏覽視窗進行刷新。瀏覽視窗以 SET REPRESH 確定的速度進行刷新。NOREPRESH 對唯讀檔案非常有用,並且可以改進性能。

NORMAL

使用正常的默認設定打開瀏覽視窗,如顏色、尺寸、標題、位置和控制選項(如 GROW、FLOAT、ZOOM 等等)。如果省略 NORMAL,而當前輸出視窗為用戶自定義視窗,瀏覽視窗使用用戶自定義設定。

NOWAIT

打開瀏覽視窗之後繼續運行程式。程式不必等待瀏覽視窗關閉,而是繼續執行BROWSE NOWAIT 之後的程式行。若在程式中發出 browse 命令時省略 NOWAIT,則瀏覽視窗打開後,暫停執行程式,直至瀏覽視窗關閉。NOWAIT 只用於程式中。在命令視窗中發出 browse 命令時包含 NOWAIT 無此作用。

PARTITION nColumnNumber

將瀏覽視窗拆分為左右分區,nColumnNumber 指定拆分條所在的列。例如,nColumnNumber 為 20,則拆分條放置於瀏覽視窗的第 20 列。

LEDIT

指定瀏覽視窗的左分區以編輯方式顯示。

REDIT

指定瀏覽視窗的右分區以編輯方式顯示。下例打開瀏覽視窗,使拆分條位於第 20 列,並以編輯方式打開右分區。

若同時包含 LEDIT、REDIT 兩個關鍵字,以編輯方式打開兩個分區。

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table
BROWSE PARTITION 20 REDIT

PREFERENCE PreferenceName

保存瀏覽視窗的屬性和選項供以後使用。PREFERENCE 不像 LAST 以先前工作區中出現的方式打開瀏覽視窗,而是將瀏覽視窗的屬性隨時存儲於FOXUSER 資源檔案中。PREFERENCE 可在任何時候恢復。

在第一次發出帶有指定設定的 browse 命令時,在 FOXUSER 檔案中創建一個保存瀏覽視窗配置的數據項。以後用同樣的狀態名發出 browse 命令時,恢復瀏覽視窗該狀態。在瀏覽視窗關閉時,更新該狀態。

狀態名可為 10 個字元長,必須以字母或下劃線開頭,可包括字母、數字或下劃線的任意組合。

如果您喜愛某種狀態,可禁止其被更改。關閉瀏覽視窗,發出 SET RESOURCE OFF 命令,將 FOXUSER 作為一個表打開,並將邏輯欄位 READONLY 的值更改為“真”(.T.),可將包含狀態的記錄改為唯讀記錄。

有關 FOXUSER 資源檔案的詳細內容,請參閱 SET RESOURCE。若按 CTRL+Q 鍵退出瀏覽視窗,則資源檔案不保存任何對瀏覽視窗的更改。

SAVE

保持瀏覽視窗及其所有備註欄位的文本編輯視窗為活動和可視(打開)的。用鍵盤或滑鼠訪問其他打開的視窗後,可以返回瀏覽視窗。SAVE 僅用於程式中。在命令視窗中發出 browse 命令時包含 SAVE,則無此作用。在默認情況下,BROWSE SAVE 以互動方式工作。

TIMEOUT nSeconds

指定瀏覽視窗等待輸入的時間。數值型表達式 nSeconds 指定在沒有任何輸入的情況下,瀏覽視窗保持多少秒後才自動關閉。

TIMEOUT 僅用於程式中。在命令視窗中發出 browse 命令時包含 TIMEOUT,則無此作用。下例中,如果在 10 秒內沒有輸入,則關閉瀏覽視窗:

DEFINE WINDOW wBrowse FROM 1,1 TO 24,40 ;
CLOSE ;
GROW ;
COLOR SCHEME 10
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table
BROWSE WINDOW wBrowse ;
FIELDS phone :H = 'Phone Number:' , ;
company :H = 'Company:' ;
TIMEOUT 10
RELEASE WINDOW wBrowse

TITLE cTitleText

以 cTitleText 指定的標題改寫顯示於瀏覽視窗標題欄中的默認表名或別名。否則,要瀏覽的表的名稱或別名顯示於標題欄中。

如果發出 BROWSE WINDOW 命令將瀏覽視窗置於用戶自定義視窗中,則瀏覽視窗的標題替換用戶自定義視窗的標題。

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table
BROWSE;
TITLE 'My Browse Window' ;
FIELDS phone :H = 'Phone Number' , ;
company :H = 'Company:'

VALID lExpression2

在瀏覽視窗中執行記錄級有效性檢查。VALID 子句僅在記錄已被更改並且試圖將游標移至另一記錄時執行。如果只是對備註欄位的更改,不執行 VALID子句。

如果 VALID 返回值為“真”(.T.),用戶可將游標移向另一記錄;如果 VALID 返回值為“假”(.F.),游標停留在當前記錄上,Visual FoxPro 產生一條錯誤信息。如果VALID 返回值為 0,游標停留在當前記錄上,但不顯示錯誤信息。

不要把 VALID 子句和啟用欄位級有效性的檢驗選項 (:V) 相混淆。

:F

在用戶將游標移至下一個記錄之前,強制執行 VALID 子句。這種情況下,即使記錄沒更改,也執行 VALID 。

ERROR cMessageText

指定一條錯誤信息來替換系統默認的錯誤信息。在 VALID 返回值為“假”(.F.) 時,Visual FoxPro 顯示 cMessageText。

WHEN lExpression3

在用戶把指針移到另一條記錄時做出評估,若評估為真,則用戶可以修改將要移到的記錄,若評估為假,則該記錄為唯讀或用戶不能修改它。指定一條錯誤信息來改寫系統默認的錯誤信息。在 VALID 返回值為“假”(.F.) 時,Visual FoxPro 顯示 cMessageText。

在激活另一視窗時,不執行 WHEN 子句。

WIDTH nFieldWidth

將瀏覽視窗中所有欄位的字元數限制為 nFieldWidth,使用左右箭頭或水平滾動欄,可水平滾動欄位內容。使用 WIDTH 子句並不會修改表中欄位的大小,而只修改欄位在瀏覽視窗中的顯示方式。如果已由 FIELDS 子句指定一個欄位的寬度,它將替換 WIDTH 子句所指定的該欄位的寬度。

WINDOW WindowName1

指定一個用戶自定義視窗,瀏覽視窗將採用此視窗的特性。例如,如果該用戶自定義視窗是由 FLOAT 子句創建的,則瀏覽視窗可移動。所指定的視窗不需要是活動的和可見的,但必須是已定義的。

IN [WINDOW] WindowName2

指定打開瀏覽視窗的父視窗,該瀏覽視窗並不採用父視窗的特性。在父視窗內激活的瀏覽視窗不能移出該父視窗。如果父視窗移動,則瀏覽視窗隨之移動。

要訪問瀏覽視窗,必須首先用 DEFINE WINDOW 定義父視窗,而且父視窗必須是活動的和可見的。

IN SCREEN

在用戶自定義視窗為活動視窗時,將瀏覽視窗放置在 Viusal FoxPro 主視窗中。

COLOR SCHEME nSchemeNumber

指定用於瀏覽視窗的配色方案的編號。

瀏覽視窗假定配色方案已由 Windows 的顏色控制臺建立。

說明

瀏覽視窗允許查看、編輯表中的記錄,並追加額外的記錄。Visual FoxPro 允許同時打開多個瀏覽視窗

若按 Esc 鍵退出瀏覽視窗,則放棄對最後一個欄位所做的更改。然而,若在修改一個欄位後移向另一記錄,則可保存對此欄位所做的更改。

有關在“瀏覽”視窗中定位的信息,請參閱幫助中的《用戶指南》第二章“創建表和索引”。

欄位列表可以指定為欄位或計算結果欄位的任意組合。

欄位列表的語法是:

FieldName1
[:R]
[:nColumnWidth]
[:V = lExpression1 [:F] [:E = cMessageText]]
[:P = cFormatCodes]
[:B = eLowerBound, eUpperBound [:F]]
[:H = cHeadingText]
[:W = lExpression2]
[, FieldName2 [:R]...]

計算結果欄位 欄位列表可包含創建計算結果欄位的語句。計算結果欄位包含由表達式創建的唯讀數據。該表達式可以是任何格式,但必須是有效的 Visual FoxPro 表達式。

用於創建計算結果欄位的語句格式為:

CalculatedFieldName = eExpression

下面的示例創建一個名為 location 的計算結果欄位:

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table
BROWSE FIELDS location = ALLTRIM(city) + ', ' + country

city 和 country 都是當前選定表的欄位名。

FIELDS 子句的欄位列表包含對顯示於瀏覽視窗中的欄位進行特殊處理的選項:

:R

指定欄位為唯讀欄位,可顯示但不可編輯欄位包含的數據。

下例中打開的瀏覽視窗包含 cust_id 和 company 欄位。Cust_id 欄位為唯讀欄位,不可更改。

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table
BROWSE FIELDS cust_id:R, company

:nColumnWidth

指定列中欄位顯示的大小,:nColumnWidth 值不影響表中欄位的大小,隻影響字段在瀏覽視窗中顯示的方式。

:V = lExpression1 [:F] [:E = cMessageText]

檢驗選項 (:V) 在瀏覽視窗中執行欄位級數據有效性檢查。若從一個欄位移去游標時,lExpression1 值為“真” (.T.),則認為輸入到該欄位的數據正確,游標移向下一欄位。

若 lExpression1 值為“假” (.F.),則認為所輸入數據不正確,游標停留在當前欄位並顯示一條錯誤信息。若 lExpression1 值為 0,則認為所輸入數據不正確,游標仍停留在當前欄位但不顯示錯誤信息。

對於備註欄位不執行此檢驗選項。

默認情況下,lExpression1 只在修改欄位時求值。欲強制執行檢驗,需包括 :F 選項。用戶可包含下面所述的 :E 選項來顯示自己定義的錯誤信息。

:F

決定當從一個欄位移去游標或激活另一個視窗時,是否對檢驗選項中的表達式求值。若不包括 :F,則 lExpression1 僅在修改欄位時求值。若包括 :F,則即使沒有修改欄位也對 lExpression1 求值。

:E = cMessageText

如果有效性檢測表達式 :V = lExpression1 值為“真”,則允許游標移動。如果該表達式值為“假”,游標停留在當前欄位,Visual FoxPro 產生一個錯誤信息。

如果包含錯誤選項 (:E),cMessageText 代替系統錯誤信息出現。CMessageText 僅在 SETNOTIFY 為 ON 時出現。若 SET BELL 為 ON,則響鈴。

如果 :V = lExpression1 值為 0,則不出現錯誤信息,游標停留於當前有效字段。這使得用戶可以在有效性檢測例程中顯示自己定義的錯誤信息。

下例打開 products 表並顯示 product_id 和 prod_name 欄位。Product_id 欄位是一個可接收 5 個數字的數值型欄位。在該例中,假定大於 100 的 product_id 是無效的。

:V 指定有效性準則。 不論數據是否更改,:F 都強制執行有效性檢查。:E 使用用戶自定義錯誤信息來代替 Visual FoxPro 系統錯誤信息。在 Visual FoxPro、ForPro for Windows和 FoxPro for Macintosh 中,錯誤信息顯示於 Visual FoxPro 主視窗底部的狀態欄中。

按下 ESC 鍵可關閉瀏覽視窗。

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products && Open products table
IF _WINDOWS OR _MAC
SET STATUS BAR ON
ENDIF
USE products
BROWSE FIELDS in_stock :V = in_stock < 100 ;
:F ;
:E = 'The stock amount must be less than 100'

:P = cFormatCodes

如果包含 FIELDS 子句,用戶也可為列表中的每一欄位指定一個圖片選項(:P)。圖片選項可創建一個代碼列表,該列表控制瀏覽視窗中每一欄位的顯示和數據輸入。CFormatCodes 即為代碼列表。

下例採用圖片選項,只允許以指定格式的數值型數據輸入到 unit_price 欄位中。

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products && Open products table
BROWSE FIELDS unit_price :P = '99,999.99'

有關圖片選項代碼的詳細內容,請參閱稍後的“Format 和InputMask 屬性”。

:B = eLowerBound, eUpperBound [:F]

指定一對邊界,欄位數據必須處於邊界範圍內。邊界表達式 eLowerBound 和eUpperBound 必須與欄位的數據類型匹配,並且不能是用戶自定義函式。如果數據不處在 eLowerBound 和 eUpperBound 之間,則出現一條系統錯誤信息,指出數據允許的範圍。

默認情況下,僅在修改欄位內容時對輸入的數據作邊界值檢查。要想強制執行邊界值檢查,需包含強制有效性選項 (:F)。

下例確保 in_stock 欄位值處於 1 和 100 之間。按 ESC 鍵可關閉瀏覽視窗。

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products && Open products table
BROWSE FIELDS in_stock :B = 1, 100 :F

:H = cHeadingText

用 cHeadingText 指定的自定義標頭替換默認欄位名。默認情況下,在瀏覽視窗中用欄位名作列標頭。

下例為所顯示的欄位提供自定義列標頭。

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products && Open products table
BROWSE FIELDS prod_name :H = 'Product Name:', ;
unit_price :H = 'Price per Unit:'

:W = lExpression2

根據邏輯表達式 lExpression2 的值,用戶可以禁止游標移向某一欄位。如果lExpression2 值為“假” (.F.),則禁止游標移向該欄位。如果 lExpression2 值為“真” (.T.),游標可移向該欄位。LExpression2 支持用戶自定義函式。

如果禁止游標移向所有欄位,則當前記錄標記為唯讀記錄。只有在每一欄位均包含一個值為“假”的 WHEN 子句時,這種情況才出現。

SET SKIP 支持 允許用戶在兩表之間建立一對多關係。對於父表中的每一條記錄,均可在子表中有多個相關記錄。如果創建一對多關係,那么使用 BROWSE 命令可以查看父表和子表中的記錄。

一旦顯示父記錄,子表的第一條匹配記錄接著顯示。隨後的任何匹配記錄均在父記錄和第一條匹配記錄之後顯示。

如果記錄指針位於一個父記錄上,可以在瀏覽視窗中,按 CTRL+DOWN ARROW 可以將記錄指針移動到後一個父記錄,按 CTRL+UP ARROW 可以將記錄指針移動到前一個父記錄。有關一對多關係,請參閱稍後的 SET SKIP命令。

FIELDS 子句的欄位列表包含父表和子表的記錄。欄位名前應加上表別名(orders 或customer)和句點分隔設定。

CLEAR
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer ORDER cust_id IN 0 && Parent table
USE orders ORDER cust_id IN 0 && Child table
SELECT customer && Back to parent work area
SET RELATION TO cust_id INTO orders && Establish relationship
SET SKIP TO orders && One-to-many relationship
WAIT WINDOW 'Scroll to see shipping dates for each customer' NOWAIT
BROWSE FIELDS customer.cust_id :H="Customer Number", ;
customer.city :H="Customer City", orders.shipped_on

有用的函式 幾個 Visual FoxPro 函式返回有關瀏覽視窗的有用信息。

函式 說明
VARREAD( ) 返回活動瀏覽視窗中游標所在的欄位名。
RECNO( ) 返回活動瀏覽視窗中選定的記錄號。

相關詞條

相關搜尋

熱門詞條

聯絡我們