Access総合相談所 29
レス数が900を超えています。1000を超えると表示できなくなるよ。
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/ 項目AとBがあって、Aは必ず値があります
Bは値があるものとないものがあります
Bで値がないものだけを抽出するには、WHERE句に何と書いたらいいでしょうか? あ、すみません、自己解決しました
ISNULLでいけました >>828
a b間は a条件 or b条件でいいんじゃない?
isnull 使うかなあ。
あと、最近はgoogle検索っぽいのを求められるので
半角スペースを条件列挙に展開するコードを書いて
条件句じたいはlike *キーワード*
にするのがいいぞよ。 >>829
遅レスだが、なぜorでいいと思ったのかが知りたい
ダメでしょ
そもそも質問はb条件をどう書くかなのにそこは無視してるし >>826
添付ファイル型は使ったことないので動作が分からないけど、一旦取り出してからファイル名を変えて登録し直さないとダメとかじゃないの
そもそも(1)ができないのに(2)はどうやって動作確認したの
大変興味深いので教えて 右端とかのプロパティの文字あたりは大きくできないの?
あれ小さすぎだろ
ところでレポート印刷してできるだけ枚数減らしたいときってフォントどのくらいまでさげてる?
7より下げるときつそうだが印刷すると問題ないかな?
最近はBIZゴ使ってる フォームやレポートのデザイン画面を拡大縮小できないのもキツい フォームや印刷関係などは使いやすい
別途のソフト経由させてもいいんだけど
そういうのやりだすともはやプログラマの知識必要になるよね?
GUIいちからつくって全部プログラム組んで
mysqlとかやる羽目になるのね? Windows自体のダイアログのフォントが小さすぎて変えられないから無理でしょ
小型高精細モニタなんて珍しくもない時代なのに対応しないMSは何やってんだ Androidで簡易編集なり閲覧できないのがつらい
大したデータでもないからクラウドに上げてスマホで軽くやりたいときある 請求書などでレコード数により余白が出るとき
どちらのほうが視認性がいい(または一般的)ですか?
1は表の最終ラインを固定位置にして間が空白になる
2はラインをレコード数によって上につめて、それよりしたが空白になります
1
https://i.imgur.com/vDIZtqA.jpg
2
https://i.imgur.com/bmZg91T.jpg
数値は適当にいれたので気にしないでください >>840
1は小計のしたが空白になって用紙の下辺りに太線(表の終わりを示すもの)があるけど
2は小計の下は空白がなく上につめる、ラインの下は空白になっています ACCESSだと多少面倒だけど決まった行数空欄のままラインいれるとかかな
https://i.imgur.com/2T5hGcz.png いつも思うが一番下の小計みたいなのいる?
こういうほうが見やすい
https://i.imgur.com/Vxyopzf.png >>839
2番。
気軽に答えられるアンケート形式はいいね。 >>844
2番って用紙の3分の1くらいから下はまったくの白紙ってこと? こんなんつくったけど小計のとこはこんな書き方でいいんだろうか?
小計は4行にして高速代と料金は縦並びのほうが一般的?
数学とか会計的に矛盾した表組みとかいわれそうでこわい
https://i.imgur.com/lYES4QA.png 高速代が頻繁に生じる業種ならこの形でいいと思う
一般の会社でたまたま高速代が生じたのなら明細を四行にして金額は縦並び、高速代には非課税の※印を付けるかするのが普通と思う >>846
あくまで試作だろうけど
ちょっと笑った。
なんで高速代固定なのか。
まあ、高速代としましょうよ、etcの利用明細でも参考にしてくださいな。
普通は
伝票番号、伝票日付、品名 (高速利用料なら「利用料 あic〜いic」)、数量(利用料で特に何回とかまとめない場合は不要)、単価(絶対に単価=小計の場合は不要)、
小計
みたいな感じだと思う。 >>848
頻繁に生じます
表としてそこまで矛盾しているわけでもないってことですか?
そもそも縦に小計や消費税が並ぶのも矛盾している気もしますけどね >>849
自己レス 思ったけど高速代って
高速道路じゃなくて
特急仕上げ料金とか、配達送料みたいなもんか。
それだったらなおさら
2行にわけて1行目が品代、2行目が高速代(その他オプション料金)です。 >>849
運送屋なんで指定があれば高速代を建て替えて実費を請求するのでそうしていました
一般的な運送屋の明細書は
○○行きとかで高速代は金額だけ書いていますね
伝票や受領書になどに高速の領収書をつけておくりますし 一番気になるのは小計のところの
高速代 と 料金 が横並びになって
縦に消費税にしていますが、表組みとしてそれでいいのかな、というところです 明細はこれでいいんじゃないか
区切り線以降は
課税小計2300/消費税230/非課税小計600/合計3130
を縦に並べるのがいいかな
高速代の真下の小計600はいらない >>849
絶対に単価=小計
だったんだがある仕事が増えたときに数量の概念うまれたときは困ったな
数量×単価の仕事ってことね 請求書とかつくるなら交互に網かけしたいところだよね
Excelでできてなんでできないんだよ ここまでAccessと関係ない話題
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 網掛けはVBAでできるけどまあ基本機能に入れろよとは思う table1にAAAとBBBという項目を持つレコードが1000個あって、BBBの各値ごとのAAA全部の平均をとるときは
SELECT Avg(AAA) FROM table1 GROUP BY BBB
とすればいいですが、BBBの各値ごとに大きいほうから10個選んで平均とりたいときはどうすればいいですか? 出勤簿でレコードを追加していくときに
日毎に「注意事項」を入力したいです
「注意事項」の内容はすでに決まっていて20あり、それをループさせ入力していきたいです(マスタからリレーションか、値からでもかまいません)
どのようにしたらいいでしょうか? すみません、一つ相談をさせて下さい。
【Windows】 10 【Access】 2016
【作りたいものの業務分野】
労務管理
【あなたのスキル】
LV1:完全初心者,
【どのオブジェクトに関する質問か】
テーブル,リレーション
【やりたいこと】
テーブルA:ID,氏名
テーブルB:ID,従業員,監督者1、監督者2
このようなテーブルを作成しました。
ここで、従業員、監督者1、監督者2のいずれにもテーブルAのIDを入れることを想定しています。
実際に表示したいクエリーは
テーブルB_ID、従業員_氏名、監督者1_氏名、監督者2_氏名
そこで、リレーションとして
テーブルA_ID→テーブルB_従業員
テーブルA_ID→テーブルB_監督者1
を設定しました。
そうしますと、「このリレーションシップでは参照整合性を設定できません。」と表示されました。
【エラーメッセージに関する質問】
参照整合性を設定するにはどうすれば良いでしょうか?
何を勉強すれば良いかがわかっていない状況です。申しわけございません。 >>860
コピペでもして項目数を31に増やして日付と連結する >>861
ダイアグラムでテーブルAをコピーし複数表示させる >>862
それだと項目がループで表示されるわけじゃなくかたよりがでない?
注意事項マスタつくって数字を割り振る
それと出勤簿テーブルの注意事項コードみたいなのをリレーション
VBAでテーブルにレコード追加するときに前日の注意事項フィールドをみて20以下なら+1、20なら1を入力する
あとから入力したり修正するとおかしくなるかもしれないしなんか定番のやり方あるのかもしれないけど 最近、出退勤とか出勤簿系の質問多いけど、
質問内容からSQL文も理解できなさそうだから
一般に売ってる勤怠管理系のソフト買った方が早いんじゃないの?
それとも何処かに作ってもらったけど、追加要求機能の見積が高くて
自分でやろうとしてるとかか? ここで質問していいのかわかりませんが、
売上・在庫管理システムを
・クライアント3台:Access 2019
・サーバー1台:SQL Server 2019
・接続方法:ODBC接続
でシステムを組むとしたら、
ハードウェアやAccess、SQL Serverを除いて
ソフトウェア開発費だけで予算的にどれくらい必要ですか? >>867
そんなの自分でやれば無料だろ
値段付けたら言い値だから人によって全然違う 867に便乗の質問です。
867と同じ構成の場合は、これまでは行儀良く必要なデータをfetchしてローカルの同じカラム構造のテンポラリにコピーして、追加や変更はadoで、insertやupdate文を構築して投げることをやってました。
大量のコード記述が必要ですが今回、開発時間が十分とれません。
sqlserverのリンクテーブルとして、ローカルaccessもしくはデータaccdb分離と同じようにフォームのソースに直接、それらのリンクテーブルを指定したときに
更新や整合性で不具合出ませんか。
「やってるけど、別に」「不具合は起きやすい」などお聞かせください。 どのレベルの更新や整合性かわからんけど
「やってるけど、別に」かな >>872
ありがとうございます。
今、実験中です。
insert updateなどの更新系で、テーブルにオートナンバー含むときはqdf.executeの引数に
dbseechangesが必要、ということはわかりました。 別にいちいち報告しなくていいよ
おまえのご主人様じゃないんだし すみません、一つ相談をさせて下さい。
【Windows】 10 【Access】 2016
【作りたいものの業務分野】
労務管理
【あなたのスキル】
LV1:完全初心者,
【どのオブジェクトに関する質問か】
テーブル,リレーション
【やりたいこと】
基本情報 |ID(主キー)|氏名 |フリガナ|
詳細情報 |ID(主キー)|基本情報ID|更新回数|現所属|
出向先 |ID(主キー)|基本情報ID|出向先 |
クエリ
出向先ID、基本情報ID、氏名、フリガナ、更新回数=1、現所属、出向先
このようなクエリをつくったところ、「このレコードセットは更新できません。」とエラーが出ています。
【エラーメッセージに関する質問】
基本情報と詳細情報を分けなければクエリも動くことは分かっているのですが、何故エラーが出るのかを理解したいです。
(基本情報と詳細情報は可能な限り分けて構築をしたいと考えています。 出向先テーブルに基本情報IDが入ってるのがおかしいね >>877 ありがとうございます。
出向先テーブルに、「出向者(基本情報ID)」と「出向先団体」をもたせる構造自体がおかしいのですね。
出向先と出向者をどう繋げれば良いのかを考える必要があるのでしょうか。 よく見たら詳細情報テーブルにも基本情報IDが入ってるのね
テーブルの主キーを他のテーブルにも入れちゃうから値を動かせなくなってエラーになってると思う
テーブルはマスタデータだから単独で平坦化しておいてクエリで欲しい形に組み合わせるのが正しい
ということで詳細情報テーブルと出向先テーブルから基本情報IDを削除しよう >>879 ありがとうございます。
ご指摘のようにテーブルをつくると下記のようになるかと思います。
基本情報 |ID(主キー)|氏名 |
詳細情報 |ID(主キー)|現所属|
出向 |ID(主キー)|出向先 |
その場合に、「出向者クエリー」として以下をつくりたいと考えています。
|ID(出向.ID)|出向先(出向.出向先)|氏名(基本情報.氏名)|現所属(詳細情報.現所属)|
このとき、詳細情報と出向に基本情報IDをもたせずに構築することはできるのでしょうか。
※なお、出向先と現所属は毎年変わ(り得)るので、このようなテーブル構造が必須な状況です。 なんか急に、標準モジュール領域にsubとか、functionとか書いたら
コンパイルエラー 修正候補 識別子
とか出るようになった。 >>876
Accessは一対多のクエリでも編集できる(1側を変更すると該当する行がすべて更新される)けど
SQL Server Management Studio では普通に読み取り専用になる。
Accessでも3つ以上になると、めんどくさいので追跡してくれない
そんなもんです
基本情報ベースのフォームに、詳細情報サブフォーム、出向先サブフォームを追加して
基本情報 ...
基本情報IDで連動すればいいんじゃないでしょうか? もしくは出向先もマスタテーブルにして
詳細情報をためていくとか
詳細情報 |ID(主キー)|基本情報ID|出向先ID|更新回数|現所属| >>880
失礼、詳細情報テーブルにも基本情報IDは必要ですね
IDはどのテーブルのものか識別つくようにするためフィールド名を固有ID名にして説明します。
出向先テーブル
出向先ID
社名
基本情報テーブル
個人ID
氏名,フリガナ
詳細情報テーブル
個人ID
更新回数
現所属
出向先ID
とすればクエリは
SELECT 基本情報.個人ID, 基本情報.氏名, 詳細情報.更新回数, 詳細情報.現所属, 出向先.社名
FROM 基本情報 LEFT JOIN (出向先 RIGHT JOIN 詳細情報 ON 出向先.出向先ID = 詳細情報.出向先ID) ON 基本情報.個人ID = 詳細情報.個人ID;
てな感じですな。 皆様sampleまで作って戴きありがとうございます。
想定としては下記のような構造を考えていたのですが、一対多が複数あると読み取り専用になるのですね。
https://dotup.org/uploda/dotup.org2408466.png.html
詳細情報テーブルに出向先IDをもたせるのが一番楽なようですね。
(詳細情報テーブルにもたせると、関係ない者にまで出向先を書く必要があり冗長かなと思っていました。 >>888
楽ってのは単一テーブルビューでの編集が楽ってだけなので
同時に編集しないならその関係のほうがいいんじゃない?
ただしDB的には 出向先1、 出向先2ってのがケチを付けたくなってくる
出向先は
id, 基本情報ID, 開始日, 終了日, 出向先名(または出向先ID)
だな。
面倒くさくなるけどw >>888
>詳細情報テーブルにもたせると、関係ない者にまで出向先を書く必要があり冗長かなと
出向しない社員用に出向先テーブルに「なし」とか「自社」ってレコードを一件入れておけばいいだけでしょ。
あとこれはあくまでも基本設計の概念であって、>>889の言うように現実は履歴を記録する必要があると思う。
だから実際のクエリは1社員の出向回数分、1人のレコードが複数存在することになり、更新回数は
出向記録の件数をカウントさせる形になるだろう。 家族経営レベルの零細だから自分でVBA書いて業務管理つくってます
販売記録(BtoBだし取引先も10件程度なので煩雑ではない)と請求書発行です
一般的にどの程度の規模からソフト屋に外注するものでしょうか?
下手な会社に頼むとめちゃくちゃなUIになったり倒産したりで大変な目に合いそうです
同時に複数人で入力することもないし、あったとしても10人以下なら問題ないですかね?
PC一台をサーバー役にするなりNAS導入するなりで ソフト屋に発注はしないけど、同時使用の可能性があるならAccessは使わない、これ常識 >>891
もちろんやり方によるけど、クライアント50台でも問題なく使えてます。
でも、fullfreeとか使ってみたら良いんじゃないかと。 >>891
作り方、データ量、ネットワーク帯域に影響されます。
作り方が一番重要だと思います。(システム分離はもちろん、サーバー問い合わせを極力減らすなど)
書かれている方もいますが接続台数が多いとDBの故障リスクが上がります。
データ量に比例してクエリなどサーバー問い合わせが重くなりやすい為です。
掲示されている内容だと10台は少し心配ですかね。 >>891
よく頑張ってますね。
同時作業者がいて、頻繁に同じレコードを更新するときに
矛盾が生じるのを防止する機能(悲観的ロック)を
高額なerpは搭載、アクセスはなし、ということになります。
人数と業務内容で精査してください。 MySQLかPostgreSQL使えばいいだけの話
外注とか有償ソフトとか必要ない >>895
Access(Jet) はレコードレベルでの排他ロックに対応していますよ。
販売管理など一般的な業務アプリなら充分なレベルです。 >>896
フォームつくるの大変じゃない?
ほぼプログラマーみたいなことやらなきゃいけないよね? >>899
20年位前に会社でIIS使ってイントラネットのページ作って<form>の中に<input>や<button>を配置してデータベースに入力したり、
データベースから読み込んだものを<table>に表示したりしてたけど、
100人弱の人が使って何の問題もなく使えてたよ
作るのもhtml書いて<% %>でデータベースとやり取りするスクリプトちょこっと組み込むだけだから余裕だったし
もう会社辞めたけどいまだに使ってるみたい >>899
フォームはHTML(とPHP)で作ればいいんじゃね?
そうすればクライアント側にブラウザさえあればいいから、スマホやタブレットに対応させるのがすごく楽
ブラウザって基本的にタダだし >>901
なんとかVBAでやってるのにHTML(とPHP)でフォームなんて作れる気がしない <html>
<body>
<form method=post action=xxx.aspx>
<input type=text name=text1>
<input type=submit value=送信>
</form>
</body>
</html>
こんな感じだったかな
あとはVBA(VBS)使いたい部分を<% %>で囲む
囲った中身はVBSもしくbヘJavaScriptで給L述できる
たとえば<%Response.Write Now()%>とすればこれを入れた部分に現在日時が表示される
あとはネット検索して好きなようにSQLなりなんなり記述すればいい >>902
HTMLのフォームって単純だから、慣れたら簡単だよ
PHPも、画面遷移がちょっととっつきにくいだけで、慣れればVBAより楽だよ >>903
コード書かずにACCESSのフォームみたいに作れるのはないんですか? 903ではないです
fullfreeなんかどうですかね
来週から私は試してみようと思ってます >>907
できたらACCESSと比較したレビューお願いします レポートのプレビュー押したとたんにブルースクリーンになるのが
何回も起きるので
64bit版が原因かと思って
糞忙しいのに32bit版にインストールしなおしたら落ちなくなった。
どうやらセキュリティパッチが原因らしい。
KB5000801 そのアップデート後のブルスク、プリンタメーカー依存のエラーらしいよ Type4のプリンタドライバなら問題ないって話だよね Androidで閲覧くらいはしたいけどリリースしてくれないよね それにしてもACCESSってつくりが古臭すぎるよね
フォームなんかもすごくつくりにくい
今時の大抵のソフトって何か配置するときに他の配置されたものと比較されてガイドでたりするのになあ 請求書なんかの印刷レイアウトつくるのも一苦労だよね
かといってファイルメーカーみたいに6万もしないけどさあ
365(というかEXCEL)のおまけだしね >>913
他のソフト、例えば乗り換えるとしたら何がおすすめ? >>914
それ、とにかくレポートのデザインは拡大したいですね。
フォーム作ってるときにそう思わないな、変だな。 本職と関係ないけど時々html cssやってて
デザインの機能が合理的なのね。
字などのサイズは画面の何%にして、とか。
accessは23インチのモニターで設計して配布したら、ノートpcで「ありゃ入りきらんわ」ってのがよくある。 >>919
html cssってどうやるの?
よくきくけどよくわからん フォームくらいならできそうだったけどレポートとかはむずかしそうだった
そもそもDBにフリーのもの使ってそれがコマンドプロンプトみたいな画面でフィールドつくったりしてやらなきゃいけないだよね? >>913
全部グリッドに配置すれば簡単だぞ
こだわるのがいけない >>922
そうだよね
わかってるんだが
こだわってしまうんだよねえ
流石に90年代みたいなデザインだとねえ >>923
超こだわり派は、最後に位置とサイズを数値指定する
キリの悪い数値に丸まるのが個性的でイカす Azure Data StudioってSQL Server のようにODBC接続でクラサバ構築できんの? >>916
データベース自体をサーバー上に載せる方がいい
オープン系ならLinux+apache+postgresqlとか
レイアウトのし易さとかよりも、アクセスのし易さの方が生産性に大きく影響する レス数が900を超えています。1000を超えると表示できなくなるよ。