みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつも参考にさせていただいてます。Mac OS X、Pro 17 環境です。
初歩的だと思うのですが、スクリプトで、検索に失敗したデータ(新規データ)を新規レコードとして記録したいのですが、うまく行きません。
### 作製スクリプト
#検索条件
If [ Get ( スクリプト引数 ) = "検索条件" ]
新規レコード/検索条件
検索モードに切り替え [ ] [ 一時停止 ]
End If
#検索実行
If [ Get ( スクリプト引数 ) = "検索開始" ]
エラー処理 [ オン ]
変数を設定 [ $種; 値:製品マスター::種 ] 変数を設定 [ $分類; 値:製品マスター::分類 ] 変数を設定 [ $製品; 値:製品マスター::製品 ]
検索実行 [ 指定された検索条件: レコードの検索; 条件: 製品マスター::種: 「$種」 AND 製品マスター::分類: 「$分類」 AND 製品マスター::製品: 「$製品」 ][ 記憶する ]
If [ Get ( 最終エラー ) = 101 ]
フィールド設定 [ 製品マスター::種; $種 ] フィールド設定 [ 製品マスター::分類; $分類 ] フィールド設定 [ 製品マスター::製品; $製品 ] フィールド設定 [ 製品マスター::作製時間 ]
End If
エラー処理 [ オフ ]
全レコードを表示
全スクリプト終了
End If
よろしくお願いします。
ボタンを押す
検索条件を入れる
別のボタンを押す
検索結果、なければ新規レコードに検索に使った条件を入れて1レコード表示
ということを、1つのスクリプトでしたいのですか?
1つにする意味がなさそうですが...
スクリプトの添削を
> If [ Get ( スクリプト引数 ) = "検索条件" ]
> 新規レコード/検索条件
> 検索モードに切り替え [ ] [ 一時停止 ]
これでは新規レコードを作ってから検索モードにしていますから、
空レコードができてしまいますよ。
検索レコードが無かったときの処理の最初に入れるべきでしょう。
Offline
グローバルフィールドで、g_種 、g_分類 、g_製品 を作り、自己リレーションを張ります。これに条件を設定して、関連レコードがあれば移動、無ければ、リレーションを使ってレコードを作り、移動します。
Offline
検索条件に記号を使わないとか部分一致で検索しないなら、リレーションの方法はすっきりしてていいですね。
直前のレコードから挿入、が使えるかと思ったけど検索条件はレコードとして認識しないのでだめでした。
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 508 KiB (Peak: 514.66 KiB) ]