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

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

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

You are not logged in.

Announcement

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


#1 Re: 初心者のFileMaker pro Q&A » 値の自動入力 » 2021-02-19 12:05:29

シリアル番号って死ぬ番号ありませんか。
レコード消したりとかすると番号飛んじゃったり。

#2 Re: 初心者のFileMaker pro Q&A » 値の自動入力 » 2021-02-19 11:34:15

例えば...

"M" & 
Right ( "0000" & ExecuteSQL ( 
"
SELECT MAX ( \"ID\"  ) 
FROM \"テーブル名\"
" ;
 "" ;
 ""  ;
 "" 
) + 1 ;
 4 )

こんな感じですかね。
重複はしないはずです。

#3 Re: 初心者のFileMaker pro Q&A » 【情報】別PCのFileMakerのスクリプトを実行。のサンプルファイルが欲しいです。 » 2021-02-06 15:08:05

keep123 wrote:

Chikutaku さん 返信有り難うございます。
printassist でのペーパーカットは確認済です。printassistを使用した場合の問題としては,
印刷出力の「標準」「高解像度」の変更に対応していないようで小さな文字が潰れるようです。

普通にFileMaker:PCからのQL-720NWへの出力ではオートカット,印刷品質なども設定できるので,
「別PCのFileMakerのスクリプトを実行。」でios端末から印刷できると助かるのですが‥
ありがとうございました。

終わってたら申し訳ございません。
この手のもので、私も一度煮詰まったことがあり、
標準でやった場合、文字が崩れました。
ただし、
quality
印刷品質を数値で指定をします。下記のパラメーターが指定可能です。
指定がない場合は、2:標準になります。
• 1:はやい
• 2:標準
• 3:きれい

を3に設定し、実行すれば、文字崩れが解消されたので、
printassistをお使いでしたら、一度ご確認ください。

#4 Re: 初心者のFileMaker pro Q&A » 【情報】別PCのFileMakerのスクリプトを実行。のサンプルファイルが欲しいです。 » 2021-02-03 11:35:06

printassistの仕様書が手元にあったので。

papercut
ペーパーカットの指定をします。下記のパラメーターが指定可能です。
指定がない場合は、0:カットしないになります。
• 0:カットしない
• 1:カットする(ESC/POSのみ)
Brother QLシリーズを使用し、ブラザーラスターモード指定時は下記の通りです。
• -1:カットしない
• -2:ジョブの最後にカット
• 1~255 : 指定枚数印字後にカット
• 0または指定無し : 常に一枚印字後にカット(1を指定したのと同じ)

と記載してありました。
少しでも役立てば...

と書いた後に気づきました。
printassistは関係がなかったのですね。
すいません。

#5 Re: 初心者のFileMaker pro Q&A » cURLのオプション設定で Line Notifyを用いて画像送信したい。 » 2020-12-21 14:13:53

興味深かったので、自分も試しました。
上記コードで動作確認が取れました。
LINE Notify API Document
リクエストパラメータを見る限りでは、対応している画像形式は、png, jpegです。とあります。
ファイルの拡張子はあってますか。

#6 Re: 初心者のFileMaker pro Q&A » PDF保存について。 » 2020-12-09 12:39:08

回答かどうかは分かりませんが、
数種類のレイアウトを作り、パターンによってPDFを作るやり方で前に切り抜けた思い出があります。
ヘッダ・ボディ・フッタの3種類で分けボディ内のルールでレイアウトも作成。
loopでPDFを作成、上書きを繰り返して余白を生まないPDFを作成してました。

恐らくこんな無駄なことはないと思うので、回答ではないのでしょうが、自分はこういうやり方しか思い浮かびませんでした。

#7 Re: 初心者のFileMaker pro Q&A » Excelへのエクスポートについて » 2020-11-18 15:03:32

なるほど。恐れ入りました。
こんなことができたのですね。
テキストエンコードは盲点でした。
utf-16部分で一度躓きましたが、上記で対応できました。
誠にありがとうございます。

#8 初心者のFileMaker pro Q&A » Excelへのエクスポートについて » 2020-11-18 10:23:30

Chikutaku
Replies: 2

お世話になっております。
FileMaker19 Windows10
WebサイトへCSVをアップロードし、データを取り込む作業があるのですが、
そのフォーマットが1レコードにつき、2行のCSVになっており、困っております。
内訳としましては、1レコード内に、顧客情報と商品情報が保管されており、
一行目は、顧客情報、2行目に商品情報となっております。
現在Excelのマクロを用いてCSVへしておりますが、FileMaker内に顧客、商品のデータがあるので、
FileMakerからエクスポートしたデータがそのフォーマットになればありがたいのですが、こういうことは可能なのでしょうか。

Excelのマクロを下記に載せておきます。

Sub CSV出力()
    Dim csvFilePath As String
    Dim iCount As Long
    Dim jCount As Long
    Dim kCount As Long
    Dim maxRow As Long
    Dim maxCol As Long
    Dim fileNo As Integer
    Dim FileName As String
    Dim wScriptHost As Object, strInitDir As String
    'カレントディレクトリをデスクトップに変更
    Set wScriptHost = CreateObject("WScript.Shell")
    ChDir wScriptHost.SpecialFolders("Desktop")

    FileName = Application.GetSaveAsFilename("sample.csv", "CSVファイル(*.csv;),*.csv", 2, "保存するファイルの名前を指定してください。")

    ' CSVファイルパスの作成
    csvFilePath = FileName
    ' 最終行
    maxRow = ActiveSheet.Range("A1").End(xlDown).Row
    ' 最終列
    maxCol = ActiveSheet.Range("A1").End(xlToRight).Column
    ' ファイル番号
    fileNo = FreeFile

    ' ファイル開く
    Open csvFilePath For Output As #fileNo

    Dim isSecond As Boolean
    isSecond = False
    Dim isThird As Boolean
    isThird = False
    
    ' 縦方向ループ(最終行まで)
    For iCount = 2 To maxRow
        ' 横方向ループ(最終列-1まで)
        For jCount = 1 To 80
            '基本情報
            If jCount < 32 Then
                ' ファイル出力(改行なし)
                Print #fileNo, Cells(iCount, jCount) & ",";
            '基本情報最後
            ElseIf jCount = 32 Then
                ' ファイル出力(改行付き)
                Print #fileNo, Cells(iCount, jCount)
            ' 商品情報1行目
            ElseIf jCount < 48 Then
                ' ファイル出力(改行なし)
                Print #fileNo, Cells(iCount, jCount) & ",";
            ' 商品情報1行目最後
            ElseIf jCount = 48 Then
                ' ファイル出力(改行付き)
                Print #fileNo, Cells(iCount, jCount)
            ' 商品情報2行目最初
            ElseIf jCount = 49 Then
                If Cells(iCount, jCount) <> "" Then
                    isSecond = True
                    ' ファイル出力(改行なし)
                    Print #fileNo, Cells(iCount, jCount) & ",";
                End If
            ' 商品情報2行目内容
            ElseIf jCount < 64 Then
                If isSecond = True Then
                    ' ファイル出力(改行なし)
                    Print #fileNo, Cells(iCount, jCount) & ",";
                End If
            ' 商品情報2行目最後
            ElseIf jCount = 64 Then
                If isSecond = True Then
                    ' ファイル出力(改行付き)
                    Print #fileNo, Cells(iCount, jCount)
                End If
            ' 商品情報3行目最初
            ElseIf jCount = 65 Then
                If Cells(iCount, jCount) <> "" Then
                    isThird = True
                    ' ファイル出力(改行なし)
                    Print #fileNo, Cells(iCount, jCount) & ",";
                End If
            ' 商品情報3行目内容
            ElseIf jCount < 80 Then
                If isThird = True Then
                    ' ファイル出力(改行なし)
                    Print #fileNo, Cells(iCount, jCount) & ",";
                End If
            ElseIf jCount = 80 Then
                If isThird = True Then
                    ' ファイル出力(改行付き)
                    Print #fileNo, Cells(iCount, jCount)
                End If
            Else
                ' ファイル出力(改行なし)
                Print #fileNo, Cells(iCount, jCount) & ",";
            End If
            ' ループカウンタをコピー
            kCount = jCount
        Next jCount
        'メモ内容がある場合は、メモ行を出力
        If Cells(iCount, kCount + 1) <> "" Then
            Print #fileNo, "3,,01,";
            ' 最終列をファイル出力(改行付き)
            Print #fileNo, Cells(iCount, kCount + 1) & ","
        End If
        isSecond = False
        isThird = False
    Next iCount

    ' ファイルを閉じる
    Close #fileNo
'
End Sub

#9 Re: 初心者のFileMaker pro Q&A » ftpsサーバーにファイルをアップロードしたい » 2020-11-06 11:13:53

nami wrote:
himadanee wrote:

SSL証明書が必要って、クライアント側の話じゃないんですか?

ありがとうございます。

はい、SSL証明書が必要です、SSL証明書をインストールしないで、できる方法ありますでしょうか?
よろしくお願いします。

FFFTPとかでFTPのフォルダをコピーして
手打ちで応答出来ているかの確認をした方がいいかもしれません。

自分は、SSLのcURLオプションなしでできる事が判明しました。

#11 Re: 初心者のFileMaker pro Q&A » FM17 URlから挿入でftpでPDFファイルをアップロード » 2020-10-16 09:33:41

himadanee wrote:

既に指摘されてますが、$パス名をオブジェクトフィールドに変えた、書式が間違ってませんか?半角コロンが2つ必要ですが。

"--user" & $ユーザー名 & ":" & $パスワード & "-T $パス名" & " -ssl"

スペースとフィールド指定記号が足りません。
"--user " & $ユーザー名 & ":" & $パスワード & " -T @$パス名" & " -ssl"

ユーザ名とパスワードの変数値にエスケープが必要な特殊記号が含まれてませんか?

以前FTPサーバーにつなげた時@$パス名でエラーが返ってきました。

変数を設定[$UserPass;$ユーザー名 & ":" & $パスワード]
変数を設定[$file;オブジェクトフィールド]
変数を設定[$cURL;"-T $file " & "-u " & $UserPass]

一応これで動いています。

#12 Re: 初心者のFileMaker pro Q&A » FM17 URlから挿入でftpでPDFファイルをアップロード » 2020-10-15 18:09:15

少し気になったのは、
$ディレクトリ名   "/html/pdf" ←スラッシュ要りませんか。 "/html/pdf/"


変数を設定[$URL;"ftp://" & $ホスト名 & "/html/pdf/ABC.pdf" ]

#14 Re: 初心者のFileMaker pro Q&A » ヤマトビジネスメンバーズログイン » 2020-09-28 16:02:36

すごいです。
        func_request_Link('LOGIN');
上記追加で出来ました。


誠にありがとうございます。

#15 初心者のFileMaker pro Q&A » ヤマトビジネスメンバーズログイン » 2020-09-28 12:05:00

Chikutaku
Replies: 3

お世話になっております。
Windows10 FM18を使用

https://bmypage.kuronekoyamato.co.jp/bm … JspServlet

上記をウェブビュアーでログインを行いたく試行錯誤しております。

Let ( 
[
 ~id = id ;
 ~pass = pw ;
 ~code = cd ; 
 ~JS = "javascript:
function f(){
document.getElementsByName('CSTMR_CD')[0].value='[ValueCode]';
document.getElementsByName('CSTMR_PSWD')[0].value='[ValuePass]';
document.getElementsByName('LOGIN_USER_ID')[0].value='[ValueId]';
}f()" ;
 ~JS = Substitute ( ~JS ; "[ValueCode]" ; ~code ) ;
 ~JS = Substitute ( ~JS ; "[ValueId]" ; ~id ) ;
 ~JS = Substitute ( ~JS ; "[ValuePass]" ; ~pass )
] ;

~JS

 )

これで入力までは出来るのですが、この後、ログインまでが出来ず困っております。

教えていただけますと幸いです。

#16 Re: 初心者のFileMaker pro Q&A » 試算結果が「テキスト」である計算フィールドででてくる日付の年のみを消して表記したい » 2020-07-16 13:05:45

見え方として、2020がいらないのであれば、インスペクタで除く事ができます。
インスペクタ→データ→データの書式設定→日付
ここまで来れば、後は好きなように表示させることができます。

#17 Re: 初心者のFileMaker pro Q&A » ExecuteSQLの計算式書き方 » 2020-07-14 17:52:07

jose wrote:

テストのため、データビューアタイムスタンプを定数にして、結果を見ると、

ExecuteSQL ( "
  SELECT \"x_レシートID\"
  FROM GOSYNC
  WHERE \"s_シンク内容\" = ? AND \"y_シンク作成日\" >  TIMESTAMP '2020-07-08 13:54:00'
  " ;
  "" ;
  "" ;
  "new"
  )
評価あり

ExecuteSQL ( "
  SELECT \"x_レシートID\"
  FROM GOSYNC
  WHERE \"s_シンク内容\" = ? AND \"y_シンク作成日\" > ?
  " ;
  "" ;
  "" ;
  "new" ;
  TIMESTAMP '2020-07-08 13:54:00'
  )
<テーブルが見つかりません>

このようになるのはどうしてでしょうか?また、ORDER BYを取り入れたい(タイムスタンプの降順)どの場所に記入すると良いのでしょうか?

ExecuteSQL ( "
  SELECT \"x_レシートID\"
  FROM GOSYNC
  WHERE \"s_シンク内容\" = ? AND \"y_シンク作成日\" > ?
  " ;
  "" ;
  "" ;
  "new" ;
  TIMESTAMP '2020-07-08 13:54:00'  ←時間だけで大丈夫です。
  )
ExecuteSQL ( "
  SELECT \"x_レシートID\"
  FROM GOSYNC
  WHERE \"s_シンク内容\" = ? AND \"y_シンク作成日\" > ?
  " ;
  "" ;
  "" ;
  "new" ;
  "2020-07-08 13:54:00"
  )

ORDER BY って自身では使った事ないんですけど、
ExecuteSQL ( "
  SELECT \"x_レシートID\"
  FROM GOSYNC
  WHERE \"s_シンク内容\" = ? AND \"y_シンク作成日\" > ?
ORDER BY \"y_シンク作成日\"
  " ;
  "" ;
  "" ;
  "new" ;
  "2020-07-08 13:54:00"
  )
これでいいと思います。

#18 Re: 初心者のFileMaker pro Q&A » ヘッダ付きcsv書出しで「""」で囲まないデータを書き出す方法 » 2020-07-14 17:44:39

決して褒められたやり方ではないですが、
エクスポートする際、xlsxの拡張子で、名前にcsvを付けて吐き出し、最初開く際にエラーが出るが、
無視して開き、名前を付けて保存をするときに、拡張子をcsvにして保存。
こんなやり方で一時的に逃げてます。

#19 Re: 初心者のFileMaker pro Q&A » ExecuteSQLの計算式書き方 » 2020-07-14 16:49:07

具体的に載っているやつですか...
パッと出てこないんですけど。ExecuteSQLで出てきたものは、大体同じような事かいてあるので。。
ステップ3に関しては、内容フィールドと、タイムスタンプフィールドは違うフィールドなので、ANDとかORを付け加えないといけないです。
同条件で表示させたい場合は、

ExecuteSQL ( "
SELECT \"レコードID\"
FROM \"TableB\"
WHERE \"内容\" = ?
AND \"タイムスタンプ\" >= ?
" ;
"" ;
""  ;
"new" ;
$$TS
)

https://fm-aid.com/bbs2/viewtopic.php?id=5428

#20 Re: 初心者のFileMaker pro Q&A » ExecuteSQLの計算式書き方 » 2020-07-14 16:21:09

jose wrote:

>Chikutakuさん

こういうことでしょうか?
何れにしても、データビューアでこのような結果が帰ってきます。
ExecuteSQL ( "SELECT \"レコードID\" FROM TableB WHERE \"内容\" = ?new" ; "" ; "" )
結果:There is an error in the syntax of the query.

ExecuteSQL ( "SELECT \"x_レシートID\" FROM GOSYNC WHERE \"内容\" = "new"" ; "" ; "" )
結果:<テーブルが見つかりません>

ExecuteSQL (
"SELECT  \"レコードID\"
FROM \"TableB\"
WHERE \"内容\"= ?  ";
"" ;
"" ;
"new"
)
?の方が覚えるには後々いいと思うので、こういった形で覚えた方がいいかもしれません。
?の後には何も入れずに最後に持ってきます。
言葉足らずで申し訳ございません。

ExecuteSQL (
"SELECT  \"x_レシートID\"
FROM \"GOSYNC\"
WHERE \"内容\"= ?  ";
"" ;
"" ;
"new"
)

ちなみにシングルクォーテーションの場合は、
イコールのあとに直打ちします。
これだと汎用的にならないので、少々面倒です。
ExecuteSQL (
"SELECT  \"レコードID\"
FROM \"TableB\"
WHERE \"内容\"= 'new' ";
"" ;
""
)

#21 Re: 初心者のFileMaker pro Q&A » ExecuteSQLの計算式書き方 » 2020-07-14 16:11:34

自分の場合は、"New"を調べたい場合、シングルクォーテーションでくくるか、
イコールの後を?にして、最後に条件を入れて表示させてます。

#22 Re: 初心者のFileMaker pro Q&A » フィールドに入っている文字列を判別する » 2020-07-10 16:10:29

Hiro wrote:

FMP16以降はSortValues関数が使えるので、
フィールド6を計算フィールドとして、その式にSortValues関数を適用するのが吉です。
(※なお、式は、「空欄行識別」と「末尾改行除去」に対応しています。)

Let([
   #lst=List(フィールド1&Char(1);フィールド2&Char(1);フィールド3&Char(1);フィールド4&Char(1);フィールド5&Char(1));     //「空欄行識別」処理
   #lst=Substitute(#lst;[Char(1);Char(0)]);
   #lst=SortValues(#lst;1)
];
   Substitute(#lst&Char(1);[Char(13)&Char(1);Char(0)];[Char(1);Char(0)])      //「末尾改行除去」処理
)

なるほど。ありがとうございます。
確かにフィールド毎にソートされました。

これを流用して、任意のソートはできますか。
実は、フィールド内でも入れ替えが必要になりまして。
フィールド1におえいうあみたいな文字列が入り、
それをあいうえおに戻す作業も必要になりました。

任意のソートになれば、フィールド・フィールド内問わず、入れ替えができるのかなと思った次第です。
申し訳ございませんが教えてください。

#23 初心者のFileMaker pro Q&A » フィールドに入っている文字列を判別する » 2020-07-10 13:39:35

Chikutaku
Replies: 3

いつもお世話になっております。
FileMaker17 Windows10で使用中

フィールド1 おおおおお
フィールド2 いいいいい
フィールド3 えええええ
フィールド4 あああああ
フィールド5 ううううう
フィールド6(並び替え後のフィールド)

みたいなレコードがあり、
あああああ→いいいいい→ううううう→えええええ→おおおおお
のように並び替えをし、フィールド6へ並び替えた文字を入力したいです。

現在は、
変数設定[ $Value ;
値:"あああああ" & ¶ &
"いいいいい" & ¶ &
"ううううう" & ¶ &
"えええええ" & ¶ &
"おおおおお"
]
みたいなものを作り、GetValueでフィールド毎に合っているか否かをLoop処理で計算。
ただし、機械的に$Valueにはまっている文字列だけではなく、例えば
あいうえおやかきくけこが急に入って来たり等
Loop処理で漏れる文字列もあり、苦戦しています。

何か簡単に入れ替える方法はありませんでしょうか。

#24 Re: 初心者のFileMaker pro Q&A » 一定期間の曜日毎の集計 » 2020-07-08 12:09:57

リレーションとは関係なく計算できます。
ヘルプ
https://fmhelp.filemaker.com/help/18/fm … tesql.html

ExecuteSQL ( 
"SELECT \"フィールド名\"
FROM\"テーブル名\" " & 
"WHERE \"条件\"= ? "; 
 "" ;
 ""  ;
 "第三引数"
)

自分の作ったファイルは動いているので大体こんな感じかと。
CountとかSumもあるので、調べてみてください。
Let関数と組み合わせれば、上記内容も、もう少し楽に計算できると思います。
単純なCountだけなら

ExecuteSQL ( 
"SELECT Count ( \"来店ID[1]\"  ) 
FROM \"来店実績テーブル3\"
" ;
 "" ;
 ""  ;
 "" 
) 

こんな感じですかね。フィールド名とテーブル名は上記の内容からコピペしただけなので、確認してください。
自分も最初できなくて使うことを諦めてました。けどやってみてできてみたら凄く便利でした。

#25 Re: 初心者のFileMaker pro Q&A » 一定期間の曜日毎の集計 » 2020-07-08 10:24:17

自分の場合、カレンダー系のシステムはExecuteSQL で集計出すことが多いです。ExecuteSQLなら別のテーブルで計算できますし、
表示の仕方だけ注意すれば、案外楽にデータ出せます

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.024 seconds, 7 queries executed - Memory usage: 676.05 KiB (Peak: 729.71 KiB) ]