FileMaker8.5Advancedを使っています。
仮テーブルとマスタテーブルがあり、それぞれ同じフィールド構成です。
フィールドは
プライマリキー(シリアル値)
項目1
項目2
項目3
となっています。
入力者の入力間違いや、空のレコードがマスタテーブルに出来てしまうのを防ぐために、入力者に最初仮テーブルに入力させてその後マスタテーブルにルックアップでコピーしたいと思っています。
仮テーブルのレイアウトに各項目への入力フォームと[登録][キャンセル]というボタンを作成してあります。
ここで、仮テーブルからマスタテーブルへ、スクリプトでデータをコピーする方法が分かりません・・・。
ボタンに定義すべきスクリプト、各テーブル・フィールドに設定しなければならない項目を教えてください。
FMは使い始めてまだ日が浅く、用語も良く分かっていません。
どなたかお分かりになる方がいらっしゃいましたら是非よろしくおねがいいたします。
No.2ベストアンサー
- 回答日時:
自分もあまり使いこなしていないので、自信がないのですが・・・。
まず、仮テーブルですが、フィールドをすべてグローバルにしておきます。こうしないとリレーションを設定しないと<非関連テーブル>と表示されて入力できないはずです。
フィールドのオプションから[データの格納]タブ、「グローバル格納(すべてのレコードに1つの値)を使用する」にチェックを入れておきます。
これで、すべてのレイアウトに共通して使えるフィールドになります。
また、スクリプトでのフィールドからフィールドへのデータのコピーですが、
計算結果を挿入(選択;コピー先フィールド;コピー元フィールド)
・・・です。
でも、コピー先フィールドがレイアウト上にないと機能しません。
表示させたくない場合は、枠を消して小さくするなり、フォントの色を調整するなり、入力不可にする(レイアウトモードで、フィールドを右クリックし、[フィールド/コントロール]→[動作]、「フィールドへの入力を許可する」のチェックをはずす)なり、工夫が必要です。
再度ご回答いただきありがとうございます。
スクリプトがまだよく分からず、どんな時にどれを使えばいいのか迷っていました。
計算結果を挿入はこのように使うのですね!
今回は時間がなくて以下のようにしました。うまく動いているように思います。
仮テーブルのフィールドを全部グローバルにする。
マスタテーブルのフィールドを全部ルックアップ(仮テーブルを見るようにする)。
仮テーブルのレイアウトとマスタテーブルのレイアウト2つを作っておく。マスタテーブルのレイアウトはhiddenにして最終的に見えないようにする。
仮テーブルとマスタテーブルのプライマリキーにリレーションを貼る(マスタテーブルにその他の情報のテーブルとリレーション貼っています)
スクリプトで「登録ボタン」に
レイアウト切り替え[マスタテーブル_hidden]
新規レコード/検索条件
レイアウト切り替え[仮テーブル]
消去[項目1]
消去[項目2]
消去[項目3]
新規レコード/検索条件
スクリプトデバッガで見てみるとずいぶんややこしい動きになっているような気がします。
まだ良い案をお持ちの方がいらっしゃいましたらどんな方法を使うのか知りたいのでしばらく締め切るのを待ちます。
よろしくお願いします。
No.3
- 回答日時:
1,考え方
登録ボタンを押すと新規カードが作成されます。必須項目に入力がなければ
入力のないカードを表示させます。
難点は、現在入力しているデータは登録ボタンを押さなくともデータになりま
す。回避策は、入力画面では、絶えず新規カードだけが検索されているので、
登録を押さないで、他のメニューに移動する時に削除するかカスタムダイアロ
グを出します。
2,必須項目を決めます。例えば項目1と2とします。
必須チェックという計算フィールドを設け
count(項目1:項目2)
この意味は、もし、必須に入力がなければ必須チェックの値は、0もしくは1に
なります。
登録ボタンもしくは新規カードボタンのスクリプトでは、必須チェックが2以下の
場合このカードを表示させます。でなければ、新規カードを出します。
3,仮登録は、大変な作業がいるかと思います。仮登録でも必須を同処理するか
必須を入力しないで登録を押すと無駄なデータができます。重複したデータの
処理をどうするか。ファイルメーカーは、空データができやすいです。一時は、
ゼロデータを検索し削除するスクリプトを実行させました。
全く新しく入力を始める場合は、必須項目を検索させる方法で、空データを
防ぐことはできると思います。
ファイルメーカーは今回初めて使用しているのですが、なんだか無駄なレコードが出来やすいという感想です。
スクリプトや関数などがまだ良く分かっていないので、ここに質問を投稿する前はoolongpaさんが書いてくださった3を考えていたのですが実現するスキルがありませんでした(ーー;
必須項目のチェックですね、count関数を調べてみようと思います。
ご回答ありがとうございました!
No.1
- 回答日時:
当方、FileMaker 9 Advancedですが、
レイアウトモードで
[レイアウト]
→[レイアウト設定]
→[一般]タブ
で、「レコードの変更を自動的に保存する」のチェックをはずす。
これで、レコードを変更した後、確認ダイヤログが出ます。
これではダメですか?
回答ありがとうございます。
今作っているDBを主に使うことになる人はファイルメーカーを操作したことがない為、直感的に「登録した」と分かる必要があるので登録ボタン的なものが欲しいのですが難しいのでしょうか・・・。
カーソルをフォームからはずすとすぐにダイアログが出てきてしまいますよね・・・?押すことの出来るボタンが3つ出てきてしまい、初めて使う人は迷ってしまうと思うので登録ボタンが欲しいのです。
他に何か良い手段をご存知でしたらお手数ですが再度お教えいただけますか?
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(データベース) Notion@リレーション値の取得について 1 2023/06/28 10:27
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Access(アクセス) テキストボックスの値をテーブルに入力したい 2 2022/06/28 12:08
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスで複数行の一括入力す...
-
IT用語について質問です。 以前...
-
Access:リンクテーブルマネー...
-
ACCESSでテーブルのフィールド...
-
アクセスでオートナンバーをリ...
-
通貨型で\\0の時、何も表示しな...
-
accessで重複を防ぎたい
-
フォームのデータシートビュー...
-
アクセス VBAで列の入れ替...
-
Accessでテーブルの値をテキス...
-
Accessで、固定アルファベット+...
-
ACCESSで400以上のフィールドが...
-
【Access】フォームで自動計算...
-
AccessVBA:TransferSpreadShee...
-
固有レコード識別子の選択とは??
-
Excelで空白以外の値がある列の...
-
Excel 2019 のピボットテーブル...
-
APN設定について教えていただけ...
-
accessでのフォームの連携について
-
DBのタイプの指定とサイズにつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでテーブルの値をテキス...
-
Accessのフィールド数が255しか...
-
ACCESSで400以上のフィールドが...
-
ACCESSでの改行コード
-
INSERT INTO ステートメントに...
-
accessのレポートで元になるテ...
-
アクセス エラーを数値「0」に...
-
ExcelのデータをコピーでACCESS...
-
Access 昇順・降順で並び替え...
-
Accessで、固定アルファベット+...
-
accessで重複を防ぎたい
-
アクセス VBAで列の入れ替...
-
SQLServer2005のSQL文での別名...
-
ACCESSで和暦を西暦に・・・
-
ACCESS2000「定義されているフ...
-
主キーはオートナンバー型のID...
-
ACCESSでオートナンバーを任意...
-
ACCESSでテーブルのフィールド...
-
アクセス A列コピー B列貼り...
-
IT用語について質問です。 以前...
おすすめ情報