初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2021-04-16 16:33:19

fm_jiko
Member

テーブルからテーブルへのレコードの移動

お世話になります。
windows10にてFM18Proを使用しています。
我流でファイルメーカーを利用していますので初心者の域から抜け出せていないものです。

本日お力を貸していただきたいことはテーブルから別テーブルへの全レコードの移動と元のテーブル内のレコードの削除です。
現在商品の在庫管理でファイルメーカーを使って管理を行っていますが、売約になったものを別のテーブルに移動させようと思っています。完全に削除も考えましたが、キャンセルとなり再度入力することがありますのでその方法をとろうと思っています。

「在庫テーブル」に100を超えるフィールドがあります。この中で売約済となった1レコードのすべてのフィールドを「売約済テーブル」にコピーして後「在庫テーブル」の1レコードをすべて削除したいと考えています。

フィールドがが数個なら一つずつ変数を設定してコピー後に削除しようと思ったのですが何か良い方法がないものかとこちらで質問させて頂きました。あちこちで情報を取得してスクリプトの作成を試みたのですが、なかなかうまくいきませんでした。

皆様の貴重なお時間を頂くことになりますがよろしくお願いいたします。
初心者なもので詳しくお教えいただけると助かります。

Offline

#2 2021-04-16 17:39:00

himadanee
Guest

Re: テーブルからテーブルへのレコードの移動

ターゲットでインポートして、ソースのレコードを削除、ですが
そういうのは「売約済み」を記録するフィールドを作るか、キャンセル履歴もすべて保存するなら別のテーブルに売約とかキャンセルのレコードを追加していくべきなのでは。

#3 2021-04-16 17:43:49

Shin
Member

Re: テーブルからテーブルへのレコードの移動

データベースの考え方として、同列の情報は1テーブルに収納します。ですから、レコードを移動させると2重管理になるため、面倒な管理になる可能性があります。ですから、売約済みというフラグを立てるだけで、同列に扱っておいたほうがいいでしょう。そのレコードが見えるのがいやでしたら、通常はそのレコードへアクセスできないアクセス権を設定したアカウントをお使いになるといいかもしれません。
もっと面倒な可能性は、100フィールド持っているということでしょうね。系統的に別テーブルの管理にするべきフィールドが多くあるのでは。

どうしても、今の構造のままで運用するのでしたら、対象レコードを絞り込んで、保存用のテーブルからインポートし、元テーブルのレコードを削除すればいいです。
ちょっとだけ改良して、今のレコードでユニークなフィールドがあれば、そのフィールドだけをもつテーブルを別に2個作ります。そのそれぞれのテーブルからリレーションを張っておき、片方は在庫、もう一つは販売済みのデータのみにします。それですと、そのフィールドのレコードを1個動かすだけですので、simpleになります。

Offline

#4 2021-04-19 10:38:26

fm_jiko
Member

Re: テーブルからテーブルへのレコードの移動

皆様 有難うございました。
お二方の意見を参考にさえていただき、もう少しデータベースの設計を見直していこうと思います。
データは一つにまとめておいて、売約済のフラグで通常非表示、キャンセルになった場合はこのフラグを外すなどでの対応にしていきたいと思います。
何分素人のためお二方のご指導ありがとうございました。まだまだ分からないことがあると思います。こちらで質問をさせて頂きますので、よろしくお願いいたします。

Offline

#5 2021-04-19 12:11:19

fm_jiko
Member

Re: テーブルからテーブルへのレコードの移動

Shin wrote:

ちょっとだけ改良して、今のレコードでユニークなフィールドがあれば、そのフィールドだけをもつテーブルを別に2個作ります。そのそれぞれのテーブルからリレーションを張っておき、片方は在庫、もう一つは販売済みのデータのみにします。それですと、そのフィールドのレコードを1個動かすだけですので、simpleになります。

お世話になります。
もう一つ教えてください。
ユニークなフィールドは管理番号をそれぞれ振っております。それを在庫と売約のテーブルで管理しようと思います。
この場合は在庫のテーブルにある管理番号からそれぞれにリレーションを張っているデータのみをフォームに表示させようとする場合はどのようにすればよいのでしょうか?
初心者の質問で申し訳ないです。

お時間のある時で結構です、ご指導下さい。

Offline

#6 2021-04-19 13:46:12

Shin
Member

Re: テーブルからテーブルへのレコードの移動

1テーブルの中で、在庫と売約のレコードを必要に応じて抽出して管理する運用方法が原則です。
どうしても別のテーブルで管理する必要があるのでしたら、という提案ですが、その必然性を考えてみてください。
管理番号だけを持つてーぶるから、データのテーブルにリレーションを貼り、レイアウト上に関連フィールドを配置するだけです。

Offline

#7 2021-04-20 08:59:52

fm_jiko
Member

Re: テーブルからテーブルへのレコードの移動

Shin wrote:

1テーブルの中で、在庫と売約のレコードを必要に応じて抽出して管理する運用方法が原則です。

ご指導有難うございます。頂いた意見から今一度考えてみたら、現在のテーブルにこだわっていたため難しくしていたことが分かりました。在庫と売約の2テーブルを中心に考えてこれからもとあったテーブルをリレーションからひぱって来るという方向で行いたいと思います。
柔軟性が必要と考えさせられました。
貴重なご意見有難うございました。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 516.95 KiB (Peak: 521.49 KiB) ]