4D v14.3SET EXTERNAL DATA PATH |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
SET EXTERNAL DATA PATH
|
SET EXTERNAL DATA PATH ( aField ; path ) | ||||||||
引数 | 型 | 説明 | ||||||
aField | テキスト, BLOB, ピクチャー |
![]() |
ストレージの場所を設定するフィールド | |||||
path | テキスト, 倍長整数 |
![]() |
外部ストレージのパス名およびファイル名、または 0 = ストラクチャー定義を使用する 1 = デフォルトフォルダーを使用する |
|||||
SET EXTERNAL DATA PATHコマンドはaField引数に渡したフィールドの、カレントレコードの、外部ストレージの場所を設定あるいは変更します。
4Dではテキスト、BLOB、およびピクチャー型のフィールドデータをデータファイルの外部に格納することができます。この機能に関する詳細な説明はDesign Referenceマニュアルを参照してください。
このコマンドで指定される設定は、カレントレコードがディスクに保存されるときにのみ適用されます。アプリケーションストラクチャーに設定されたパラメー ターは変更されません。カレントレコードがキャンセルされると、コマンドはなにも行いません。一度コマンドが実行されると、4Dは自動でレコードフィール ドとディスク上のファイルとのリンクを保守します。パスを変更したい場合を除き、再度コマンドを実行する必要はありません。
pathにはカスタムパス名または自動的な場所を指定する定数いずれかを渡すことができます:
定数 | 型 | 値 | コメント |
Use default folder | 倍長整数 | 1 | 引数として渡されたフィールドのデータはdatabaseName.ExternalDataという名前のデフォルトフォルダーに保存されます。このフォルダーはデータファイルと同歳層に作成されます。このモードでは、外部データを、それがデータファイル内にあるときと同様に、4Dが管理します。 |
Use structure definition | 倍長整数 | 0 | 4Dはストラクチャーに設定されたフィールドデータの格納設定を使用します。外部ストレージから内部ストレージに変更しても、外部ファイルは削除されません。 |
注: SET EXTERNAL DATA PATHコマンドは4Dローカルモードまたは4D Serverでのみ実行できます。リモートモードの4Dではなにも行いません。
ピクチャーデータが特定のサイズ以上の場合、データをデータファイルの外部に保存します。フォームの保存ボタンに以下のように記述します:
If(Picture size([Photos]InputField)>1300000)
// 大きなピクチャーを外部ファイルに保存する
SET EXTERNAL DATA PATH([Photos]InputField;"C:\\Storage\\LargePicts\\"+String(Record number)+".jpg")
Else
// 小さなサイズのデータはストラクチャー定義通りに保存する
SET EXTERNAL DATA PATH([Photos]InputField;Use structure definition)
End if
ピクチャーフィールドの中身を、データベースのデータファイル外に相対パスを使って保存したい場合を考えます:
CREATE RECORD([Photos])
[Photos]Thumbnail:=$small_pict
SET EXTERNAL DATA PATH([Photos]Thumbnail;"../custom"+Folder separator+$pictname)
//データファイル横の"/custom/"フォルダに保存
SAVE RECORD([Photos])
プロダクト: 4D
テーマ: ストラクチャアクセス
番号:
1134
初出: 4D v13
Get external data path
RELOAD EXTERNAL DATA
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v13.5)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)