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

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

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

You are not logged in.

Announcement

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


#1 2014-01-22 11:20:42

若葉のコロン
Guest

iPad上でPCと異なるエラー

FMP12、Win7 Pro、iPad(4th)

ここ最近、度々お世話になっております。またもや不可解な状況に陥っておりますので解決策等ご教示頂けると幸いです。

iPad受注伝票を入力するシステムを作っています。PC上でテスト版が動いたのでiPadに移動した所、「この検索条件に一致するレコードがありません」というエラーがiPad上だけで表示されており、原因がつかめずにいます。

伝票T、明細T、番号管理Tの3テーブルを使ってます。伝票T、明細Tは伝票番号でリレーションを作成しています。伝票番号を生成した後、番号管理Tのグローバル項目にセットしています。明細レイアウトで新規レコード作成に伝票番号で絞り込みを行うため、伝票番号で検索を実行しているのですが、その部分で発生していると思われます。

レイアウト切替の仕方がそもそも要領を得ていないせいだと思います。
以下エラーが出る際のレイアウト切替時のスクリプト概要です。

スクリプト「伝票番号採番」
レイアウト切替「伝票+明細レイアウト」
新規レコード(伝票番号は伝票T、明細Tとも伝票番号で自動化)
検索モードに切り替え
フィールド設定「明細T.伝票番号=番号管理T.伝票番号」
検索実行
関連レコードへ移動「関連レコードだけを表示;明細T;伝票+明細レイアウト」
レコード/検索条件確定[ダイアログなし]

#2 2014-01-22 11:37:41

tim
Guest

Re: iPad上でPCと異なるエラー

番号管理Tの必要性がわかりません。伝票Tで自動入力されるんですよね。

>番号管理Tのグローバル項目にセットしています
はスクリプトにないですが、どうやってセット?
>フィールド設定「明細T.伝票番号=番号管理T.伝票番号」
は=が;の間違いでしょうけど、検索モードだし設定してるのは明細Tだし

>伝票番号で検索を実行しているのですが
これも意図が不明。新規に作成した伝票なのに、既存レコードに登録されてる番号なんですか?

使ってるステップはiPadで違いが出そうなのはないので、自動化の計算式を書いてもらわないとわからないかな。
エラーの原因は「グローバルにセット」ができてないんでしょうけど

#3 2014-01-22 12:03:08

tim
Guest

Re: iPad上でPCと異なるエラー

あれ?ちょっと勘違い?
>スクリプト「伝票番号採番」
このスクリプトの名前かと思ったけど、「スクリプト実行」のことなんでしょうね。
エラーはそっちの内容が原因であろうという点は変わりません。

>レイアウト切替「伝票+明細レイアウト」
伝票Tのレイアウト(明細ポータル)と思い込んでたけど、明細の(リスト形式用)レイアウトなのかな。

>明細レイアウトで新規レコード作成
普通は、伝票Tのレイアウトから始める作業だから、
関連レコードへ移動[関連レコードのみ]
だけで明細のレイアウトに伝票番号で絞り込んだ状態になります。
その後で「新規レコード」

番号管理Tのグローバルを使うにしても、そこと明細T::伝票番号でリレーションしてあれば、同じ。
検索実行と両方使うのは変。検索でやるなら関連へ移動は不要でしょう。

しかし最初のスクリプト名が「採番」となってるのは、新規伝票番号という意味じゃないのですかね?
その場合検索するまでもなく明細は1件もないはずで
全レコードを対象外にしてから新規レコード
だけでよさそうな。

#4 2014-01-22 14:57:28

若葉のコロン
Guest

Re: iPad上でPCと異なるエラー

timさん、ご確認下さりありがとうございます。
話を色々と端折りすぎて伝わりづらくなってしまいました。申し訳ありません。

伝票レイアウト、明細レイアウト(前部統計:伝票、ボディ:明細)の順で作業します。


>スクリプト「伝票番号採番」
このスクリプトの名前かと思ったけど、「スクリプト実行」のことなんでしょうね。

    スクリプト実行「伝票番号採番」です。
    伝票番号が日付+連番なので日付と連番を別項目で格納しています。
    両者を組合せたグローバル変数$$伝票番号を伝票Tの新規作成前に生成し、
    伝票T、明細Tの伝票番号の自動入力値としています。それぞれのレイアウト
    を開いた際に目的のレコードは作成されています。
   
   
>明細レイアウトで新規レコード作成
普通は、伝票Tのレイアウトから始める作業だから、
関連レコードへ移動[関連レコードのみ]
だけで明細のレイアウトに伝票番号で絞り込んだ状態になります。

    これがその状態にならずに困っています。
    明細レイアウトに行くと伝票レイアウトで作成した分とは違う伝票Tの内容と
    伝票番号で絞りこまれていない明細Tが全て表示されています。
   
    関連レコードへ移動[関連レコードのみ]は明細Tの新規レコード作成の直前に
    実施しても問題ないものでしょうか?

#5 2014-01-22 15:58:36

tim
Guest

Re: iPad上でPCと異なるエラー

新規伝票なら明細がないのは自明だから、検索でもいいでしょう。
(関連レコードへ移動は、どっかのバージョンから移動先レコードがないと移動してくれなくなってしまった。)
リレーションで明細側にレコード作成許可にしておけば、伝票Tのレイアウトで
フィールド設定[明細T::伝票番号;$$伝票番号]
で作成できますから、その後関連レコードへ移動でも。

最初ので言うと、こうなる
スクリプト実行「伝票番号採番」//伝票Tにはレコード作成済みとする
レイアウト切替「伝票+明細レイアウト」
新規レコード(伝票番号は伝票T、明細Tとも伝票番号で自動化)
レコード/検索条件確定[ダイアログなし]//多分不要
検索モードに切り替え
フィールド設定「明細T.伝票番号;$$伝票番号」//リレーションは不明なんで変数で検索
検索実行

#6 2014-01-22 16:37:19

若葉のコロン
Guest

Re: iPad上でPCと異なるエラー

timさん、度々ありがとうございます。
ご指摘の通りの流れで組んでみたところ、PC上では目的の表示になりますが、1つ難点としてレイアウトが切り替わった直後は何もデータが表示されていません。入力項目でない部分(枠外)をクリックする事で該当データが見える状態になります。なぜか「関連レコードへ移動」が含まれていれば起きないようです。今は「新規レコード」の後、検索の前に入れています。残念ながらまだ解決に至っておりません。

あとはこれがiPadでどう動くかを試してみます。

#7 2014-01-22 17:26:56

若葉のコロン
Guest

Re: iPad上でPCと異なるエラー

度々申し訳ありません。
iPad上ではどちらのケースも思うように動きませんでした。明細レイアウトに移動した際、明細Tのフィールドに全て?が表示されています。伝票T内容は何も表示されていません。エラー処理をオフにしたからだと思いますが、最初に出ていたエラーこの検索条件に一致するレコードがありません」も出ていません。

#8 2014-01-22 17:29:42

若葉のコロン
Guest

Re: iPad上でPCと異なるエラー

訂正です。エラー「この検索条件に一致するレコードがありません」は表示されていました。
PCとは違う挙動になっています。

#9 2014-01-23 10:46:13

tim
Guest

Re: iPad上でPCと異なるエラー

若葉のコロン wrote:

1つ難点としてレイアウトが切り替わった直後は何もデータが表示されていません。入力項目でない部分(枠外)をクリックする事で該当データが見える状態になります。なぜか「関連レコードへ移動」が含まれていれば起きないようです。

スクリプト実行「伝票番号採番」//伝票Tにはレコード作成済みとする
の内容が全く書いてないのですが、ウィンドウもファイルも1個であれば、レイアウト切り替えで伝票Tの新規レコードの内容が確定されてるはずなんですけど
多分そうなってないのでしょう。

ファイルはともかく、iPadでは複数ウィンドウを表示できませんから、ウィンドウ1個で動作するように作った方が問題が起こらないと思います。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 543.71 KiB (Peak: 564.25 KiB) ]