Access総合相談所 29
■ このスレッドは過去ログ倉庫に格納されています
ACCESSに関する質問はこちらへ ▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━ ★ 質問内容は具体的に書いてください。 業務上の守秘義務も大事ですが、貴方の所属組織を特定できるほど、特異な業務・システムは滅多にありません。 作りたいものの内容を隠しすぎないようにし、列名、データ値を適当に変更して例示するなどしましょう。 ★ 事前にGoogle等で調べられる範囲は調べてください。 ★ 完全初心者はまず、新規作成テンプレから「NorthWind」を開いて、一通り触ってみてください。ACCESSの概念を理解する もっとも簡単な方法です。 ★ お金の管理でシステム設計ミスが会社経営に重大な支障が予見される場合は、パッケージソフトに誘導する場合があります。 格安なソフトもあるので設計に取りかかってから悩む前に、市場調査も行なってください。 ★ アドバイスを貰ったら、必ず経過・結果の報告をして下さい。 ギブアンドテイクで情報を共有しましょう。 ▼━初心者用質問テンプレ ━━━━━━━━━━━━━━━━━ 【Windows】 7, 8,10 【Access】 365,2013,2016,2019 【作りたいものの業務分野】 販売管理,買掛管理,営業予算管理,営業実績管理,生産管理, 財務管理,労務管理,学術研究統計,文字格納を主体としたDB,その他() 【あなたのスキル】 LV1:完全初心者, LV2:ACCESSの基本要素(テーブルやクエリーなど)の役割を知っている LV3:VBAが打てる 【どのオブジェクトに関する質問か】 テーブル,クエリー,フォーム,レポート,サブフォーム(サブレポート),リレーション,VBA 【やりたいこと】 (質問によっては各テーブル名と列名を例示) (クエリーの場合は、左上の「表示」を押し”SQLビュー”に変更して表示される”SQL文”を貼り付けると回答者がわかりやすい) (得たい出力結果や挙動) 【エラーメッセージに関する質問】 ・エラーメッセージの内容 ・windowsは32bit版か64bit版か 前スレ Access総合相談所 28 https://mevius.5ch.net/test/read.cgi/bsoft/1535638568/ >>627 ありがとうございます さっそくやってみます 初心者ですいません Accessで株価データ1銘柄につき1レコードのフィールドに10項目を作り3000銘柄10年分を一つのテーブルに入れた場合 データ件数は前者か後者どちらになるでしょうか? 前者10×3000×365×10件 もしくは横一列を一つとする 後者3000×365×10件 調べるとデータ40万件越えから指数関数的に遅くなると書かれていましたが 例えばexcelでこの40万件数超えから特定の7300レコードを取得して分析とかはサクサク呼び出せるものでしょうか? Accessのテーブルはただの入れ物置き場所という立ち位置のようなので Excel次第のような Excel側でテーブル読みに行ってデータ引っ張るカタチなら Accessで無くとも無料のDBでもいいような Excel 株価 分析 とかでググれば先人が山盛りアプリ提供してるし 投資板で相談した方が答えが早いと思えたり Access2000で申し訳ないのですがわかる方教えてください テーブルを開くと普通はすぐにデータが読み込まれ、右側のスクロールバーのつまみをつまんで一番下まで持っていくと一番下が表示されると思うのですが、 なぜか一番下まで持っていってマウスを離すとつまみが中央まで飛び、それをもう一度下まで持っていって離すと少し上に飛び、3回目で下まで持っていけるというテーブルがあります 何もせずに少し待ってからつまみを動かすと下まで動きます データの量が500件あまりでそれほど多くないのですが、たぶん読み込みに時間がかかってるのだと思いますがどうしてこうなるのでしょうか? すべてのフィールドのインデックスをいいえにしてもだめです 5500件ある別のテーブルはそんなことはなくすぐに下まで動かせます キーボード操作で HomeとかEndとかScrollUp/Downとかでも症状出る? たぶん出ないと思うけど 描画が追い付いていないだけだと思う マシンスペックに依るんじゃない? CPUとメモリーとグラボの相性とか レコード数が10倍違うとかは、フィールドの構造に依るのかも 随分前に経験してるかも知らんけど、違うPCだと出ないとかだったような >>632 ありがとうございます 営業日だとそうなりますね >>633 ありがとうございます Acccessを出し入れスピードの速い入れ物と見ていたので勘違いしていたようでした 結果excelとcsvファイルのままの方がスピードが出ていますがもう少し研究してみます office365のACCESSは容量制限ありですか? sharepoint onlineのリストをリンクしてみた。簡単だった。 慣れてないせいかwebでリストのメンテナンスはモタモタしてしまうので、ACCESSで操作できるのは時短で良かった。 それにしてもaccessのデザインって古臭くないですか? サブフォームなんてwin95時代みたいなデザインですよね? かといって見た目だけのためにファイルメーカーは高すぎるしなあ accessでやろうとしてたが大したデータ量ないのでエクセルで十分なことに気がついてしまった 請求書とかVBAで転記してデータベース的に使ったほうがaccessよりもレイアウトやフォーム(シートをフォームに使うこともできるし)が柔軟だしな エクセルはファイルだらけになるのが難点 アクセスならdbに集約できるからファイルが増えない… と思っていたら日本人はdbファイルごとコピーし始めたでござる 臨機応変 適材適所 万能は無能に等しい 貧乏暇無し雨あられ サブシートの行の高さ? ん? と思ってググったら出てきた >>647 フォームに表示させるサブシートの見た目の高さ変えられないよね >>649 それが問題なんだよ 普通のソフトってこんなんだよ? https://i.imgur.com/jlRZJD7.png ウェブベースでもフリーソフトでも >>642 データシート形式だと仕方ないですね。表形式なら割と自由が効くはず。 まあ全体的に古臭いのは同意だが。 DBはデータ管理するためのものであって見せるためのソフトじゃないから良いじゃん と俺は思う。 見てくれを装飾したいならレポート使えば良いのでは? あ、サブフォームをデータシートビューでなくフォームビューで表示すれば 設計次第で間延びした表示にも出来るよね いちばんの違いは、前時代的とこき下ろされたAccessのフォーム構造は、 基本がキーボード・マウス操作を想定してる。 当時はそれしか無かったから当然っちゃあ当然。 各フィールド移動はTabキーで移動するとかEnterとか。 一方、普通のソフトとすこぶるお褒めのフォーム構造は、タッチ操作のために 冗長化せざるを得ないから、デザインごと再構成されたもの。 前時代の代物をタッチ操作にも対応させようと腐心した人には判るだろうけれど、 マウスカーソルの選択範囲と指先を感知するエリアとは、10倍も隔たりがある。 畢竟、表示範囲は少なくなるが触りやすいだけのフォームをデザインせざるを得ない。 スクロールは指先スイスイさせるだけだから気付かないだろうが、全体を把握する には一画面で大量のデータを表示した方が判り易い。(ものもある)適材適所。 ページめくると「あれ、さっきの何だっけ?」で行きつ戻りつもあるんだけど、 指先スイスイだから苦にならないのかも知らんが、記憶力は低下してく。 只、例題の画面構成にしたいなら、サブシートじゃ無くて他のコントロール使いなよ、とは思う。 >>655 舗かのテーブルリストで表示させるのって何かあったっけ 「普通のソフト」の方は、Webフォームの設計からの進化でしょ? 使用する端末の画面サイズが様々だから、ミリ単位でとか作るのは無理。 例題の三種類も全部見るだけが目的だったりしてる。 かろうじて一枚目が左側のリストに触れると右に詳細が表示されるような 作りなだけなんじゃない? 何をどうしたいか書かないと答えようが無いと思う。 データシートビューが便利すぎるからな! webで入力なんてしてたら死にたくなるな! ACCESSはプロパティの字が小さすぎてよめなーい! って感じがする それに列挙されすぎ 個人的にはレポートデザインで拡大表示できないのがつらい >>663 枠付きのテキストボックス並べて 画面上ではキレイに罫線が繋がっているのに印刷するとズレたり 逆に画面上では微妙にズレているのに印刷するとキレイな直線になったり 拡大機能は欲しいですね モニターとプリンターは解像度が違う (何度も忠告せざるを得ない) 無駄な苦労はとっとと止めて、枠線を透明にして直線を駆使するとか ACCESSスタッフがいつか改善するとは思うけど、待ってる間にやることはある 文句言うだけなら猿でもできる 機械図面の構成管理をするDBをACCESSで作ろうとしている者です。 組立部品には当然子部品がありますが、その子部品も一部は組立部品だったりします。 つまり階層構造になるわけですが、トップから順に子部品をリストアップしていく時に それが単部品ならただ羅列していけば良いのですが、組立部品だった場合は次の子部品を 記述する前に前の子部品の子部品(孫部品)を先に記述しなければなりません。 こういうリストアップのルーチンで親部品から見て子部品が組立部品か単部品かで 処理分けをネストしていく方法が分りません。全体の階層深さはトップ部品により様々で 一定ではないため、VBAでサブルーチンを幾つも設けるのは不合理と考えます。 シンプルに再帰検索させる記述方法はないでしょうか。 その部品を親にしている部品の数ならDCountとかで直に出るよね VBAで回すのが簡単だろう 組み立て部品か否かは、項目でわかるようにしとけば済むことであって 孫部品も子部品も同じ土俵にしとけ 最終的に親製品の部品でしか無いんだから 親製品名で全部リストアップされる その中で組み立て部品だけまとめたいなら、その後いくらでもできるだろ >>668 特定の子部品を使ってる親部品を調べることは当然出来ます。 親部品の構成部品マスタを見に行けば良いだけなので。そういうことではないんです。 >>669 勿論部品の区別は付くようにしてあり、同じ土俵での処理でどうするかの話ですよ。 機械図面というのは図中で部品の見出し番号が決まっていて(所謂風船番号)その見出し番号順に リストも記述しないとならんのです。 だから呼び番順に処理するわけで、対象部品が組立部品か単部品かで処理分けすることに なるんです。組立部品だったら階層を下げてその子部品を記述、その子部品が組立部品だったら 更に階層を下げてその子部品を記述・・・ という風に入れ子構造の処理をしたいんです。 聞いてるのはVBAでのそういうルーチンの書き方で構造論じゃないんです。 親部品名 階層1 階層2 階層3 部品名 A 1 1 1 あ A 2 1 1 2の1 A 2 1 1 2の2 A 3 1 1 い A 3 1 1 う A 4 1 1 4の1 A 4 1 1 4の2 DBなんだから構造が第一 それで決まる >>671 それだと3階層限定になるから、何階層あるか分からないなら > 孫部品も子部品も同じ土俵にしとけ が言われるように全て同じ階層で管理して、親へのリンクを保存する方が良いでしょ 子は複数存在するから親のレコードが選択される場合、参照している子を抽出するってロジックで良いんだと思う 部品名、親部品名 A - B A C B D B これだと Aの子はBで孫はCとDという風に管理できる >>671 説明が足りなかったみたいですみません。 マスタは組立部品、単部品、親子関係の3つだけで階層の情報を持ってるわけではないです。 VBAで階層を構成して表を作るのです。 >>672 そうです。そういうやり方です。ただ知りたいことはAの部品展開をVBAでどうやればいいのかということです。 >>666 Accessあるあるネタに誰でも知っている事を上から言うオーメン >>670 組立部品と単部品での処理分けを持つサブルーチンで処理することになりますね。 仮に部番と部品名だけ記述するとして、サブルーチン内で 1.単部品だったら単純にその部番と部品名を記述する 2.組立部品だったら親の部番と部品名を記述して改行し、子部品マスタを参照、 一つ目の子部品の部番と部品名を記述。その部品が組立部品だったら このサブルーチン自身を呼ぶ(最初のネスト) ネストされたサブルーチン内で再び上記1か2の処理分けがなされ幾らでもネストされます。 サブルーチンのラベルは Sub TENKAI(n) などとしてネストする際に変数nに+1して呼べば いいでしょう。階層表示や階層に応じたインデントが必要でもnを使って出来ますね。 要は処理分けするサブルーチンの中から自身のサブルーチンを呼び出すという やり方がミソです。 >>673 表示するならネストしたサブフォームを作るだけでVBAなんか必要ないんじゃないの? 再帰的にサブフォームが同じサブフォームを呼び出すだけじゃないかな 以前やったような気がするよ 組立部品と単部品すら分ける必要はない 表にするってデータシート形式に表示するではなく、通常のテーブル構造に展開したいってこと? Accessじゃあまりやったことないから実績ないけど、SQLServerならSQL文だけでもかけたような気がする 作った表は何に使うの? 見せるだけなら再帰的なフォームの方がPC画面上で畳めて便利なような気がする リレーション作ってあれば、Accessのテーブル表示でも階層表示したかもしれないね >>667 ,670,673です。昨日は18時で退社したため返信遅くなりました。 >>676 なるほど!サブルーチンからそのサブルーチンを呼べるのですね。知りませんでした目から鱗です! それなら最小限のプロシージャで際限なく処理出来ちゃいますね!早速やってみます。ありがとうございました。 >>677 おお素晴らしい!サンプルまでありがとうございます!カイル懐かしいw 作業テーブル勿論大ありです!展開した表は画面上の表示だけでなくEXCELにもエクスポートしたいので、データソースとしてテーブルに出力しておかないと使い回しが効かないですもんね >>678 サブフォームでも再帰的な表示が出来るのですか? やりたいことは部品構成一覧表を作りたいのでテーブルに出力ですね。それをデータシートビューでもフォームビューでも実用的な形で表示させます。リレーションは組立部品マスタの図番と親子関係マスタの親図番ですね。その他はクエリで自由に組むつもりです。DBはACCESS以外は未経験なのでACCESSでやろうとしてます。 >>679 やりたいことは組立部品と単体部品と親子関係をテーブルに記録しておいて 任意の組立部品の部品構成表(BOM)を出力したいということでしょ? ならこれで出来るんじゃないかな Access2007以降用らしいけど https://www.vector.co.jp/soft/winnt/business/se520414.html >>679 です。 >>680 おや、そんなソフトがあったんですね。 BOMVERとは、そのものズバリかも知れません。良さそうなので試してみます。 ありがとうございます。 ∩,,∩ (;`・ω・) 今夜は得々満ぷく弁当なの 定価のまんま (つ=。;;・。-、 税別398円なの 普通に幕の内なの (´ ヽニニフ ) 言うほど満腹でもないの パンもあるの [i======i] >>238 やっぱり一定量寝れば目が覚めちゃうの >>240 今夜も8時くらいに寝ちゃうかな、起きてられないねん >>255 無職でその自信に満ちた脳天気はどこから来るね?w >>688 いじったりできなくない? 設定画面ではサブフォームのなかで単票みたいに表示されて 戻るといつもの表示になってた気がする >>689 Access素人なの? フォーム設計したことあるなら分ると思うけど、単票形式も帳票形式も好きにレイアウト出来るが? Access2010+Win10 バグ見つけたんだけど最新のAccessで治ってるかな? 乗り換えたい 'F5キー押してからESCキー連打 Public Sub TestSub() Dim lngStart As Long lngStart = Timer Do While Timer < lngStart + 5 Loop Dim rs As DAO.Recordset Set rs = CurrentDb().OpenRecordset("SELECT * FROM 件数多いテーブル ORDER BY インデックス無しフィールド") End Sub ・ESCキーに反応して「3059 ユーザーによって処理が中止されました User has canceled the operation」 ・Ctrl+Breakの「コードの実行が中断されました」とは別物 ・Accessにフォーカス無くても反応してしまう ・オプションのショートカットキー無効でもダメ ・DAO 3.6でもダメ Cancel Key Breaks Out Of Code | Access World Forums https://www.access-programmers.co.uk/forums/threads/cancel-key-breaks-out-of-code.151372/ BUG in Access 2007: <Esc> raises run-time error 3059 https://social.msdn.microsoft.com/Forums/ja-JP/bb573ad0-7cac-499e-afc9-f9d2ab19cb76/bug-in-access-2007-ltescgt-raises-runtime-error-3059?forum=accessdev excelへの出力に詳しい本ありませんか? セルの指定等 >>696 ACCESS EXCEL 操作 で検索すると良いよ。 書籍はわからん、すまん。 >>690 全体的に意味わからないんだよね デザインビューでは単票表示なのにフォームビューにいくと帳票になるとか 何かのはずみでサブフォームが単票表示になるんだけど そうなると、サブフォーム右クリック→データシート にしないと帳票にならない 再度開くとまた戻ってるし どう開発したらこんなわけわからん設計になるんだろう サブフォーム選んでも 規定のビュー プロパティがない >>698 俺はExcelで全部やるようにした ACCESSにはデータいれとくだけ ACCESSはプロパティ見にくすぎるんだよな そもそもサブフォームって見出し行とかの見た目いじれないし >>698 意味分らないのは勉強不足だろw サブフォームを帳票形式で表示したいなら サブフォームのプロパティで既定のビューを帳票フォームにしておき サブフォームのデザインビューで詳細セクションには横一列に一レコード分の 表示させたいフィールドを望むオブジェクトで並べれば良いだけだが >>700 見出しの見た目はフォームヘッダのデザインで弄れるだろ >>701 サブフォームのプロパティに 既定のビュー がないんだが >>698 >>そうなると、サブフォーム右クリック→データシートにしないと帳票にならない 意味不明だな 単に帳票フォームの存在を知らないだけでは? 望む形態で設計できないのはAccessの概念と設計方法を 学んでないわけでここで質問する以前の問題 >>706 威張るなボケ!やっぱり操作方法しら不勉強じゃねえか メインフォームからサブフォームを洗濯した(その画のようにオレンジの枠線で囲われてる)状態では メインフォームにとってのサブフォームの扱いに関するプロパティが表示される メインだろうがサブだろうがフォームの左上の□をクリックして初めてそのフォーム自身のプロパティを 表示するのだ お前は出禁だ。10年勉強してから来い >>707 ドラクエ4の最初のおやじを彷彿とさせるな >>709 右下でもいいがマーカーが出る左上のほうがクリックと識別が一箇所で出来て良いだろ >>710 左上ではならなくない? 十字の矢印になるし バージョンで違うの? Access2019だが問題なく出来る。他は知らん >>712 スクリーンショットみてくれませんか? 左上押してもなにもなりませんね 右下の■だとなる ボケだ十年出禁だと汚い口調で投稿しないで下さい。思いやりを持って投稿しましょう。 >>713 クリック前のポインタが何処にあるかで挙動は異なるぞ メインフォームがアクティブな時は1度目のクリックでサブフォームにポインタが移るだけ(上のオレンジで囲われた状態) その後もう一度クリックすればマーカーが付く(サブフォームがアクティブ化する)だろ 機密事項なんでssは見せられん >>714 何を甘っちょろいこと言っておる!ここは5chだぞ?それくらい覚悟して来い 教えてくれない奴より 口悪くても答えてくれる人のほうがありがたいけどな それも一理ありますね。口汚さを緩和して見やすくする方向で何とかお願いします。 大抵おしえてくれないからな どんな教え方であれ解説するまで教えてくれるのはありがたい 偉そうなこと言って一切教えない、もしくは本人も知らないみたいのが邪魔ですね 結局質問者も教わった操作で出来たのかどうかの報告がない だからそれなりの対応をされる 過疎スレなのはAccessというかデータベース自体を使ってる一般人が少ないからだろ Accessなにそれみたいなのが普通 少ない利用者が肩寄せあって社会の隅っこで明るく楽しく生きて行きましょう。 泣きそうだ… >>724 一般人はexcelでなんでもやっちゃうもんね ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる