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

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

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

You are not logged in.

Announcement

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


#1 2020-02-01 16:22:26

たき
Member

ExecuteSQLの文字揃えについて

win10
FM17 ad
FMgo

現在キッチンプリンタへFMgoより直接プリントできるように挑戦中です。
伝票の明細テーブルの中に商品名・数量・単価・金額とあり、それをExecuteSQLで1フィールドで入れ込み、それをプリントするのですが、
プリントされたときに
商品      数量   単価    金額
商品AAAAA   1    1000   1000

というようにそれぞれの縦の軸に合わせて数字が入るようにしたいのですが、商品の名前が短かったり、長かったりすると
商品      数量   単価    金額
商品AAAAA   1    1000   1000
商品BB  1    900   900
商品CCC  1    1000   1000

というようにばらばらになってしまいます。これを
商品      数量   単価    金額
商品AAAAA   1    1000   1000
商品BB     1      900     900
商品CCC     1    1000   1000

のようにそろえるにはどのようにすればよいのでしょうか?

Offline

#2 2020-02-01 17:14:13

koko009
Guest

Re: ExecuteSQLの文字揃えについて

フィールドをレイアウトで外観ののタブ設定で位置とか幅は調整できるがたぶん思い通りになり難いので進めたくない。数字もテキストなど3桁区切りもできなしし・・・
むしろ別に作業用テーブルを用意し結果を分解生成でレコード化してから帳票に印刷する方がベストだと思う・・・私にはラベル印刷程度は出来るが帳票印刷する知識が無いが

#3 2020-02-01 17:45:31

koko009
Guest

Re: ExecuteSQLの文字揃えについて

書き忘れた
水平タブ(char(9))で区切られ場合です
ExecuteSQL ( "SELECT ・・  FROM ・・"; Char(9)  ; "")

#4 2020-02-01 17:49:06

たき
Member

Re: ExecuteSQLの文字揃えについて

koko009様

ご連絡有難うございます。試してみます!

Offline

#5 2020-02-01 17:59:17

たき
Member

Re: ExecuteSQLの文字揃えについて

大変申し訳ございません。私の説明が間違っていたのかもしれません。
ExecuteSQLは使っているのですが、商品、数量、単価、金額のそれぞれのフィールドを1つのフィールドへタイプを計算にして
商品名&"        "&数量&"      "&単価&"      "&金額
というようにして入れ込んでそれをExecuteSQLで読み込んでおります。なので1つのフィールドに入れ込むときに何かできるようにすればよいかと考えているところです。
私の説明が間違っていて申し訳ございません。

Offline

#6 2020-02-01 18:48:53

Moz
Member

Re: ExecuteSQLの文字揃えについて

等幅フォントを使っていることが前提となりますが、
桁数を揃える際によく利用されるのは Left関数・Right関数です。

Left ( テキスト & "__________" ; 10 )
Right ( "__________" & テキスト ; 10 )

追記)リンク
Left
Right

それぞれ左から10桁、右から10桁に揃える計算式です。「_」は半角スペースと思って下さい。
※10桁を超えるなら半角スペースを増やし数字も増やします。

ただし、半角が混じると文字カウントが狂うので(標準ではバイト数をカウントできない)
全角に整えるかカスタム関数を利用してバイト数で Left関数・Right関数 互換の関数を利用します。

FileMaker Go での文字揃えが不安要素なので大人しく標準的な明細行印刷レイアウトを作るほうが早いかも知れません。
※プロファイルを作れば iOS に好みの等幅フォントをインストールすることは可能です。

Last edited by Moz (2020-02-01 18:50:11)

Offline

#7 2020-02-01 19:07:08

たき
Member

Re: ExecuteSQLの文字揃えについて

Moz様
ご連絡ありがとうございます。いつも他の質問等でMoz様の回答を見て勉強させていただいております。
折角頂いたアドバイスですが、

FileMaker Go での文字揃えが不安要素なので大人しく標準的な明細行印刷レイアウトを作るほうが早いかも知れません。

ということで素直にそうしてみたいと思います。ただFMgoからのプリントも
https://www.key-planning.co.jp/software … filemaker/
からダウンロードしたファイルをもとに作成しております。
このダウンロードファイルのやり方は横一列のすべてプリントを1つのフィールドで完結しており、
商品名フィールド、数量フィールド、単価フィールド、金額フィールドのようになっておりません。

1フィールドに入れ込んだデータをHTMLに詰め込んでWEBビューアに放り込んで印刷みたいな感じになっており、
現時点での私ではちょっと理解に苦しいところですが、プリントまでは何とかうまくいきました。

商品名フィールド、数量フィールド、単価フィールド、金額フィールドを横に配置でれば一番わかりやすいのですが、
どのようにするのかアドバイスいただけないでしょうか?あとフォントサイズもどうやっても変更できなく、
2つ質問して申し訳ないのですが、教えていただけないでしょうか?

Offline

#8 2020-02-01 19:21:48

himaganee
Guest

Re: ExecuteSQLの文字揃えについて

そのリンク先は、EPOSプリンタの制御方法だから、Filemakerの「印刷」機能は使ってませんし、使えないのでは?
プリンタがFMから印刷可能な機種なら、普通にレイアウトを印刷すれば済むでしょうけど。

#9 2020-02-01 21:05:02

Moz
Member

Re: ExecuteSQLの文字揃えについて

重要な情報は先に書いて頂かないと......

himaganeeさんが書かれているとおりですね。
FileMakerの印刷機能を利用していないのでレイアウトで解決するのはボツ案です。

リンク先にあるサンプルファイルに #6 で例示した考え方のロジックも含まれていますね。
バイト数カウントのカスタム関数も入っているようですしまずはサンプルの応用から入ったらどうでしょう。

Offline

#10 2020-02-02 08:40:20

たき
Member

Re: ExecuteSQLの文字揃えについて

himaganee様 MOZ様

おはようございます。ご回答ありがとうございます。もう少しサンプルファイルをもとに取り組んでみたいと思います。ありがとうございます。

Offline

#11 2020-02-02 11:47:14

Shin
Member

Re: ExecuteSQLの文字揃えについて

Epson のレシートプリンタで、EPSON Advanced Printer Driver に対応機種でしたら、そちらの方が手っ取り早いですよ。
機種名は。

Offline

#12 2020-02-02 17:55:48

たき
Member

Re: ExecuteSQLの文字揃えについて

shin様

いつもお世話になります。エプソンのtm-m30です。

Offline

#13 2020-02-03 17:50:44

koko009
Guest

Re: ExecuteSQLの文字揃えについて

レシートプリンタへの印刷は全く分からないがエプソンの機種なら
shinさんが
https://fm-aid.com/bbs2/viewtopic.php?id=8508
で紹介していた
https://partner.epson.jp/support/small_ … /print.htm
によれば
アプリケーションが作成したXML形式またはPDFの印刷データをURLスキームで受け取り、ESC/POS®コマンドに変換してレシートプリンターへ送信します
とあるのでPDFデータにすれば良いのではないのかな・・・PDFならフィールドのレイアウトだけで済む
素人考えで

#14 2020-02-03 17:58:31

koko009
Guest

Re: ExecuteSQLの文字揃えについて

やはり駄目ですね
この支援ソフトは
対応機種が限られていますね。

#15 2020-02-03 18:11:05

Shin
Member

Re: ExecuteSQLの文字揃えについて

TM-m30 でしたら、EPSON Advanced Printer Driver が使えます。
一般的なWindows用ドライバーに用紙カットやキャッシュドロアーの制御を追加し、POS用途特有の制御を可能にしたドライバーです。
とありますので、普通のメニューコマンドで印刷できるようですよ。
iOSから印刷するデータを別テーブルに組込み、それをWIndows 機で定期的に読み出して印刷、という方法が取れると思います。(バーチャルリストのような仕組みにしておけば簡単かも)

本来は、Epson TM Print Assistant へ URL スキームで XML データを送り込み、プリンタへ送信するのでしょうが、そんなに難しくはないですよ。

Last edited by Shin (2020-02-03 18:20:04)

Offline

#16 2020-02-04 08:31:50

Moz
Member

Re: ExecuteSQLの文字揃えについて

お持ちの機種ですと iWare さんの PrintAssist も利用できますネ。
iOS から直接印刷できますし FileMaker のレイアウトでOKです。

https://www.iwares.co.jp/product/printassist/

Offline

#17 2020-02-04 13:18:26

たき
Member

Re: ExecuteSQLの文字揃えについて

Moz様 Shin様 koko009様

いろいろ試していただいてありがとうございます。iwareのプリントアシスト存じております。現在iwareさんのprintassistを利用しておりますが、若干アプリを介してプリントする分遅く感じるところです。

    iOSから印刷するデータを別テーブルに組込み、それをWIndows 機で定期的に読み出して印刷、という方法が取れると思います。(バーチャルリストのような仕組みにしておけば簡単かも)

とアドバイスいただきましたが、例えばwindows機でプリントしていない売上伝票みたいなものを10秒間隔で検索し続けてプリントしたらプリント済みにするようなことでしょうか?

Offline

#18 2020-02-06 06:29:14

たき
Member

Re: ExecuteSQLの文字揃えについて

windows機で何とかプリントができました。ありがとうございます。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.011 seconds, 7 queries executed - Memory usage: 557.98 KiB (Peak: 578.89 KiB) ]