みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FilemakerAPIのリファレンスを見ながら、
APIからレコードをjsonえ受け取るためのコードを書いてみました。
しかしながら、<Response [401]>(認証情報が足りないエラー?)が出てしまいました。
何が間違っているのでしょうか。
[Python]===============================================
import requests
import base64
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
id = '●●●' #FilemakerappへのログインID
pw = '●●●' #FilemakerappへのログインPW
basic_value_encode = base64.b64encode((id + ':' + pw).encode())
basic_value = repr(basic_value_encode)[2:-1] #エンコードしたものから「b''」を取り除く
hostname = '●●●' #FilemakerサーバーのIPアドレス
p = {
'version' : 'vLatest' ,
'database' : '●●●', #Filemakerapp名
'layout' : '●●●' #Filemakerapp内のレイアウト名
}
h = {
'Authorization': 'Basic ' + str(basic_value),
'Content-Type': 'application/json'
}
def requestApi( dbname=p['database'], layout=p['layout']) :
url = r'https://' + hostname + '/fmi/data/vLatest/databases/' + dbname + '/layouts/' + layout + '/records'
#/fmi/data/{version}/databases/{database}/layouts/{layout}/records
data = requests.get( url, params=p, headers=h, verify=False)
print(data)
if __name__ == '__main__':
requestApi()
Filemakerサーバーあります。
FilemakerAPIを利用したほうがよいのですね。
試してみます。
外部→FilemakerDBの参照方法を教えていただけると幸いです。
FilemakerDBの内容を表示するwebアプリを作成したいと思っています。
(このwebアプリはスクラッチで開発する予定です。)
先んずはFilemakerDBへの接続を試してみようと思い、
SQL Mk-2でFilemakerDBに接続し、DBの内容を閲覧でいる状態にしてみよう
としたのですが、うまく接続できません。
また、FilemakerはアプリケーションサーバとDBサーバーが一緒(?)のイメージなのですが、
そのあたりも相まって考え方がごっちゃになってしまいました。
Filemaker→外部DBの接続はできています。
どなたか方法を教えていただけないでしょうか。
関連レコードのフィールドを含んでいたようです。
削除したら直りました!ありがとうございました
Excel出力ボタンを作成しスクリプトを書いているのですが、
出力したExcelファイルはレコードが2行飛ばしで入力されています。
直す方法はありますでしょうか。
ザックリとしたスクリプトは以下の通りです。
---
検索モード
フィールド設定して期間検索
検索実行
デスクトップにExcel出力
---
すみません。Xリレーションとはどのようなリレーションでしょうか?
iPadとPCで連携するAppを作っています。
iPadで入力すると、PC側で見るレイアウト内のポータルもリアルタイムで更新されていく
という仕組みを作るにはどうしたらよいのでしょうか。
具体的には、iPadでとあるテーブルにレコードを新規追加・フィールドに入力して、
同時にPCで閲覧しているレイアウト上の当該ポータルにリアルタイムで内容が更新されていく
形です。
更新ボタンなし・どこか画面をクリックすることなしにリアルタイム更新させたいのですが可能でしょうか?
レイアウトの移動を駆使してスクリプトを作成しています。
関連テーブルではないテーブルを操作したり、変数としてフィールド内容をコピーしてきたりするために、
無理やり、
>レイアウトの移動
>変数を設定
>レイアウトの移動[元のレイアウト]
などのようにしてスクリプトを組むことが多いのですが、
このやりかたは間違っているのでしょうか?
とあるテーブルの中にあるフィールドにおいて、
空欄のレコードがあればひっかけて「未入力です」と
表示する画面を作っているのですが、空欄のレコードが全くない場合は
「この検索条件に一致するレコードはありません」とポップアップが出てとまってしまいます。
このポップアップを出さない方法はありますでしょうか?
文字列から連番だけを抽出したいです
とあるテーブルのフィールドが
20201028_1
20201028_2
20201028_3
...
と日付+連番となっているのですが、連番の部分だけ取り出したいです。
返信ありがとうございました。
やはり処理に時間がかかるため砂時計マークになっていたようです。
自分が組んでいたスクリプトは
>レイアウトを移動[レイアウトA]
>(レイアウト移動を活用して、関連レコード外のデータを検索・変数に格納)
>レイアウトを移動[元のレイアウト]
で、これをonRoadに設定したため、
"レイアウトを移動[元のレイアウト]"を実行時に再度onRoadとして
このスクリプトが呼び出され、再起してしまっていました。
盲点でした。以後気を付けます。
スクリプトを実行したときに
カーソルが[砂時計マーク]escとなるときがあるのですが、
何が原因なのかわかりません。
loopだけでなくレイアウト切り替えや検索実行のときも起こるようです。
砂時計マークが起きるときは、どのようなケースがあるのでしょうか?
ありがとうございます。
なんとかできました
1つのスクリプトで
2つのテーブルのレコードをそれぞれ新規に作成したいときは
どうすればよいでしょうか?
リレーションが
テーブル1ーテーブル2
となっていて
スクリプトを実行すると
テーブル1に1つレコードを新規作成
テーブル2に任意の数レコードを新規作成
となるようにしたいのです。
チェック外してなかったみたいです。
失礼しました。
外したら
SerialIncrement ( "001"; Max ( 自己リレーション::連番 ) )
のみの計算でできました。
ありがとうございました!
参考にさせていただきましたところ、連番フィールドの計算式を
SerialIncrement ( "001"; Max ( 自己リレーション::連番 ) )
としたら、なぜか最初だけ自分で「001」などを入力しないと連番にならなかったため
Case ( not IsValid ( 自己リレーション::連番 ) ; "001" ; SerialIncrement ( "001" ; Max (自己リレーション::連番 ) ) )
としたら完全に最初から自動で001~入力されるようになりました。
ご回答ありがとうございました。
このリンク先のQAで書いてあることについて
計算式がそれぞれ、
計算用フィールド:Year ( 日付 ) * 10000 + Month ( 日付 ) * 100 + Day ( 日付 )
連番フィールド:Case ( not IsValid ( 計算用フィールド ) ; "00" ; SerialIncrement ( "01" ; Max ( 連番フィールド) ) )
ということでよろしいのでしょうか?
日付が変わるごとに連番がリセットされるテーブルを作成したいです。
フィールド1:日付[今日の日付を自動入力]
フィールド2:連番[001~,日付が変わるごとに連番リセット]
これを全て自動入力させるにはどうしたらよいでしょうか?
フィールドの値によってレイアウト上のボタンの数を切り替えたいです。
現在作成しているのは質問に回答するレイアウトで、
質問の問とそれに回答するためのボタンがついています。
1画面に1設問を配置するイメージです。
質問内容とその選択肢は適時変わるため、
これを1つのレイアウト上で動的に実現したいと思っています。
質問内容を1レイアウト上で切り替えるのは実現できましたが、回答ボタンの配置の仕方が分かりません。
選択肢が2つの設問の時は2つのボタン、4つの設問の時は4つのボタンといったように変わるようにしたいです。
おおまかな現在のテーブル構成は以下の通りです。
~~~~~~~~~~~~~~~~~~~
■質問内容テーブル
-質問内容コード
-質問内容
-選択肢コード
■選択肢テーブル
-選択肢コード
-選択肢(現在は改行コードを使用して、「はい\nいいえ」のように格納)
~~~~~~~~~~~~~~~~~~~~
よろしくお願いします。
Pages: 1
[ Generated in 0.009 seconds, 7 queries executed - Memory usage: 611.48 KiB (Peak: 632.64 KiB) ]