X



Access総合相談所 28
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@そうだ選挙にいこう
垢版 |
2018/08/30(木) 23:16:08.14
ACCESSに関する質問はこちらへ

▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★ OS、ACCESSのバージョンを明記してください。
★ 質問内容は具体的に書いてください。
  ・何がしたいのか
  ・どんな処理を試したか
  ・動作状況など駄目な理由
  テーブル/フォームの構成、クエリ、VBAの内容など差し支えない
 範囲で詳しく書くと、早く回答が得られるかもしれません。
  図解があれば尚良し。
  聞き返さなくても詳細が把握できる質問が望ましいです。
★ 事前にヘルプ・Google等で調べられる範囲は調べてください。
  大概の疑問は検索することで解決します。
★ アドバイスを貰ったら、必ず経過・結果の報告をして下さい。
  ギブアンドテイクで情報を共有しましょう。

▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境  】 Windows**, Access**
【 VBAが使えるか 】 はい・いいえ
【 VBAでの回答  】 可・否
【 検索キーワード 】 Googleやヘルプでの検索キーワード

前スレ
Access総合相談所 27
http://mevius.5ch.net/test/read.cgi/bsoft/1424828244/
0151名無しさん@そうだ選挙にいこう
垢版 |
2018/10/28(日) 02:13:04.91
>>150 クライアントアクセスライセンス。
スレチだけど、windows serverは1ハードウェアサーバーに
1つの役割しかさせないというのが常識だそうで
sqlserver用に1台、認証サーバー(ActiveDirectory)に1台
共有フォルダ用に1台って、なんでユーザーのログイン管理の
ためだけに
10人分で50万円近い金はらわなきゃならんのか、いまだに
納得いかない。
0154名無しさん@そうだ選挙にいこう
垢版 |
2018/10/28(日) 20:51:41.52
1つのサーバーに複数の役割を持たせるのは別にライセンス違反ではないでしょ
それでサポート受けられなくなるとかあるの?
0156名無しさん@そうだ選挙にいこう
垢版 |
2018/10/29(月) 20:59:22.93
Accessって、バックエンドのDBをリンクテーブルから直接更新するとおかしくなるよね
DB更新にもウエイトとか入れないとダメなのか?
そんなシステムじゃクラサバで使えないと思うんだが
0157名無しさん@そうだ選挙にいこう
垢版 |
2018/10/29(月) 21:08:36.09
>>156
>>Accessって、バックエンドのDBをリンクテーブルから直接更新するとおかしくなるよね

昔からね
リンクテーブルに更新かけるのは基本的にしない様にしてる
ODBC経由で更新かけると大概タイムアウトくらう
0159名無しさん@そうだ選挙にいこう
垢版 |
2018/10/30(火) 00:42:44.96
>>156 やっぱりおたくも調子悪い?
2人くらいまでの同時更新なら壊れないんだけど
3人くらいになるともうだめ。
壊れにくい方法としては、オートナンバーやめて
インクリメントの覚書きテーブルから払い出させる方法。
最終的にはDBサーバー使う方が確実だったりする。
0160名無しさん@そうだ選挙にいこう
垢版 |
2018/10/30(火) 18:47:05.07
SQL Serverにリンクテーブルでつなげて更新してるけど特におかしくなったりはしないな
それじゃ遅くて仕方ないって場合はADOでT-SQL投げてるけど
0164名無しさん@そうだ選挙にいこう
垢版 |
2018/10/31(水) 12:18:03.79
【 システム環境  】 Windows7, Access2016
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 テーブル、クエリ、違いetc

初学者です。
テーブルは基本的な情報、クエリはwhere句やjoinなどなんらかデータを加工したものという認識ですが
クエリ→デザイン→テーブルの作成の意味が良くわかりません。
テーブルから抽出したデータをクリエと呼ばずテーブルに定義するのはなんかおかしいと感じるのですが
どう考えたらいいのでしょうか?
0167名無しさん@そうだ選挙にいこう
垢版 |
2018/10/31(水) 19:36:24.78
Access使うならテーブルとクエリーの違い分かって無いと何とも
クエリー使いこなすのがAccessのキモだからな
VBAはどうしてもクエリーで対処出来ない場合やマクロで対処出来ない場合のみ使う
何でもかんでもVBAとかで対処したがるVBプログラマーの作ったAccessなんか仕様変更した場合メンテナンス出来ずに死ぬ
0168名無しさん@そうだ選挙にいこう
垢版 |
2018/10/31(水) 20:12:01.68
>>164
その認識で正しいし、ACCESS内でもクエリーはクエリーで
テーブルと呼ぶことはありませんが。
クエリーを擬似テーブルとして、違うクエリーで再利用することはできます。

もしくは「テーブル作成クエリー」のことですか。
あれは、クエリーの結果をテーブルに書き出すもので、
SQLで表現すると「SELECT * INTO ナンチャラ FROM ナンチャラ WHERE ナンチャラ」です。
違うことが聞きたいのであれば、少し表現を変えてみてください。
0169名無しさん@そうだ選挙にいこう
垢版 |
2018/10/31(水) 21:28:14.25
>>168
下段のほうです。アクションクリエのテーブル作成クリエって言うのがいまいち使いどころというか存在意義が良くわからなくて。
でも、>>166さんの書き込みも踏まえて考えると別のデータベースに移すとき実体データを整えるのに使うのかなと思ったり。
よくわかりませんが。
0171名無しさん@そうだ選挙にいこう
垢版 |
2018/10/31(水) 21:33:34.49
>>テーブル作成クエリー
中間テーブル作成
クエリーにクエリーを使うより確実だから中間テーブルを作ったりする
データ抽出結果も確認出来る
0172名無しさん@そうだ選挙にいこう
垢版 |
2018/10/31(水) 22:53:42.30
中間テーブル・・・はじめて聞く言葉ですがなんとなく解ってきました。
ビューみたいなものととらえれば大丈夫ですか?
違ってたらすみません。
0175名無しさん@そうだ選挙にいこう
垢版 |
2018/11/01(木) 14:54:38.60
>>172
ビュー=(普通の)クエリーです。
中間テーブルは、SQLSERVERでいうところの一時テーブル(#TABLE)
です。ただし、ACCESSではライフタイムがないので、そのまま残ります。
一時テーブルの使い道は色々あります。レポートの呼び出しの時に
先に対象レコードを1個だけに絞っておきたいときとか、
前後のクエリーがくどい記述になる時とか、
VPN経由で回線が細い場合にレコード1個分だけ引っ張って
ワークテーブルとして利用するなど。
0176名無しさん@そうだ選挙にいこう
垢版 |
2018/11/01(木) 15:26:25.15
中間テーブルとクエリーをどう活用するか
がAccessのキモ
FileMakerにはAccessのクエリーに相当するモノが無い
SELECT文をスクリプトとして実行するか、テーブルオカレンスを使う
帳票ツールとして見た場合、Accessの方が安くて応用が効く
FileMakerはデータ保持容量の大きさとクエリー、VBAを使いこなせ無い人向けのDB(WebやiOSデバイスとの連携もメリット有るが)
何にせよFileMakerのライセンス料金の高さは中小企業には厳しいレベル
0178名無しさん@そうだ選挙にいこう
垢版 |
2018/11/01(木) 23:56:06.02
中小企業でFileMaker使ってる所は今後厳しいだろうね
ランニングコスト考えたらMariaDBやPostgreSQLとAccessの組み合わせの方に分が有る
OpenOffice BASEも有るし
iOSデバイス使ってないならFileMaker使うアドバンスは無い
0180名無しさん@そうだ選挙にいこう
垢版 |
2018/11/03(土) 15:52:36.68
いろいろレスありがとうございます
ビュー=クリエは目からうろこでした
レスを元にいろいろ調べながら考えてみましたが中間テーブルを作るということはクエリと違ってSQL文を実行する手間が省けるわけでデータが大きくなるのに比例して演算時間の短縮効果が大きくなるのかなと思いました。
0186名無しさん@そうだ選挙にいこう
垢版 |
2018/11/09(金) 18:55:22.48
質問です。
AccessでUnicode文字を扱うにはどうしたらよいのでしょうか?
立方メートルの記号である㎥など、Unicode文字を扱いたいのですが、イミディエイトウインドウでもメッセージボックスでも ? になってしまいます。
イミディエイトウインドウで ?MsgBox(ChrW(&H33A5)) とやっても同様です。
何か方法があるのでしょうか?
0188名無しさん@そうだ選挙にいこう
垢版 |
2018/11/10(土) 10:11:55.84
【 システム環境  】 Windows10, Access2010

お願いします。
データは入ってなくてもテーブルでフィールドを用意するだけでサイズは大きくなってしまうのか、
という疑問を持っています。

たとえば、家族テーブルというのを作るとして、
1レコードに、世帯主、家族1、家族2〜家族6までのフィールド構成にする場合と、
1レコードに、家庭id、家族内番号、名前、というフィールド構成にする場合、
どちらがPCに負担がないのか、ということです。
夫婦だけとか一人暮しの人も多いので、前者の構成だと空白だらけになります。ほとんどのレコードでは
データを入れる機会がないのにフィールドだけ6人分も用意するのはもったいない気もします。
しかし、後者だと、一人1レコードなのでレコード数が多くなるし、家庭idで複数レコードを
引っ張ってきて家族内番号で並び替えたりする処理なんかだと、かえってPCに負担かな、と
思ったりとか。。

一般論ですが、こういうの、どんなもんでしょうか?
0190名無しさん@そうだ選挙にいこう
垢版 |
2018/11/10(土) 11:32:33.62
Docmd.applyfilterで急にエラーが出始めた。
strFilter="Replace([col1],'hoge','fuga')…のところがエラーになるようになった。
昔はreplace関数でエラーになったが、ある日実験していたら、なぜか急に使えるようになったので、そのまま使い続けていたら、急にエラーが出るようになった。
なんで突然挙動が変わるのでしょうかね?
0191名無しさん@そうだ選挙にいこう
垢版 |
2018/11/10(土) 11:50:33.43
>>186
Access と VBA は Unicode に対応していますが
開発環境(VBE)とメッセージボックスは Unicode に対応していません
・Unicode 対応版のメッセージボックス(API)で表示
・メッセージ用のフォームを作成して表示
こういった方法になります
0192名無しさん@そうだ選挙にいこう
垢版 |
2018/11/10(土) 14:44:43.92
>>188
1テーブルもアリです。10くらい作っておけば十分でしょう。
家族の名前を検索することもないでしょうし。
せいぜい法定福利関係のレポートに印刷するのに使うくらいでしょ。
もし、年齢が扶養家族に適合するか、みたいな属性もたせるのであれば分けた方がいいかもしれません。
0193名無しさん@そうだ選挙にいこう
垢版 |
2018/11/10(土) 16:56:18.56
>>188
家族の情報が、1人あたり大量にあったり、フリーテキストでもあるなら各1レコード持つべきだと思います

名前ぐらい、または続柄・生年・性別ぐらいまでの場合
自分だったら1つのフィールドを可変長文字列とし","で区切って入れて利用します。
家族無しならデータ長0のみになる
田中 トメ,田中 花子,田中 乱出威  妻,子,子。 yyyy/mm/dd,yyyy/mm/dd,yyyy/mm/dd, F,F,M など
0194名無しさん@そうだ選挙にいこう
垢版 |
2018/11/10(土) 19:24:46.91
最近はkintoneなどリレーショナルではないSaaSが台頭してきていて、
そのうち在宅ワーク(ないし出張先)可能とするニーズが出てくると思うんですね。
そうなるとAccess使いにはちょっと心地悪いんだけど、なるべく1テーブルに収める設計にシフトすることになるかもしれません。
0197名無しさん@そうだ選挙にいこう
垢版 |
2018/11/11(日) 12:25:37.15
昔自分で作ったけど、もう古いし欠陥も多いツール
もうおススメしない言ってるのに、
周りは慣れてるし実用に耐えるし便利だと言い使い続けて
たまに問い合わせしてくる

とか、クリエイターは嬉しいような困ったような
0200名無しさん@そうだ選挙にいこう
垢版 |
2018/11/12(月) 19:19:35.23
小さいオフィスで自分ひとりでACCESSつかってて
大して作業規模はかわらないけど別の営業所ができた場合(そこでもなんらかの入力をする)
一般的にはどのようにしているのですか?

リアルタイムでデータがいるわけではない場合、
別個にファイルを用意して、都度統合させる感じでしょうか?
0203名無しさん@そうだ選挙にいこう
垢版 |
2018/11/12(月) 22:55:10.97
>>200
テーブル部分をNASに置いてvpnやってみたけど、けっこうきつい。回線品質は悪いときで3Mbps。
しかたないのでDBサーバー立ててadoでチビチビひっぱるリビルドでだいぶよくなったけど、
コードをトータル1000行くらいは書いたんじゃないかな。
必要な工数が格段に増える。
おっしゃるようなやり方は矛盾生じるのであまり良い設計ではないかもしれない。
スマホのアプリ、特に5ちゃんねるブラウザはSQLITEでキャッシュすることが多いので、そういう方法論が参考になるかと。
0205名無しさん@そうだ選挙にいこう
垢版 |
2018/11/12(月) 23:48:39.83
FAXかな

ま、戯言はともかく、ルール作りが肝心
各拠点は何を必要とするか 本部はどの頻度でデータが欲しいか 次第
双方がリアルタイムで生の情報を必要とするなら相当工数も費用も必要となるし
終業時に一回送信すればいい とかなら該当データをメール添付で送受信するだけでいい
その場合はデータのインポート・エクスポート工夫するだけで済む

調子こいて大手の真似してVPN とか、できる。ってだけで実用に耐えない
便利を求めて本末転倒のアリ地獄

そういや出来立ての頃のFAXって、ハガキサイズ送信に5分ぐらい掛かったな
受信はその2〜3倍掛かってたような
0206名無しさん@そうだ選挙にいこう
垢版 |
2018/11/13(火) 00:09:33.98
>>205
基本的には出勤簿とか売上データくらいだから
まあメールのインポートで大丈夫そうですね
双方で同期するようにしなくちゃいけないから大変そうですけどね
どちらもファイルを別ファイルにしてクラウドにおいておいて、一日のはじめのACCESS起動時に相互にインポートするようにしたらいいのかな
0208名無しさん@そうだ選挙にいこう
垢版 |
2018/11/13(火) 14:10:38.23
>>206
それ、簡単そうに見えて結構大変よ。
多拠点のすべてのテーブルの追加 修正 削除の履歴を集め、
どの修正が優先されるのか検討しなきゃならんから。
A拠点がレコードID10を追加しました。
B拠点がレコードID10を追加しました。
A拠点がレコードID3を修正しました。
B拠点がレコードID3を修正しました。
A拠点がマスター系レコード1を削除しました。
B拠点がマスター系レコード1を参照する実績系レコード1を作成しました。
→翌朝に同期

シス管がいない程度の会社であれば、両拠点でヤマハのルータ(2万円の中古でもよい)を買えば、無料でvpnサービスを使えます。
まずは共有フォルダー上にテーブル用ファイルを置き、
単純なリンクテーブルでいけるか試してみては?
0210名無しさん@そうだ選挙にいこう
垢版 |
2018/11/14(水) 10:32:06.77
ちなみに15年くらい前にAccessを使って拠点間のデータ同期をした際は、Web上にアップロードとダウンロードのスクリプト置いてAccessにHTTPを喋らせるというのもやったことあるけど、少ないデータ量なら結構アリでした。
0215名無しさん@そうだ選挙にいこう
垢版 |
2018/11/19(月) 13:38:45.80
他のスレにも書いたけど、嵌まって困ってる人がいるかもしれないので

「Access2010に対する KB4461522 を適用すると、和暦や曜日のコントロールにカーソルを合わせると落ちる」
https://answers.microsoft.com/ja-jp/msoffice/forum/all/access2010%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B/acdb2dc6-969e-43b5-9e3e-3c554f135785

KB4461522をアンインストールすることで解消とのことだったので、やってみたら解消された
0218名無しさん@そうだ選挙にいこう
垢版 |
2018/11/22(木) 17:50:21.84
新元号対応の何らかの施策をこそっと仕込もうとして失敗したかんじ
0219名無しさん@そうだ選挙にいこう
垢版 |
2018/11/30(金) 11:13:59.48
2019どう?
使用感 etc、あまりかわらん?
0222名無しさん@そうだ選挙にいこう
垢版 |
2018/12/01(土) 17:27:46.89
今からPythonといっても・・・
Access自体が終焉なのに
0223名無しさん@そうだ選挙にいこう
垢版 |
2018/12/02(日) 13:25:32.17
回避策は色々あるとはいえ、2GBの壁がある限り基幹業務には使わんわね
基幹サーバから抽出してもらったデータを自分なりに加工するとか、
基幹システムへの入力のためのフロントエンドぐらいか
中小企業の「あったら便利かも」なスタンドアローンシステム作りには良く使ってるけど
0226名無しさん@そうだ選挙にいこう
垢版 |
2018/12/03(月) 23:30:43.02
FileMakerは下記の様に使いたい要望も有る様だが
帳票ツールとしてはFileMakerは融通効かんと思うし

495 名無しさん@そうだ選挙にいこう [sage] 2018/12/01(土) 18:57:58.64 ID:
唐突にすみません
pythonやjavaから接続してRDBのように使えるのでしょうか
検索しても3年前くらいの古い情報ばかりで・・・
ファイルメーカー自体がバージョンアップしてなくて古い情報のままと言うなら大丈夫なのですが
0228名無しさん@そうだ選挙にいこう
垢版 |
2018/12/04(火) 19:01:33.40
データ出力するために帳票出力するためのツール買う必要ないという点では優秀
底辺BIとかも不要になる、かもしれない

ローカルDBとしても使える
0229名無しさん@そうだ選挙にいこう
垢版 |
2018/12/04(火) 22:14:55.60
【 システム環境  】 Windows10, Access2010
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 否

3.3GBくらいのCSVにリンクしようとしたところ
「ファイル 'ファイル名' にデータが含まれていません。または、ファイルのサイズが大きすぎます。」
というメッセージが出ました。
リンクなら2GB超えていても大丈夫ですよね?
CSVをダブルクリックしてExcelで開こうとすると何も出てこない(画面がグレー)ので
そもそもCSVが壊れてるんでしょうか?
0232名無しさん@そうだ選挙にいこう
垢版 |
2018/12/07(金) 10:46:56.43
office365のAccess2016が重いんだけど、office2016のAccess2016だと少しはサクサクになるかな?
あんまりとろくさいのでWindows10にAccess2003をインスコしたら余りのサクサクぶりに感動してしまったわ。
0233名無しさん@そうだ選挙にいこう
垢版 |
2018/12/08(土) 05:19:45.02
Access2003に戻したら、Atl+Tabでのアプリケーションの切り替えでAccessに復帰した際にポップアップフォームがフォーカスを失う現象に遭遇。Access2016だと大丈夫。
http://www.accessforums.net/showthread.php?t=51873を見ると他のバージョンでも同じ症状が出ている。
解決策をご存じの方いらっしゃいますか?とろくさいAccess2016は極力使いたくないので。
0235名無しさん@そうだ選挙にいこう
垢版 |
2018/12/10(月) 10:16:24.92
新しいイベントが追加されたり、不審な挙動がなくなるなど、利点もあるが、大幅なスピード低下とリボンの糞UIによる生産性低下の影響が桁違いに大きくて総合的に大幅なマイナスになるんだよなあ。
フロントエンドのmdbを他のアプリケーションに移植できたら高速になるかな?Access2003は結構サクサクだからjetが遅いとわけではなさそうだし。
0236名無しさん@そうだ選挙にいこう
垢版 |
2018/12/10(月) 18:55:51.77
2016 にしたら遅くなった事ですか?
自分のところでは聞いたことがないですね
Excel ではグラボのドライバによって描画関連に問題が発生する事があります
Access でも同様にハードウェア描画の項目があります
一度、有効/無効を変えてみてはいかがでしょう
0237名無しさん@そうだ選挙にいこう
垢版 |
2018/12/11(火) 10:16:37.35
>>236
試してみました。「ハードウェアグラフィックアクセラレータを無効にする」にチェックを入れてみました。
Application.Echo False
雑多なコードコード…
DoCmd.GoToRecord , , acNext
Application.Echo True
が遅すぎて、キーを連打するスピードに描画が追いつかず、目的のレコードを通り過ぎてしまいます。
2003だとキー連打とレコード移動が同時という感じなので気持ちよく移動出来ます。
0238名無しさん@そうだ選挙にいこう
垢版 |
2018/12/12(水) 18:42:06.01
二つのクエリがあって
各カラムを比較してデータが合致してるかどうか判断し
一つのカラムでも合致してないレコードだけ表示させたいんだけど、どうしたらいい?
0239名無しさん@そうだ選挙にいこう
垢版 |
2018/12/12(水) 21:16:50.36
テキストボックスに入力する都度、リストボックスをリクエリしたい。
テキストボックスの変更時イベントにリクエリを書いたんだけど更新出来ない。
どうすれば良いか教えてください。
0240名無しさん@そうだ選挙にいこう
垢版 |
2018/12/12(水) 23:54:45.28
>>239 更新後イベントに入れてみた?
あれの発生タイミングって、ググれば出てくるけど
かなり難解だから。フォームの「読み込み時」と「開くとき」の
なんで2つがあるんだ、とかレポートの「フォーマット時」と
「印刷時」の違いとか。
0241名無しさん@そうだ選挙にいこう
垢版 |
2018/12/13(木) 05:15:34.65
ありがと。更新時は動くのですが文字を入力すると絞り込まれていくような動作をさせたいので変更時イベントでなんとかしたいのです。
"A"と入力すれば100件くらい該当して、"AE"まで入力すると8件くらいに、"AED"で1件だけ、そんな感じにリストボックスの内容を変えていきたいのです。
もうちょい頑張って色々やってみます。
0243名無しさん@そうだ選挙にいこう
垢版 |
2018/12/13(木) 23:20:55.60
>>241
リアルタイムで反映させるのわかったわ。me!txt1.text
me!txt1.valueじゃなくてtextプロパティなんだって。

出典はいつもお世話になってるT's ware様
https://tsware.jp/study/vol5/event_06.htm
0244名無しさん@そうだ選挙にいこう
垢版 |
2018/12/13(木) 23:58:23.72
>>238
用途をもう少し詳しく。2つのテーブルは原則、ミラーの関係にあり
「完全一致するのが当然である、しかし何らかの矛盾が生じている」
の検証ですか。

だとしたら、
せれくとうんちゃら FROM T1
UNION ALL
せれくと うんちゃら(おなじフィールド順で)FROM T2
をQーUNIONとする。
(セレクトを英語で書くとなぜか投稿できないのでひらがなにした)

次に、クエリーウィザードを使って
QーUNIONを対象とした重複クエリーをまず作り
デザインに戻ると、「カウント」>1
1個より多いものをリストしなさいと命令していることが読み取れる。
これを逆に利用してカウント =1と指定すると、
矛盾データだけが表示される。
0245名無しさん@そうだ選挙にいこう
垢版 |
2018/12/14(金) 00:36:04.72
>>244
ははー
勉強になりました。
ユニオンで重複ですね
0246名無しさん@そうだ選挙にいこう
垢版 |
2018/12/14(金) 00:43:47.13
>>243
ありがと。解決しました。
データ増えたときにレスポンスが心配ですが今のところ理想的な動作をしています。Value じゃなくてText 、色々応用できそうです。
0249名無しさん@そうだ選挙にいこう
垢版 |
2018/12/16(日) 01:20:42.95
>>244
これunion allじゃなくunion のが重複とれるしいいよね
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況