X



Access総合相談所 30
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@そうだ選挙にいこう
垢版 |
2021/04/07(水) 12:33:01.06
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総合相談所 29
https://mevius.5ch.net/test/read.cg/bsoft/1569236545/
0366名無しさん@そうだ選挙にいこう
垢版 |
2021/09/20(月) 00:51:22.02
フォームに
フィールドA
フィールドB
があって

Aに入った値をキーにあるマスタテーブルを参照抽出したレコードの別のカラムの値だけフィールドBに入力できるように制約かけたいんだが、どうすればいい?
制約外のデータがはいれば、その値は入力できませんのメッセージを出すとかする予定。
0367名無しさん@そうだ選挙にいこう
垢版 |
2021/09/20(月) 05:56:44.30
iifとか使わず単純に
(IsNull(forms![フォーム]![種類]) or [種類]=forms![フォーム]![種類]))
じゃだめなの?
条件が複数ならコレをandでつなげてくだけ
0368名無しさん@そうだ選挙にいこう
垢版 |
2021/09/20(月) 08:17:48.20
>>367
>>365
複数の条件をORで結ぶかANDで結ぶかは状況次第
0369名無しさん@そうだ選挙にいこう
垢版 |
2021/09/20(月) 08:56:27.61
>>366
その参照抽出の選択クエリの作り方はさすがに分るだろうから省略

フィールドBの値集合ソースにそのクエリ名を入れる
(クエリ名の代わりにそのクエリのSQL文でもええよ。)

ただし、そのままだとフィールドAを入れたあとにフォームを開きなおさないと
そのクエリが実行されないので、

フィールドAの更処後処理のイベントで
マクロなら再クエリ
あるいは
イベントプロシージャならDoCmd.Requery
を入れる

そうすると、フィールドAの値が確定したあと抽出クエリが実行され
フィールドBのレコードソースが更新されるわけやね

詳しくは>>358>>360のリンク先でも読めば良いかと
0370名無しさん@そうだ選挙にいこう
垢版 |
2021/09/20(月) 08:57:52.07
>>369
まちがえた
× レコードソース
○ 値集合ソース
0371名無しさん@そうだ選挙にいこう
垢版 |
2021/09/20(月) 14:05:33.94
>>367
(true or false)=true
なのでアリなんじゃないでしょうか。
プログラミング関連のブログで
if (A=B)=true
がムカつく、と書いてた人もいるので
単純にbooleanを出力することが自明なら、余計な記述はしないことも大事ですね。
0372名無しさん@そうだ選挙にいこう
垢版 |
2021/09/20(月) 15:27:30.61
>>370
値集合で設定すれば
入力制約できるの?
選択肢をコンボボックスとかでリスト表示したいわけではない
0373名無しさん@そうだ選挙にいこう
垢版 |
2021/09/20(月) 17:09:26.80
>>371
値が入力されているなら…みたいな前提条件を式に書く場合、IMP(論理包含)というそれ用の演算子があるのでそれ使う手もあるよ
IIFよりスッキリするけど、知名度低い上に多言語にはなかったりするのが難点
0375名無しさん@そうだ選挙にいこう
垢版 |
2021/09/20(月) 19:38:32.00
>>372
>値集合で設定すれば入力制約できるの?

できるよ。リストボックスならリスト以外は入らないし
コンボボックスでも入力チェックを「はい」にすれば
リスト以外は入れられない。この場合、リストにある文字列をキー入力しても
リストから選んでも同じ

ちなみに、リストボックス・コンボボックスは、そのコントロールに
フォーカスがあるときにALT+↓でもリストを選べる(Windows版では)

慣れるとマウスでいちいち▲や▼をクリックするの面倒になるしね。

>選択肢をコンボボックスとかでリスト表示したいわけではない
テキストボックスで、リストにある選択肢をわざわざ再入力するん?
無駄なことかと
0376名無しさん@そうだ選挙にいこう
垢版 |
2021/09/20(月) 21:24:56.55
マスタテーブルを対象に
タブ区切りファイルで洗い替えしたい。
特定のカラムが合致するレコードをキーに洗い替えたい。
フォームにあるボタンを押せば実行されるようにしたい。
どうすればいい?
0377名無しさん@そうだ選挙にいこう
垢版 |
2021/09/20(月) 21:44:12.21
>>376
ボタンで云々は機能の集合体とフローづくりなので、その前段階の各作業はできますか?
手動で
csvでエスクポートはできますか。
クエリーでしぼり込みはできますか。
できたら、後はスクリプトで組み合わせるだけです。
ファイルダイアログだけ標準機能じゃないのでちょっと面倒だけど、
25年前のaccess95登場からネットで紹介しつくされてる技術なので、自力で探せると思います。
0378名無しさん@そうだ選挙にいこう
垢版 |
2021/09/21(火) 12:39:16.69
>>376
洗い替えってテーブルのフィールド構成だけ残して全データ削除、オートナンバーリセットって事で
特定のレコードの値だけ変更したいなら更新になるよ
その更新クエリ作ってをボタンクリックで起動させたいという事ですね?
タブ区切りファイルってtsvの事っすね?
そのリンクをテーブルとしてインポート出来るっすか?
0379名無しさん@そうだ選挙にいこう
垢版 |
2021/09/21(火) 20:30:14.56
検索したけど見つからず

フォームの値をクエリの抽出条件にしてるんだが、
フォーム項目A以下とB以上

抽出条件
A orBにすれば空白じゃないときはうまくいくが
どちらかフォームの項目が空白のときは、全件抽出されてしまう。

上手い書き方がわからない
0380名無しさん@そうだ選挙にいこう
垢版 |
2021/09/22(水) 01:41:59.47
>>379
解決しました
すいません
0381名無しさん@そうだ選挙にいこう
垢版 |
2021/10/11(月) 18:22:12.19
日付フィールドをレポートで表示させるとバラバラの並びになります
グループか追加から昇順降順どちらでもよくわからない並びになります
8/20
8/28
9/15
6/20
などです
原因わかりますか?
グループフッターもうまく機能しません
0384名無しさん@そうだ選挙にいこう
垢版 |
2021/10/14(木) 16:49:47.85
ルックアップ フィールドってあるぞ
0385名無しさん@そうだ選挙にいこう
垢版 |
2021/10/14(木) 19:12:21.65
dlookupというのはある

検索系統はSQLを使えば大体の事は出来るぞ
0386名無しさん@そうだ選挙にいこう
垢版 |
2021/10/15(金) 07:16:10.91
SELECT *
FROM テーブルX  as T
WHERE ... and T.カラムA=テーブルX.カラムA;

パラメータ入力が求められます、なぜでしょうか

T.カラムA=テーブルX.カラムA
TはテーブルXなので T.カラムA=テーブルX.カラムA という記載の意味が
わからないです
どなたかご教示お願いします
0387名無しさん@そうだ選挙にいこう
垢版 |
2021/10/15(金) 09:14:04.63
記載した人に聞けばいいんじゃないかな
0388名無しさん@そうだ選挙にいこう
垢版 |
2021/10/16(土) 08:36:24.97
>>386
>パラメータ入力が求められ

不明な変数があるからその値を入れてくれって意味なのは分るかな?
そのダイヤログに表示されている変数は何?

>TはテーブルXなので T.カラムA=テーブルX.カラムA という記載の意味が

想像するにカラムAはフィールド名だろうね。
テーブルXあるカラムAフィールドを指し示してるのだろう
そのフィールドがほんとうにあるか確認してみては

それ以上は情報が無いのでなんともいえない
0389名無しさん@そうだ選挙にいこう
垢版 |
2021/10/16(土) 08:53:48.65
>>386
> TはテーブルXなので T.カラムA=テーブルX.カラムA
これは同じテーブルの異なるレコードの値を比較するのに使う手だよ
その式の前にレコード移動を伴うアクションがあるはず
0390名無しさん@そうだ選挙にいこう
垢版 |
2021/10/16(土) 08:59:05.66
>>385
SQL文のサブクエリ使うの常套句だよね
0392名無しさん@そうだ選挙にいこう
垢版 |
2021/10/16(土) 10:23:39.48
>>391
じゃあ君が何か言ったらどうかな?
0393名無しさん@そうだ選挙にいこう
垢版 |
2021/10/16(土) 10:32:36.94
>>391
>>388はダイヤログに表示されるパラメータが何かが分らんから聞いてるが
それを何も言ってないに等しいとか意味不明
このスレには君のような無能だけど批判ばかりするのが居るな
はっきりいって気色悪い
0394名無しさん@そうだ選挙にいこう
垢版 |
2021/10/16(土) 13:43:56.54
>>391
あなたにそう見えるだけなので
そういう時は、言っている意味がわからないと
言った方がいいよ
あなたのレベルが低すぎる場合があるかも
0395名無しさん@そうだ選挙にいこう
垢版 |
2021/10/19(火) 06:27:08.87
Macの場合はどうすればよろしいのでしょうか?
0399名無しさん@そうだ選挙にいこう
垢版 |
2021/10/21(木) 11:37:31.46
>>397
VisualStudio
個人なら無料版がある
0407名無しさん@そうだ選挙にいこう
垢版 |
2021/10/21(木) 15:09:11.87
windowsの基本UIコントロールだからであって、accessが作っているわけではない
UIコントロールまで作るとコストが上がるくせに、デザインの可否で揉める
スキン変更機能まで入れろやゴルァとなる
0408名無しさん@そうだ選挙にいこう
垢版 |
2021/10/21(木) 17:13:17.76
XPでテーマ変えればいいんじゃない?
0409名無しさん@そうだ選挙にいこう
垢版 |
2021/10/21(木) 19:18:03.46
UIの改善ニーズわかるわー。
古くさい、レスポシンブじゃない。
AndroidStudioでオブジェクトが上位要素や前後の相対でゴム紐のように繋がってるのもまた、かなり難解ではあったが。
デスクトップpcでAccessアプリ作ると、ノートpcの人から
「一画面に収まらないからスクロールめんどい」とか言われるねん。
0410名無しさん@そうだ選挙にいこう
垢版 |
2021/10/22(金) 06:50:36.17
Accessさんは、
オブジェクト数の上限を緩和するか、
参照設定をフルパスでなくてもできるようにしてくれたら
二十二世紀まで使う。

あ、テキストボックスのIMEコントロールが時々言うことを聞かなくなる。ATOKなんだけど。

タッチパネルUIが視野に入っているために文句を垂れている人は
Android環境で何かいい物を作ったらと思う。
0412名無しさん@そうだ選挙にいこう
垢版 |
2021/10/22(金) 08:25:10.59
>>410
自分は参照先ライブラリをaccdbファイルに同梱できるようにして欲しい
>IMEコントロールが..,

ATOKプロパティで、[入力・変換]タブ-[入力補助]-[特殊]シートの[入力欄の属性を参照する]のチェックを外すとどう?
0413名無しさん@そうだ選挙にいこう
垢版 |
2021/10/22(金) 10:12:10.82
テキストボックス透明にできるんだから
まずは背景画像を1枚用意するところから始めよう
0414名無しさん@そうだ選挙にいこう
垢版 |
2021/10/22(金) 12:12:31.80
チェックボックスやラジオボタンのサイズを変更できたら良い
0415名無しさん@そうだ選挙にいこう
垢版 |
2021/10/22(金) 14:57:08.61
表編集機能などを強化した「桐s」は、「桐スマートライセンス」でお使いいただける最新の「桐」です。
「桐s」をお使いになるには、「桐スマートライセンス」のいずれかの商品をお買い求めください。

リボンに対応
タブによる編集表の切り替え
Webビューによるインターネット連携機能
ズーム機能
コピー&ペースト機能の強化
0419名無しさん@そうだ選挙にいこう
垢版 |
2021/10/23(土) 10:51:58.99
データバインドできるwpfのほうが楽だな
0422名無しさん@そうだ選挙にいこう
垢版 |
2021/10/24(日) 09:40:16.38
>>421
Excelのシートの内容をAccessのフォームやレポートに移す方法を詳しく教えてください。
0423名無しさん@そうだ選挙にいこう
垢版 |
2021/10/24(日) 12:06:32.91
>>422
UIだけの話
レポートはAccess固有でしょ
Excelのシートを帳票に出来てもAccessのレポートと同じ事は出来ない
Excelシートは単票に向く
Accessレポートは連続帳票に向く
目的が違う
0424名無しさん@そうだ選挙にいこう
垢版 |
2021/10/24(日) 21:44:41.40
もう2019は買えないのか?
0425名無しさん@そうだ選挙にいこう
垢版 |
2021/10/25(月) 08:07:21.31
410です。
>>412
>ATOKプロパティで、[入力・変換]タブ-[入力補助]-[特殊]シートの[入力欄の属性を参照する]のチェックを外すとどう?
この設定初めて知りました。ありがとーございます。

チェックは元からOffになっていました。
OnとOff両方試したけど、発生条件が複雑らしく、出来たり出来なかったりでした。
0426名無しさん@そうだ選挙にいこう
垢版 |
2021/10/26(火) 08:11:02.26
>>423
Accessでは単票と帳票の2種類のレポートとフォームが作れる
Excelにはレポート無いんだよなあ
印刷用フォームは作れるけどね
0427名無しさん@そうだ選挙にいこう
垢版 |
2021/10/26(火) 18:33:18.43
>>425
IME入力モードはオンではなくてひらがな
にしてる?
テーブルでIME入力モード設定したら
フォームでは設定不要
テーブルで設定してないならフォームで設定
昔のバージョンだとテーブルで設定出来んかったんよ
なのでこうなってる
0428名無しさん@そうだ選挙にいこう
垢版 |
2021/10/29(金) 15:18:55.37
410です。

IMEの切り替え、いつの間にか不具合が再現できなくなった。なぜだ。
2日ぐらい前にJUSTオンラインアップデートで再起動を促すメッセージが出たから何か更新したかな。
0429名無しさん@そうだ選挙にいこう
垢版 |
2021/10/30(土) 07:07:06.55
>>428
何にせよ解決して良かった
0430名無しさん@そうだ選挙にいこう
垢版 |
2021/11/12(金) 09:10:45.57
2021の新機能と使い勝手はどうかね?
0431名無しさん@そうだ選挙にいこう
垢版 |
2021/11/12(金) 13:50:36.35
新機能なんて、ほぼ無いよ
0438名無しさん@そうだ選挙にいこう
垢版 |
2021/11/15(月) 08:26:39.00
>>436
画像埋め込みだとすぐに達する大きさ
0439名無しさん@そうだ選挙にいこう
垢版 |
2021/11/15(月) 08:28:10.63
>>436
レコードサイズじゃなくて
accdbファイルの大きさ
凄く狭く感じるな
0440名無しさん@そうだ選挙にいこう
垢版 |
2021/11/15(月) 10:23:06.14
1対多のデータベースにExcelデータをインポートするときどうやってる?
Excelデータはその1対多のフィールドを1行ですべてもってて日付とその他の項目で1対多の関係のテーブルにそれぞれ入れるとき
0441名無しさん@そうだ選挙にいこう
垢版 |
2021/11/15(月) 11:54:42.17
入れたいんなら入れればいいじゃん
入れたくないならその理由も詳しく説明してくんなまし
0442名無しさん@そうだ選挙にいこう
垢版 |
2021/11/15(月) 12:43:36.71
>>440
場合による
日付(主キー)、氏名1、氏名2、…
とかだったら別フィールドじゃなくて同じフィールドの別レコードに入れるし
日付(主キー)、氏名、住所…
とかだったらそれぞれ別フィールドで入れても
別テーブルに入れても良いし
0443名無しさん@そうだ選挙にいこう
垢版 |
2021/11/15(月) 12:47:24.01
>>442
前者だと日付は主キーには出来ないな
いつも通りにオートナンバーのIDが主キーでええやと
0446名無しさん@そうだ選挙にいこう
垢版 |
2021/11/15(月) 19:27:21.45
一のテーブルには日付以外入れないの?
ならそんなテーブル、不要ら!
毎回Group byしろ

多のテーブルの日付は主キーじゃないだろ?
なんでもいいから主キーはあったほうがいいのですアウトナンバーを推奨
0448名無しさん@そうだ選挙にいこう
垢版 |
2021/11/16(火) 12:16:48.87
>>444
そうする事も可能
とりあえずExcelの表をそのままインポートして
日付フィールドを主キーに設定出来ればそれで良し
主キーに出来ないならオートナンバーのIDフィールドを追加して主キーにする
0449名無しさん@そうだ選挙にいこう
垢版 |
2021/11/16(火) 12:20:49.16
>>445
主キーはそのフィールドに同じデータが2つ以上あってはダメなだけで文字列型フィールドでもOkなんすよ
ただしオートナンバー型のフィールドは2つ以上があり得ないのでそれが無難
0450名無しさん@そうだ選挙にいこう
垢版 |
2021/11/16(火) 12:27:08.54
複数のテーブルに分ける場合はテーブル同士の関係をリレーションシップで定義します
その時に主キーを使う訳です
リレーションシップを定義しなくても選択クエリとか作れてしまうのですが、そういうクエリは更新が出来なかったとか不具合起こるのでリレーションシップは忘れずに
0451名無しさん@そうだ選挙にいこう
垢版 |
2021/11/16(火) 13:45:43.56
>>444
詳細テーブルは日付テーブルと日付でリレーションするだけで
それぞれのテーブルに主キーとしてIDをもたせるんだと思うが違うの?

伝票テーブル 伝票IDが主キー
明細テーブル 明細IDが主キー
でレコード作成時に明細テーブルにも伝票IDを付与させてそれでリレーションするように
0452名無しさん@そうだ選挙にいこう
垢版 |
2021/11/19(金) 06:39:05.29
>>451
単純にそのテーブルの主キーに対し複数ありえるフィールド項目なら別テーブルに入れるっていう
理解をしてる。
住所録でも家族の名前も入れるとなったらテーブルは分けるし、そうでないなら分けない
いや、とある年賀状アプリのように連名として同じテーブルに入れる方法もあるけどね。
0453名無しさん@そうだ選挙にいこう
垢版 |
2021/11/19(金) 14:39:07.30
>>452
基礎を学ぶときどこにもそのように書いてあるけど
なんのためにそうするんですか?
昔の名残でPCがはやくなったいまはやらなくてもいいんですかね?
0454名無しさん@そうだ選挙にいこう
垢版 |
2021/11/19(金) 15:42:50.32
日付が変更できるようなものだったり、日付が人的ミスで想定外のものが入力されたり
生成条件にバグがあったりするとリレーションが死ぬし回復作業も死ねる
オペレーション的に人的介入されない一連番号のキーが最適解


という話ではなく?
0455名無しさん@そうだ選挙にいこう
垢版 |
2021/11/19(金) 16:04:21.53
>>453
リレーショナルデータベースの入門書を読んでいるからだよ

他の仕組みのデータベースも勉強してみよう!
0457名無しさん@そうだ選挙にいこう
垢版 |
2021/11/21(日) 10:03:25.36
>>453
早くなったのもあるけど、容量制限が緩くなって、冗長なデータでも問題が無いことが増えたんじゃないかな

>>452
正規化が必要な意味を考えると良いと思う

>>455
入門書レベルも重要だと思う
Excelみたいな感覚でAccessを使う人がいるから、処理の遅いAccessはよく見かける
> 他の仕組みのデータベースも勉強してみよう!
俺も知りたいです。どういうこと?
0459名無しさん@そうだ選挙にいこう
垢版 |
2021/11/21(日) 14:29:03.32
>>457
やっぱ所詮文字列や数字程度のものを正規化しまくる意味はほぼなくて
多少重複しててもシンプルなほうがメンテナンスもやりやすいですよね
0460名無しさん@そうだ選挙にいこう
垢版 |
2021/11/21(日) 15:49:59.12
エンドユーザー側はかなり自由な入力好むからなぁ

例えば納品書作るのに得意先コード打って得意先名出したあとその得意先名を自由に書き換えたいとか
0461名無しさん@そうだ選挙にいこう
垢版 |
2021/11/21(日) 16:08:42.37
それ、桐では普通
0462名無しさん@そうだ選挙にいこう
垢版 |
2021/11/21(日) 16:09:56.71
>>453
これは私見だけど
パフォーマンスよりも機能拡張に備えるため
住所録に連名で家族名を入れる構造だと
生年月日フィールドを追加する時に
連名フィールドの数だけ追加することになるけど
テーブルを分けて入れば追加は1回だけで済む
どっちが楽にできるかは明白
0463名無しさん@そうだ選挙にいこう
垢版 |
2021/11/21(日) 16:23:23.41
>>460
得意先の社名変更もできるようにすべきだよね
この場合に問題になるのは単純に得意先テーブルの社名フィールドを書き換えると過去の取り引き記録も新社名になってしまう事
これを避けるには社名変更履歴のテーブルを作り
歴代の社名とその変更日前日を有効期限として記録するしかない
その有効期限と取り引き日を比較して社名を特定
0465名無しさん@そうだ選挙にいこう
垢版 |
2021/11/21(日) 19:29:14.91
得意先テーブルにレコード追加した方がスマートじゃないの
■ このスレッドは過去ログ倉庫に格納されています

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