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

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

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

You are not logged in.

Announcement

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


#1 2022-08-27 22:07:59

masaki
Member

端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

お世話になっております。

Filemaker Pro15 FMサーバ15
windows7,10(端末混在)
社内イントラネットで使用しています。
基幹システムからデータをインポートして、ユーザーが検索したり中身を確認して処理済みチェックをつけたりするような仕組み(処方監査、薬歴管理)を引き続き作成しています。

この度、FMサーバが15から19へバージョンアップすることとなりました。あわせて端末環境もFMPro19、windows10となり、
現在更新作業中です。
社内の基幹システムからODBC経由でデータを取り込んでいるのですが、基幹システムの設定でwin32版のデータソースしかないためFM19でアクセスできず、一度FM15でインポートしたデータをFM19からFMS19にインポート、というスクリプトを組みました。(スクリプト構造は最後に示します)
1端末で一定時間ごとに繰り返し取り込みを行うことはできたのですが、各端末から任意のタイミング(使用者のボタン押下)で動作させる必要があり、こちらについて困っています。
「EVENTを実行」スクリプトの実行先にテキストで、FM15.exeで作業用appを開くように指定したのですが、作業用appをフルパスで指定する必要があり、かつ変数指定ができません。同内容のショートカットファイルを作ってファイル指定してみたところ、プログラムが起動しただけでappは起動しませんでした。
各端末に端末ごとのパスで作成した起動専用appを配置すれば行ける気がしますが、台数が20台を超えており躊躇しています。
なにか良い方法はありませんでしょうか。

ファイル:FM19作業用.fmp12、FM15作業用.fmp12
(1)FM19作業用スクリプト
ファイルを閉じる(FM15作業用)
EVENTを実行:ファイルを開く:テキスト("FM15.exeフルパス" FM15作業用.fm12フルパス)
スクリプトを一時停止(FM15作業用スクリプトが完了し、作業完了フラグが立つまで)
ファイルを開く(FM15作業用)
インポート(FM15作業用→FM19サーバの保管ファイル)
ファイルを閉じる(FM15作業用)
現在のスクリプトを終了

(2)FM15作業用スクリプト(on first window open)
フィールド内容のエクスポート(フィールド指定なし・作業完了フラグファイルを消す)
作業用テーブルのレコードを全削除
インポート(SQLserver経由 基幹システムサーバ→作業用テーブル)
フィールド内容のエクスポート(作業完了フラグファイル作成)
ファイルを閉じる(現在のファイル)

Offline

#2 2022-08-27 23:21:08

himadanee
Guest

Re: 端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

>基幹システムの設定でwin32版のデータソースしかない
ってどういうことでしょうか。
データソースはインポートする端末に設定するんで、64ビットのドライバが提供されてないシステムってことですか?

#3 2022-08-28 00:25:04

Shin
Member

Re: 端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

ライセンスは大丈夫ですか。FM19がバージョンアップならば、その運用を行うためには、ボリュームライセンスかサイトライセンスと別に、FM15用のスタンドアロンのライセンスが台数分必要になるはずです。FM18でしたら、32bit 版がありますので、64bit に対応できるまでそれで運用されてはいかがでしょう。ただ、サポートは終了しているので、注意は必要です。

Last edited by Shin (2022-08-28 07:41:48)

Offline

#4 2022-08-28 08:40:07

masaki
Member

Re: 端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

himadanee様
ありがとうございます。
各端末に標準で入っているのは32ビット版だけです。
64ビット版が使えるのか、できるならその設定方法を、基幹システムの会社に問い合わせ中です。
今回繋がらなくて調べただけなので詳しくないのですが、そもそもデータソースというのは、サーバ(機種は問わない)にあるデータテーブルに端末からアクセスするための道具という認識で良いのでしょうか。そうなら端末の設定でなんとかできるのではと考えているのですが……。

Shin様
ありがとうございます。
大丈夫と考えています。
FM15が永年版でひとそろいありまして、
今回は、バージョン間が空きすぎていてバージョンアップできず、サーバのハードから全部新規購入となりました。
各端末には、FM15(FMS15に接続)とFM19(FMS19に接続)が共存している状態です。
(FMPro15からFMS19、FMPro19からFMS15は認識しないのでappファイルもわけてつくりました)

Offline

#5 2022-08-28 08:52:05

Shin
Member

Re: 端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

FM19の32bit版はないですね。FM18はすでにサポートされていないので、ダウングレードも受け付けてくれないでしょう。ですから、64bitで動かすしかないです。
32bit が必要なのは、ODBCのドライバーの話だけなのでは。基幹側にはには関係のない話のはずです。

Last edited by Shin (2022-08-28 08:53:38)

Offline

#6 2022-08-28 20:58:31

masaki
Member

Re: 端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

Shin様
端末にドライバ入れれば64bitで繋がるようになりそう、とは思うのですが、そういった設定をするにはシステムの会社に問い合わせて方法を聞かないと弊社システム担当部署ではできないとのことで返答まちです。
それまでのつなぎ兼万一できなかったとき用のつもりなのですが、EVENTを実行で細かいことをするのは難しいでしょうか。

Offline

#7 2022-08-29 07:31:32

Shin
Member

Re: 端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

FM19がインストールしてある端末では、64ビット版のドライバーがない限り、どうしようもないのでは。
32ビット版があるFM17かFM18が手に入れば、リアルタイムではないですが、バッチで処理できる端末は作れます。ダメ元でClarisに問い合わせてみては。望みは薄いですが、在庫がもしあれば、提供してくれるかもしれません。

ただ、クエリーに患者情報などを送っているのでしょうか。
その端末は、御社の管理下にあるのですか、それとも、電子カルテなどの端末に同居させてあり、基幹システム管理下にあるのですか。

Last edited by Shin (2022-08-29 08:48:09)

Offline

#8 2022-08-29 09:40:51

masaki
Member

Re: 端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

端末は電子カルテの端末に同居しており、イントラネットの中だけで運用しています。
バージョンダウンの問い合わせ、基幹システム的に無理そうと判明したら検討してみます。ありがとうございました。

ところで、このスレッドでお聞きしたかったのは以下の内容でした。難しいものでしょうか。
各端末の同じ場所(例:デスクトップ)に保存した同名ファイルを、現在起動しているFMP以外のソフトを指定して開きたい。
共通のスクリプト「EVENTを実行」またはほかの手段で実行可能か、それとも端末ごとにスクリプトを変更するしかないか。

Offline

#9 2022-08-29 13:58:55

Shin
Member

Re: 端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

今現在、FM19 が稼働している、ということは、64bit OS になっているのでしょうから、バージョンダウンしても 32bit 版のインストールはできませんね。
以前のスレッドでは、更新用の端末は1台で、ということだったので、ODBC ソケットを動かすのを、FMS からに変更すればいかがでしょう。FMS のサーバーは基幹システムとは独立していると思いますので、ドライバーのインストールは問題ないでしょうし、ODBC の口も1個になるので、管理が簡単になります。
電子カルテの DBMS が何を使っているかわかりません(Oracleが多いようですが)が、そこにも ODBC ドライバーが入っているはずです。バッティングは滅多にはないようです。

> 各端末の同じ場所(例:デスクトップ)に保存した同名ファイルを、現在起動しているFMP以外のソフトを指定して開きたい。
macOS では、何も関係なく平行起動するのですが、Windows では、プロセス名が同じになるのでダメだったような気がします。ですから、一旦FM19を終了させて、FM15で作業させ、もう一度再起動させる、といい流れを昔作った(バージョンは違いますが)覚えがあります。(別の要因だったかもしれません)

> 共通のスクリプト「EVENTを実行」またはほかの手段で実行可能か、それとも端末ごとにスクリプトを変更するしかないか。
それぞれのファイルへのパスが同じなら、共通でいいのですが。相対パスが使えるなら、範囲が広くなります。

Last edited by Shin (2022-08-29 14:09:03)

Offline

#10 2022-08-30 11:01:38

himadanee
Guest

Re: 端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

Win10であれば64ビット版でも「32bit 版のインストールは」可能ですが(Win11は知りません)
バージョン違いのFMを同時に動かして問題がないかどうかは、微妙です。(ネットワークなしなら、やってた記憶があるが、ありだと、共有ホストでなくても共有のポート5003を占有している)

全部のPCで同じ場所にインストールしていれば、他ソフトの実行自体は難しくないです。(FM11の例)
変数を設定 [ $apppath ; "C:\Program Files (x86)\FileMaker\FileMaker Pro 11\FileMaker Pro.exe" ]
Eventを送信「Quote ( $apppath ) & " " & Quote ( ConvertFromFileMakerPath ( Get(デスクトップパス) & "test.fp7" ; WinPath ) )」

#11 2022-08-30 15:08:42

Shin
Member

Re: 端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

Windows10 で、32bit の FM15 から、32bit ODBC ドライバーが動くようですね。これがダメだと思っていました。
himadanee さんの言われているポートの競合が起こって、動かなかったように思います。

Offline

#12 2022-08-31 22:53:55

masaki
Member

Re: 端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

Shin様
そうなんです。FM15でつなげられるのでファイルを開いたり閉じたりしてなんとかなっています。基幹システムからのメインの取り込みは今も1台ですが、各端末の作業でも少しアクセスしたいところがありややこしいことになってしまいました。FM19から直接ODBC接続できたほうがよいので、改めてシステム部門と相談してみます。ご助言ありがとうございました。
himadanee様
同じPC内に、FM15から基幹サーバに繋ぐファイルと、FM19からFMSに繋ぐファイルを置いてデータを受け渡ししています。スクリプト!求めていたものです。ありがとうございます。相対パスも全体を変数にしても効かず、端末ごとにパスを書き換えるしかないものとあきらめておりましたが、そこを変数にするのですね。さっそく明日やってみます。ありがとうございました。

Offline

#13 2022-08-31 23:35:59

Shin
Member

Re: 端末ごとに保存したカスタムappをFMのバージョンを指定して開きたい

> 各端末の作業でも少しアクセスしたいところがあり
今、基幹システムに接続させている端末をFMS にして、通常の取り込みはスケジュールで行わせます。
各端末で、というものは、クエリーを引数にしてサーバーサイドスクリプトで実行させることもできます。Windows server の購入ができるならですが

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 595.22 KiB (Peak: 611.76 KiB) ]