Access総合相談所 31
ACCESSに関する質問はこちらへ
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★ 質問内容は具体的に書いてください。
業務上の守秘義務も大事ですが、貴方の所属組織を特定できるほど、特異な業務・システムは滅多にありません。
★ アドバイスを貰ったら、必ず経過・結果の報告をして下さい。
前スレ
Access総合相談所 30
https://mevius.5ch.net/test/read.cgi/bsoft/1617766381/ スレたて乙です。
すっきりしていいですね。過疎板なのでこのくらいでいいかも。自分がスレ文言の魔改造したけど、くどすぎて反省してます。 書き込み無いな
2GB制限ゆえデータベースとして使えない データベースサーバーのフロントエンドとして利用すると容量制限は考えなくても良くなります AccessのレポートをVBAでPDFにしてあれこれしようと
DoCmd.OutputToで出力すると
(外部データ>PDFまたはXPSからPDF出力しても)
外字が使われてるラベルがビットマップとして出力されてしまうのですが
プリンタでの印刷同様フォント埋め込みでPDF出力する方法って、もしかして無い?
職場のAccess2010,2021 自宅の2013でも状況同じでお手上げ状態
https://i.imgur.com/muFVV7K.png MS pdf printerで印刷したらどうなのかな
手元にPC無くて試せないが
どうしてもoutputtoでなければだけど メタで文字も埋め込んでるからコピペしてメモ帳かなにかに貼ってみたら。
はたして意図したものと同じになるか、異なるか。
見本は絵文字だけど
氏名をきちんと表現したいとかいう案件でしょ。
第2水準文字は諦めても、今時は、クレームにつながること、少ないよ。
もっとも複雑な「斎藤さん」とか。 レスありがとう
経緯書いてなくてすまぬ
「インストール時にこの外字も導入してね」ってソフトがあってですね
その帳票をPDF出力するにあたってVBAでの方法調べて
OutoputToを試したら…
沢山の帳票に、先人が作った丸付き数字(20〜99)とか単位記号とかてんこ盛りでして…
>>9
複数枚の出力のとき、毎度保存ダイアログ出るのが…
>>10
画像の通り、明らかに主力されるPDFが違うんですよね
https://i.imgur.com/pHCUG4T.png
>>11
PDFからコピペという意味でしたら、
PDF発行の方は右クリックしても「画像をコピー」って出るくらいで
メモ帳には貼り付けられず、ペイントには謎のドットとして貼り付けられる感じです
フォントの埋込み自体はある(のか?)っぽくて
埋込みがどうこうって問題ではないっぽいっすね
しかし、PDF出力部分を自作とか無理に近いし
大人しく外部ソフト的なの使えってことですかね(´Д`)… それって、大先輩が必死こいて外字を作成した ってことじゃ?
https://saiseich.com/os/windows10/gaijicopy/
こことか読んでキチンと表示も印刷もできるマシンからフォントファイルを複写・移動すれば出来たりせん?
今でも外字エディタってOSに付属してんだっけ?
https://nyanblog2222.com/programming/cmd/3132/ 5chネラー風味の解説者も居た
見当外れな意見だったら読み流して >>13
見当外れなんて滅相もない
私が貼った画像の外字は、Windows標準の外字なのですよ
自分の環境でメモ帳にも書けるし、コピペもできるけど
レポートのラベルに使ってPDF発行すると画像としてPDFに貼り付けられる
もちろん自作の外字を正しく導入して、入力&表示できても同様って感じです
大先輩の外字であることは確かなのですが
こういう事例って結構あるんだろうなぁと諦め気味 画像の外字がどれが正解でどれが誤表示なのかが、こちら側では判り辛い
笑顔・サムアップ・目玉・グラス(?)の上段が違ってて、FD画像・ハンディビデオ・電波感度・ボリュームオフの下段が欲しいのか、その逆なのか
「画像としてPDFに貼り付けられる」の画像って何? 目玉や笑顔に成っちゃうという意味?
事、PDFに出力した時だけ文字化け(←敢えて判り易く表現すると)するだけで、Wordとかペイント内のテキスト入力とかは印刷しても大丈夫なのか
https://www.excel.studio-kazu.jp/tips/0020/ ここを参考にIMEパッドで文字一覧した時のフォント名や文字カテゴリはどうなのか
https://helpx.adobe.com/jp/acrobat/kb/223969.html Acrobat Reader 側の対策は試したのか
「インストール時にこの外字も導入してね」ってソフト ←の作者に問い合わせることはできないのか いろいろやることいっぱい >>15
親身になってくれてありがとう
そしてすべてを上手く伝えられずすまない
外字を正しく出力したいというより、画像で見えにくいかもしれないですが
「外字あり」も含めて低解像度画像になってるのがよくない所なんですよ
今、PDFから画像抽出ツール使ったら.pbmファイルで文字が描かれた画像が出てきたので
表示時の文字化けとかの問題ではなく出力時の処理であり
Windowsに最初からある外字でも再現してるので、どの外字かの問題ではない
と判断できると考えてます
お暇なら試してみて欲しいレベルです
レポートにラベル置いて、外字を含む文字列書いて、PDF発行
外字が1文字あるだけで、ほかの文字もガビガビですよ…
興味深くも憎たらしい仕様ですねホント Win10 Ac2019(Of Pro) (DCじゃない)Reader だが、症状が出ん
自作の外字が無いせいか?と、外字神社とかいうサイトからフォントDLしてインスコしてみても症状出ん
VBAで OutputTo 使ったわけじゃ無いけど、スタンダードにレポートのラベルを外字まみれにして
ツールバーのエクスポートでPDFに、それを開いて印刷 この手順ではまったく問題が発生しない
>12 の画像で、2013で発行したブツのフォントプロパティが CIDFont + F1 に成ってるせいのような「気がする」
「PDF CIDフォント」 でググるとあれこれ問題抱えてる様子 そこが変えられれば解決する「気がする」
外字神社 http://www.gaiji.info/ ここに「ケアマーク」とか「案内図記号」とかのフォントあるけど、それらで代用出来ん?
51~99はフォントの囲い文字の機能でなんとかその場しのぎ・・出来そうに無いな、WordやExcelなら囲い文字機能使えるけど OutputTo のパラメータで encoding をキチッと設定する
OutputTo の出力先を XLS とか HTML とかにして試してみる
OutputTo を辞めて、出力プリンタをPDFプリンターにして印刷してみる などなど スレの話題の一つとして頂いて嬉しいですよ
ただ、一旦『PDF発行での現象は回避できない』と判断して名無しに戻ります
妥協案としてはやはりPDFプリンタでの印刷なんだろうなと思いました
>>17
試そうとしてくれてありがとう!
ただですね、比較対象は『印刷か否か』なんですよ
@.新規作成したレポートに外字を含むラベル(例.「あいう(何かしらの外字)」)を設置
※IMEパッドの文字一覧から、[シフトJIS>外字]の中のもの、Windows標準で入っているものでOK
A-a.@のレポートを「PDFまたはXPSで発行」する
A-b.@のレポートを「印刷」からMicrosoft Print to PDF等でPDFに印刷する
としたときの、A-aとA-bで出力されるPDFが違うってことなんです
A-aはテキスト選択も出来ないし、"あいう"の部分も一緒に低解像度になる
CIDフォントについては調べてませんでした
自分も調べて理解を深めたいと思います
>>18
>encodingを〜
>>19 さんのリンク先及びMSのサイトにもありますが
encodingはテキスト又はHTML出力に対してのパラメーターです
試しにutf-8(65001)やiso-2022-jp(50220)を指定してももちろん変わりませんね
>主力先を〜
XPSの間違いかと思いますが、XPSでもPDFと状況変わらずです
HTMLで出力できても…とは思いましたが出力すると
手元のテキストエディタでは化けますが
文字コード的には正しいデータが出力されますね(再度ラベルにコピペすると入力した外字が貼られる)
>PDFプリンターに〜
やはりAccess単体での解決は難しいというのには同意です
ということで、試したり書き込みしてくれた方々改めてありがとうm(_ _)m
自分もなにか発見があったら、また書き込みたいと思います >>19 のリンク先の表3 OutputFormatに指定する値の acFormatXLS とか acFormatXLSX を言ってる
Access のレポートを Excelに出力して印刷したらどうなるかを意味してた
①も②-aも-bも試してる ギザギザのドットの粗い昔のシリアルプリンタの印字結果のように成るように苦労しても
ギザギザに成らないから困ってる どうしたら解像度を粗くできるかの方に苦心してるようなもの
と、書きながらググり続けてたら
大先輩が苦労して作成した外字が、Windows標準の外字エディターを使って作られたものだと、Bitmap外字に成る とかなんとか
True Type外字との違いがよくわかんないが、Bitmapと聞くと如何にも解像度が粗そうに聞こえる こっちが原因か?
http://kazuya.cool.coocan.jp/Technique/0001.pdf
この司法書士の先生、昔っからPDFには苦労してた様子でかなり以前からPDFの欠陥とか不具合とか指摘してる 参考になるやら
トップレベルドメインまでにして下のディレクトリ削ればトップページに行ける
もしBitmap外字のせいだとしたら、頑張って先輩を見習ってTrue Type外字を作成する役を担うのもひとつの手 Accessにコード書いてると突然上書きモードになったりしない?
insert押しても治らないから一旦保存終了して再読み込みしてるんだが、簡単に挿入に戻す方法はないの? Accessでデータ入力中に、突然上書きモードになってしまい、困った経験ありませんか?
https://www.relief.jp/docs/000135.html これスかね? うっかり[F8]押したから拡張モードとか [ファイル]→[オプション]で、「クライアントの設定」にある「フィールド移動時の動作」を
「フィールドの最後に移動」に変更して一旦ACCESSを閉じて、再度起動して様子を見て下さい。 もありました >>23
初めて知った
Access一度閉じるしかないと思ってた 【私のスキル】VBAが打てる
【やりたいこと】VBAは問題なく動いています。
ですが、環境が変わると速度が3分の1位に落ちます。
Win Xp(2002-sp3)環境, Celeron, 4GBのマシンだと速いのですが、
access 365 Ryzen3400G, 16GBだと遅くなります(Win 10 64bit)。
私が作ったプログラムではないのですが、取引先から頼まれて調べています。
ADODBを使っています(DAOではない)。
ファイル形式はmdbです。accdbに変更したところ、さらにもっと遅くなりました。
対処法は何かございませんでしょうか?思いつくことはなんでもやってみます。
よろしくお願い致します。 https://www.karugamo-cl.jp/index.php?QBlog-20140124-2
これ系の理由が考えられます これで改善したら対策もしやすいのではないでしょうか
実施する場合は自己責任で ご返答ありがとうございます。さっそくtryしてみます。 へえ面白い。マルチコア=
速い、とは限らないんだね。
MSもAccessを今後、どうするつもりだろう。
Excel365の飽和気味のアップデートに比べて
セキュリティ関係の見直ししてるだけだし。
MSクラウドDBの接続ボタンが増えたくらいか。 バージョンアップの都度様々な改良・改善を強いられてきたんだし、それが無いままそこまで古いバージョンを
最新バージョンで動かそうって方が無理があるんだけどね 64bit化への対応とかも、アナウンス通りに手を加えりゃいいだけだけど
クライアントが32bit・64bit混在なんて環境だったら、もっと一工夫必要だったり バージョンアップで使えなくなった
サービス、コントロールの対応に追い立てられて必死の形相に成らざるを得なかったり 酷使されて鍛えられるんだろうね ← 応用範囲狭いけど >>29
帳票ツールとしてはExcelより使える
データベースとしては終わってるけどね モジュールで以下を定義してます
Public Const ComNAME = "hoge"
このstring値を、レポートのテキストボックスで表示したいのですが、
コントロールソースの箇所を=[ComNAME]にしても出ません。
どう表記すればいいでしょうか。 >>32
vba内の変数、定数は
コントロールソースとしては指定できないんじゃない?
やるとすれば、
フォームを開く時イベントに
me!コントロールボックス=const名
と書くとか。 考えてみれば、滅多にconst使わないな。
計算上重要で、変更の見込みがほぼない数値など、というイメージなので。
せっかくのデータベースソフトなので、レポートに表示する程度のデータであれば
テーブルに格納しちゃえば? >>32
コントロールソースに="hoge"
そういう事じゃ無いよな >>33-35
来年1月から会社名が変わるんで、
会社で使ってるすべてのアクセスが使用してる共通モジュールの入ってるaccdeに、
constで現在の会社名を入れておいて、
1月になったらそのaccdeのconstの1か所変えるだけで済むようにーと思ったんですが。
openreportでlabel.captionなら出せるんですが、
100帳票くらいあるんで、出来るだけデザインの画面で終わらせたいんですよ。
他にスマートなやり方あればいいんですが。 たとえ100帳票あろうとも、>>33 の手でコツコツ、、 ん? Accde ? モジュールって書いてるからには誤認だよな
100帳票ぜんぶで社名のテキストボックス名が異なってるならこの際それも一緒に直せばコピペで行ける量も多く成るし
ところで現状はどうなってんの?テキストボックスのコントロールソースに=[〇×△□株式会社]とでも?
テーブルに格納してないだろうことは予想が付くけど、それならついでに >>34 方式で所在地・連絡先・代表・口座
とかまで含めたテーブルいっこ追加して、そこから引っ張るようにしといてもいいし ←全帳票の変更必須だけどw 先々は楽には成る 帳票の、自社名の埋まりかた次第じゃない?
特に正解はないので最短でいいですよ。
プロが作ったERPだと、コンフィグ用のテーブルに自社情報が格納されてます。
ところで法人番号の表記対応は大丈夫? 俺なら会社テーブル作って、そこから名称持って来る様にする
それを各帳票のヘッダーに埋め込み >コントロールソースの箇所を=[ComNAME]にして・・
と書いてるからには全帳票手作業する気はあるのだから、T_会社情報 とかのテーブルひとつ追加して
レポートの社名・企業名のテキストボックスのソースを =DLookup("[社名1]","[T_会社情報]")
これならコピペでバンバン作業が捗る クエリとかも不要 レポートのソースに追加も不要 モジュールいぢる必要も無い constじゃなくてfunctionでやればいいだけでしょ 正規表現サポートを含む、関数の追加・強化
検索・絞り込みや項目置換など、計算式で正規表現を利用できる関数(#正規表現検索、#正規表現置換)を追加しました。
#文字置換に引数を追加し、任意の区切り文字指定が可能になりました。
WebView2サポート
Webビューが使用するブラウザコンポーネントを、最新の「Microsoft Edge WebView2」に対応しました。
※WebView2のご利用にはMicrosoft社が提供するコンポーネントのインストールが必要な場合があります。
インストーラーは こちら からダウンロードできます。
高解像度対応ダイアログ
高解像度モニターの普及に伴い、一部の設定ダイアログの表示サイズ等を調整しました。
テクニカルプレビュー:JSON対応
テクニカルプレビューは開発中の新機能の一端を先進的なユーザーに体験していただくための試用プログラムです。
その第一弾として「JSON対応」を公開しました。ぜひお試しください。
テクニカルプレビューの詳細は こちら。 お、大きく動いたねぇ。
時々、webapiリクエスト投げて、JSON引っ張って
有志が作ったJSONを配列かdictionary型に直す関数を噛ませる
ということをやっているが、少しは工数省略できるかな。 >>42
フォームにブラウザコントロールとして配置出来るの? なんだ桐の話か。期待させるなよ。
なんで、ちょくちょく桐を勧めに来るのかようわからん。 中の人が必死なのか、信者が獲得キャンペーンでもやってるのか
信者はほら、昨今至る所で叩かれてるでしょ?減ると困る事由があるんだよ、きっと
言い得て妙で、信者に成ってしまうと一般常識とか通用しない人に成っちゃうらしいし
すました顔して平気でゴリ押ししてんだろ、たぶん MSはAccessの開発を進める気がないなら止めて良いけど
代わりに上位互換のデスクトップDBとか出してくれないかな それこそ桐の上の新機能にあった
WEBVIEWって、AccessではまだIEが立ち上がるのかね。
滅多に使わないけど、(ファイル)エクスプローラーがわりに配置したことも
あるもんで。 正規化できない大きなテーブル(フィールドが300、レコード10万くらい)があるのですが、このテーブルをフィールド100ごとくらいに三分割してリレーションを設定して運用するのと、分割せずに運用するのとメリット・デメリットを教えてほしいです >>53
255以上、フィールド作れなかったと記憶しているが。
1:1でいいから分割以外に選択肢ないでしょう。
ユニークキー値だけ特定して
分割しましょう。 >>53
正規化はパフォーマンスが上がる
ネットワーク上のDBなら更に効果的 >>54
>>55
正規化できないフィールドでも分割した方が効率的なんですね!
ありがとうございます! 分割しなくても良いんじゃないの
パフォーマンスになんか不満でも? フィールド数がテーブルに出来てるなら、分割の意味が解らないよ、1:1分割は不毛だ サーバーのデータベースをリンクすると最大255フィールド制限は関係ないのかな
EIAJ−EDIの規格がとんでもフィールド数で苦労したけどリンクテーブルに放り込めばよかったのかも >>59
こういう制限がFileMakerに負けるところ AccessでむかつくのがVBE画面でコントロールの名前やCaption変えようとすると日本語がバグるところ
一々1文字づつ変換して変えてるがイライラするので他に方法はないだろうか? >>62
どいうこと?
me!controll1.name="コントロール1"
が上手く行かないってこと?
経験ないなあ。 例えば日本語でCaptionに「ボタン」って入力すると「ャン」とか
「実行」って入力して変換すると「詩ャ」とか VBE IME 誤動作 とかでググると似たような症例がいくつか出てくるが、どれもほぼ解決には至っていない
コードの中で =NOW() とか使ってるとイベントタイマーが起動して入力途中の文字がおかしくなるとか、
IMEを他のものにしたら症状出なくなったとか、UpDateで直ったとか いろいろあるが
原因に関しての正解は見当たらないしExcelでも出てる症状らしいし、可能ならIMEを変えるか症状出なかったころのVerにするか、とか 生まれて初めて作ったプログラムは、
猫の絵をクリックすると「ニャン」とか コマンドボタン1.Caption="実行ボタン"
動かすとボタンの表示が"詩ャャン"
ん~出たことのない不具合ですね すいませんが、ググってもわからなかったもので教えてください。
クエリにて、
名前,グループ,点数
スズキ,A,60
サトウ,A,75
タカギ,A,70
マエダ,B,30
カガワ,B,40
イシダ,B,50
に
名前,グループ,点数,グループ最低
スズキ,A,60,60
サトウ,A,75,60
タカギ,A,70,60
マエダ,B,30,30
カガワ,B,40,30
イシダ,B,50,30
とグループの中での最低点をフィールドとして追加したい場合、どのようにすればよいでしょうか?
グループ最低:DMIN("名前","テーブル名","グループ"="グループ")
ではそうなりませんでした。
よろしくお願いします グループでグループ化して各最小値を出します
このクエリーを名前をつけて保存します
元のテーブルとこのクエリーをグループで連結します >>71
それも考えるたのですが、実際はグループ数が多く、10000通りくらいからの不特定なのです。
説明悪く、すいません。 >>73
グループ数が10000通りでも何の問題もありませんよ >>73
テーブル作成クエリーで最低点テーブル作って
連結したら終わりでそ
それかVBAで最低点インサートするFunctionでも作れば良い >>75
そのfunctionはどんなものでしょうか? >>76
根気は不要です
マウス操作だけで5分で作れます >>77
VBAでSELECT文発行してmin値を取得して返す
まあクエリー作ってmin値取得したテーブル作る方が早いよ vba使わないっしょ。
なんだっけ?集合クエリー?
グループ、点数(最小値)
これでクエリー1本保存
元テーブル置いて、クエリー1置いて
フィールド「グループ」同士を紐で繋げる
下のグリッドに元テーブルの全部、クエリーの最小値を配置。保存。 以上!
標準sqlであえて1本でかくと
select t1.*,q.minscore from
t1 inner join (select グループ,min(点数) as minscore from t1 group by グループ) as q on on t1.グループ=q.グループ
そらで書いてるから間違ってるかもしれんし、Accessでサブクエリ使えなかったかもしれん。 >>80
クエリの方で出来ました!
思い浮かびませんでした。
ありがとうございました。 フィルタの抽出条件で、
Like "AAA*"
のように書くと思いますが、
AAAが#だったときに、#という文字ではなく数字のワイルドカードとして認識されます
文字の#で始まる文字列を抽出するにはどう書けばいいでしょうか? >>82
accessのエスケープシーケンスは[]なんだって。
これでいうと[#]
言語によってエスケープシーケンス変わるの、覚えきれん >>83
ありがとうございます
最初\#とか##とか試したんですけどね、ほんと覚えきれません 基本的な操作方法すら伝えられていないから
やはり掲示板の短文よりマニュアル読め
が結論のようですね ACCESSもVBAも初心者です。
文法とかおかしかったらご容赦願います。
いい感じに脳内補完してください
テーブル1からクエリで抽出したレコードの内、
任意のいくつかに手動でチェックを入れて、
「チェックされているレコードをまとめてテーブル2に書き込むマクロ」
を作りたいのですがどうすればいいでしょうか?
チェックが1つなら何とかなったのですが、複数個になると繰り返すやり方がわかりません。
ちなみに全データが3万くらい、クエリで抽出されるのが10〜50くらい、
テーブル2に1回で書き込むのが1〜30くらいです。
助言よろしくお願いします。 テーブル1にチェック用フィールドを追加すれば簡単だよね
同時作業者が君一人ならそうしろ yesno型(boolean)って
素のテーブルでチェックボックスになるんだっけ?
だったら簡単。vbaもいらない。
チェック1(chk1)とチェック2(chk2)のフィールドの入ったテーブル(tbl1)。
アクションクエリー(追加)
追加するテーブル名tbl2
tbl1のフィールドと、書き込み先tbl2のフィールドが一致するようグリッドを埋めていく。(フィールド名が一緒なら自動割り付けできる)
tbl1のchk1をグリッドに置く。
抽出条件に「true」
tbl1のchk2をグリッドに置く。
抽出条件をさっきの段より一段下のマスに「true」
sqlで書くと
insert into tbl2 (fld1,fld2) select fld1,fld2 from tbl1 where chk1 or chk2
このクエリーを保存して実行するだけ。
フォームにボタン設置して動かすなら、マクロでクエリーの実行とかなんとかを選択。
(選択式マクロ使わないから忘れた) >>87
追加クエリでした方が早いのでは?
条件にチェックのフィールドがTRUEのものにすれば良い 抽出クエリーでFORM作ってチェックボックス入れさせて、チェック有りレコードのみ抽出、テーブル作成クエリーか追加クエリー
難しく考えたらダメだね、シンプル考える このスレ昔大いにもりあがってたけど
みんなpower appsに鞍替えしたの?
power apps で完全に代替えできるもんなの? PowerAppsは、Enterprise向けです powerapps触ったことないけど
普通のwebアプリと考えればデータのエントリーにpostと完了の画面遷移が必要でしょ。
Accessのフォーム閉じ=ダーティ状態なら自動保存
と違ってブラウザ閉じたとたんに作業が消えるというw
今、救済としての定期保存が実装されたwebアプリ増えてるけど
以前は勢いで「閉じる」「戻る」ボタンを押して、泣かされたこと度々。 MSの思惑とは裏腹に世にある膨大なaccess資産をpower appsに移行するのは無理そうだな
ブラウザの閉じる、戻る、画面遷移時にデータの保存確認をする、って普通にできるだろ
power apps は知らんが、できんとおかしい ワイの職場ではで Dataverse とか FileMaker とか使う話が出てきてる
マンドクセ Accessの本質って
データベースじゃなくて
「データベース『も』ついたフォームとレポート生成装置」だったりするからなあ。
大昔、コンソールでSQL叩いて
文字が一杯出力されるのを見せられて、「だから何?」と思った。 個人経営レベルをExcelでやっててAccessのUIがきつすぎてFileMakerにしようか悩んでて(ライセンス高すぎるから)
久々にAccessの情報見たらもはや終了レベルなんだな
power appsとやらは請求書の印刷とかに対応してるんですか? powerappsがACCESSを代替できる感じはしないですね