X



Access総合相談所 29
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@そうだ選挙にいこう垢版2019/09/23(月) 20:02:25.84
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/
0005名無しさん@そうだ選挙にいこう垢版2019/09/24(火) 14:10:28.91
>>4
申し訳ございませんでした。
調子こきました。
歴代のテンプレをひきつづきお使いください。

▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境  】 Windows**, Access**
【 VBAが使えるか 】 はい・いいえ
【 VBAでの回答  】 可・否
【 検索キーワード 】 Googleやヘルプでの検索キーワード
0007名無しさん@そうだ選挙にいこう垢版2019/09/30(月) 21:30:10.54
mdbでフォーム読み込み時にピクチャのリンク先設定するVBA使って動かしてたんだが
(Me!ピクチャ.Picture= 画像フルパスの文字列(gifファイル) の形)

2019のaccdbに変換したら実行時エラー2220 ファイルが開けませんと出て開けなくなった…
最初画像が壊れたのかと思って確認したけど普通に開けるしフォームから直接リンク設定すれば表示される
変換前のmdbなら全く同じ構文のまま2019でもエラー出ずに表示されるのにどういう事なの…
多分mdbのままで運営する事になるのかなと思うけど何故こうなるのか解せん
0009名無しさん@そうだ選挙にいこう垢版2019/10/05(土) 22:05:43.33
【 システム環境  】 Windows10, Access2019
【 VBAが使えるか 】 はい
【 VBAでの回答  】 否
【 検索キーワード 】 文字列結合

データを文字列結合させたいのですが、どうやれば良いでしょうか?

1 abc
2 wxy
1 def
2 z
3 jkl

というデータがある時

1 abc|||def
2 wxy|||z
3 jkl

というデータを作りたいのです。連結文字列は「|||」・「$$$」など変化する可能性があります(とりあえず|||になる予定です)
右側のフィールドが空になることは無いので、そこは考慮しなくても大丈夫です
0010名無しさん@そうだ選挙にいこう垢版2019/10/05(土) 22:41:06.06
まず軽く業務フローを書きます
受注→業務→PCにデータ登録→請求です

この受注データは
作業A 10000円といったもので
別途夜間割増などがつきます

この夜間割増があるときに
請求書に
○月○日 作業A 10000
○月○日 夜間割増 5000

と2行にわけてかきたいです

いまは、はじめに登録するとき売上を入力して
夜間割増にチェックをいれて割増金額をいれています
これは一つのレコードでおこなっています

これはやめて親子関係の親売上 子割増
というテーブルにするべきでしょうか?
0011名無しさん@そうだ選挙にいこう垢版2019/10/06(日) 00:21:52.51
>>10
割増の種類が今後次々と増える可能性があるなら親子にした方がいいけど
そうでなければ増える度に同テーブルで列追加でいいんじゃないかと思うよ
処理を記述するなら同テーブルの方が楽だから、それとDBそのものに手を加える手間とのバランスでどうするか判断すればいいかと
0012名無しさん@そうだ選挙にいこう垢版2019/10/06(日) 02:42:33.35
>>11
請求書にするとき

○月○日 作業A 10000
○月○日 夜間割増 5000

のように分けて表示できますか?
レコードごとにあるように、1行ごとに仕切り線をいれたいです

割増はよほどのことがなければ3つで固定です
0014名無しさん@そうだ選挙にいこう垢版2019/10/06(日) 13:47:31.06
>>13
データの移行元が前者、データの移行先が後者の形になっているためです
本来は移行先も前者の形で使うものなのですが、使いにくいので1レコードにまとめてほしいと利用者からの要望なのです
0018名無しさん@そうだ選挙にいこう垢版2019/10/10(木) 08:08:15.02
【 システム環境  】 Windows10, Access2016
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 リレーション

前方一致でリレーションを繋ぐことは出来ますか?

○取引先テーブル
A社 北海道札幌市1-1
B社 北海道函館市1-2
・・・

○市区町村テーブル
011002 北海道札幌市
012025 北海道函館市
・・・

○作りたいもの
A社 北海道札幌市1-1 011020
B社 北海道函館市1-2 012025
・・・

vbaは使えないです、よろしくおねがいします
0019名無しさん@そうだ選挙にいこう垢版2019/10/10(木) 09:42:58.88
>>18
リレーションはクエリかテーブルに「独立したカラム」として存在している場合しか繋げないので無理
素直に、市区町村とそれ以降をわけましょう
A社 北海道札幌市 1-1

さらに、
取引先テーブル
id, 社名, 市区町村id, 住所

市区町村テーブル
(市区町村)id, 市区町村名
のようにしておいたほうがいいです。

VBA経由で正規表現使えば、これまでのテーブルのままでも可能だけど、
いまのデータの持ち方はよくないので、直したほうがいいと思います。
0021名無しさん@そうだ選挙にいこう垢版2019/10/11(金) 08:25:44.95
>>20
おい!
おまえは、桐にしとけ
0023名無しさん@そうだ選挙にいこう垢版2019/10/12(土) 15:01:44.63
すみませんが教えてください
かなり以前にアクセスでアプリを作成し、データとアプリを分離して、パソコン数台でデータを共有して運用してました
この度、新しいHDDにデータを移すのですが、データ参照場所の指定の仕方がわかりません
以前分離した時は、作成したアプリをコピーして配布した気がします
よろしくお願いします
0024名無しさん@そうだ選挙にいこう垢版2019/10/12(土) 16:52:50.50
そんなレベルなら止めといた方がいい
以前がどのくらい前なのか知らんが、ずっと蓄積してきたデータを迂闊に消し去っても
責任とれる? 近隣のシステム開発屋さんでAccess案件可能な所に相談しな

複雑な作りしてなきゃリンクテーブル張ってるだけだろうから、Accessがインスコされてる
端末でリンクテーブル張り直してキチンと動作するか確認してから、その端末のアプリ
を各PCにコピーすりゃ動作するだろうけど、ホントにそれだけでいいかは開発した人間に
ちゃんと確認するなり近隣の・・ に確認してもらわないと、思わぬ被害・損害を被る
でっかい授業料払う覚悟あるなら自己責任で

PC一台壊しても十万位で済むけど、会社の重要データ復旧できなくしたらどうなるかは
0025名無しさん@そうだ選挙にいこう垢版2019/10/12(土) 21:32:11.52
まあまあ、そんな厳しく指摘しなくても...
>>24の言うとおり、リンクテーブルマネージャでリンク先を更新すれば良いと思うよ
ただし、VBAのOprnDatabase関数で実ファイルを参照していると思うから、
検索してConst関数で指定しているようなら、そこを修正
何らかの自作関数を参照しているなら、そこを解析
やってみたけど意味不明状態なら、どう制御されているか、ここで再質問かな
0026名無しさん@そうだ選挙にいこう垢版2019/10/14(月) 15:54:03.42
23です
お答えありがとうございます
今はリンクテーブルマネージャーが出てこなくて困っています笑
なぜか2台とも出てきません
故障なのか、使い方が悪いのか???
焦ってアクセスをアンインストールしたら再インストールに手間取って、もう泣きたい気分です
仰る通りリンクテーブルにしてアプリを配布しただけです
ローカルテーブルに戻してからまたリンクテーブルに戻して配布すればいいんだなといまはかんがえています
リンクマネージャーが使えるパソコンが1台はあるので、それでチャレンジしてみようと思います
全部プロに丸投げしたいのですが、高いこと言われるんじゃないかと思うと踏み切れませんでした
ちな、1カ所ではHDDのデータ復活には20−30と言われました
かなり以前に自分でマクロで作ったアプリなので愛着があってまだ使っています
まだ先はありそうですが取り敢えずありがとうございました
0027名無しさん@そうだ選挙にいこう垢版2019/10/14(月) 16:02:43.92
頭に0をつける時、何か楽にする方法はありますか?
今はクエリを作成してformatで"000000"、テーブルにし、元のテーブルと置き換え…という手順を取っています
0028名無しさん@そうだ選挙にいこう垢版2019/10/14(月) 16:15:10.14
表示ならフォームで、印刷ならレポートで
その形でデータ持ちたいならデータマクロか入力規則で
0029名無しさん@そうだ選挙にいこう垢版2019/10/14(月) 16:24:09.66
質問が雑すぎてよくわからんけど、
入力時に0を付けたいなら、入力規則なりVBAで整形するなりすればいいし、
テーブルにあるデータを変えたいだけなら、更新クエリで一発
0031名無しさん@そうだ選挙にいこう垢版2019/10/14(月) 17:42:56.28
横だけど、クラッシュしたHDDからのデータ復旧ならその辺りが相場かも知らんが
データベースの機能使ってテーブルのデータ削除したのを元通り とかの作業だと
それを復旧させるには記録媒体の履歴を復活させるのに数日掛かるし、履歴が
キチンと残ってる可能性は極めて低くて10%は喪失したままの残骸が複数ファイルとして
ようやくサルベージできるレベルだぞ   そんなデータが信用おけるか? っつーと、まず無意味

例えば売上データとかで、紙媒体として最新の記録は別に残っている とかのケースなら
それと突き合わせで比較できるからまだマシだが

言いたいことは、ファイルのリカバリとDBMSのリカバリはやることが全く違う
し、相場で数十倍費用が違う 昨今簡単にリカバリできると思い込んでる連中が多いが
そういう発想でDB扱ってると痛い目に遭う  ということを強く言いたい
安易にレコード削除に繋がる操作をするな、と バックアップは意識して残せ、と

イメージできるサイト  https://www.oracle.com/technetwork/jp/articles/index-155208-ja.html
0035名無しさん@そうだ選挙にいこう垢版2019/10/14(月) 21:20:31.70
・DAOは古くて安全。参照設定不要
・ADOは参照設定が必要
って認識

でも今となってはADOも十分枯れた技術になってきているのでどっちでも良いと思う
参照設定が嫌いだからDAO使ってるけど、基本クエリ使うからコードもほとんど変わらない
0041名無しさん@そうだ選挙にいこう垢版2019/10/15(火) 15:10:01.82
【 システム環境  】 Windows10, Access2016
【 VBAが使えるか 】 はい
【 VBAでの回答  】 否
【 検索キーワード 】複数フィールド access 削除クエリ等

削除クエリで質問です

複数フィールドを指定するとandでフィルタされますが、
これをorでフィルタする方法はありますか?

クエリを分けるしかないでしょうか
0042名無しさん@そうだ選挙にいこう垢版2019/10/15(火) 16:37:59.20
ADOだと、一々、set nothing する必要がメンドイ
0043名無しさん@そうだ選挙にいこう垢版2019/10/15(火) 18:38:00.51
【 システム環境  】 Windows10, Access2016
【 VBAが使えるか 】 はい
【 VBAでの回答  】 否
【 検索キーワード 】複数テーブル like delete、指定されたテーブルから削除できませんでした

NGワードを設定し、テーブルからdeleteしたいのですが、
うまくいきません

メインテーブル
https://i.imgur.com/t8YbdY6.png

Ngワードのリスト
https://i.imgur.com/1cWBo8x.png

削除クエリ(うまく動きません)
https://i.imgur.com/1cWBo8x.png

表示すると消したいデータは一覧で表示されますが、
実行すると「指定されたテーブルから削除できませんでした」と出ます
お助け下さい
0051名無しさん@そうだ選挙にいこう垢版2019/10/15(火) 21:39:31.17
>>50
SQLビューにして
DELETE FROM main
WHERE EXISTS (SELECT NULL FROM ng_word WHERE main.namae LIKE "*" & ng_word.word &"*")
を上書き貼り付けして実行

初心者向けのSQLだとは思わないので、VBA使えるなら一文字ずつng_wordテーブルから持ってきて
ループさせて変数に保持して、ループ内で簡単なDELTE文使えばいいと思う
SQLは沼
0052名無しさん@そうだ選挙にいこう垢版2019/10/15(火) 22:07:25.08
>>51
す、凄い・・・うまくいきました
少し教えて頂きたいのですが

・SELECT NULL
これは少しでも軽くするためにNULLにしているということでしょうか

・FROM ng_word
これはFROM ng_word,main とは書かなくても良いのでしょうか

サブクエリこわいので、しばらくはvba覚えようと思います・・・
0053名無しさん@そうだ選挙にいこう垢版2019/10/15(火) 23:02:42.13
>>52
NULLについては、値を使わないのでそう書いただけで、*でも1でもなんでもいいです。
SQL engineの実装の中身をみたことありませんけど、exists使ってる時点で、何をselect
してるかは無視していると思います。なので、パフォーマンスにも差はないと思います。

DELETE from main
WHERE EXISTS (SELECT ...)
は、
mainテーブルのデータうち、()内の条件を満たすものを削除しろということなので、
()内ではmainの項目(main.namae)は使用可能です。
()の外側で与えられたmain.namaeに対して、()内でng_wordテーブルのデータで
条件チェックする、と考えるのが簡単ですかね

ここで、FROM ng_word,mainと書いてはいけない理由は、
SQLビューで、SELECT * FROM ng_word,mainと書いてもらえれば解ると思います。
0057名無しさん@そうだ選挙にいこう垢版2019/10/19(土) 23:47:14.70
https://qiita.com/AquaMeria/items/a4ffeff03b81e7d03abb

このエクセルのように

お客様コードが書かれた売り上げデータがあります
担当者名とお客様コードが書かれたマスターがあります。
同じお客様でも担当が2人いたりします

お客様コードから
担当1〇〇
担当2■■と
別カラムに表示する方法はありませんか

リレーションとクエリでやると1万データが9000になったり
11000になったりします
ジャスト1万データのまま担当を追加する方法はありませんか
0058名無しさん@そうだ選挙にいこう垢版2019/10/20(日) 03:27:51.15
>>57 それは何用でしょうか。
担当者の成績管理ですか。
顧客コード|担当
1|A
1|B
というマスターがあり、
実績テーブルに
顧客コード|売上額
1|¥1000
1|¥500
といった情報しかないなら、按分ルールがない限りは無理です。
顧客コード|売上額|担当
1|¥1000|A
1|¥500|B
なら集計できます。
それとも
顧客コード|売上額|担当
1|¥1000|A、B
1|¥500|A、B
みたいな加工をしたいということでしょうか。
0059名無しさん@そうだ選挙にいこう垢版2019/10/20(日) 07:57:16.08
>>58

イメージとしては1番下です。

顧客コード|売上額|担当
1|¥1000|A、B
1|¥500|A、B
みたいな加工をしたいということでしょうか。

そのとーりです。

何用かと言えば仕事の仕入データの管理で
メーカーから仕入れてお客様まで直送したデータを
担当が2人持ってるところがあり
あとで手作業でこれはどっちが聞いて
メーカー発注したの?とアナログな事はしないといけません

その際、今はお客様コードから担当が誰と誰だったのか、から調べて、2人にこれはどっち?と聞いていますが
aかbまで絞れると楽になります

うまく伝えられなくてすいません
006057垢版2019/10/20(日) 08:00:41.62
連投ですいません

accessのリレーションで
内部結合やら外部結合をすると

顧客コード|売上額|担当
1|¥1000|A、B
1|¥500|A、B
はならずに

レコードが増えて
顧客コード|売上額|担当
1|¥1000|A
1|¥500|A
1|¥1000|B
1|¥500|B
となってしまったりして
倍に表示されたりしてしまいます
006257垢版2019/10/20(日) 08:50:42.01
>>61
そーなんですね
access vbaはよくわからず。

やっぱりエクセルでどーにかした方が早そうですね
1万行とかで、
エクセルが開くのが遅すぎてaccess使ってみたいと思ったのです

少し考えてみます
0064名無しさん@そうだ選挙にいこう垢版2019/10/21(月) 10:34:48.92
これってそもそもの問題として1000円と500円のものをAとBが別に売ってるか一緒に売ってるかの区別ってどうやってしてるんだろう?
区別するフィールドあるんならそれで結合できるんでは
てかちゃんとあるよねえ?なかったら2重に計上してる可能性もあるから大問題だよ
0065名無しさん@そうだ選挙にいこう垢版2019/10/21(月) 16:57:22.14
かなり泥臭いやり方(VBAなし版 ただし、
仕入担当100人といった無限ではないものとする)
3個くらいに分けて書きますよ。
テーブル名 master
ID(auto)|仕入先ID:数値 |担当者:文字列
1 1 A
2 1 B
3 2 C
4 2 D

クエリー1段階目 同じ仕入先IDのなかでindexをつける Q_master
"セレクト" master.仕入先ID, master.担当者,
DCount("仕入先ID","master","担当者<""" & [担当者] & """ AND
仕入先ID=" & [仕入先ID] & "")+1 AS [index] FROM master;
0066名無しさん@そうだ選挙にいこう垢版2019/10/21(月) 16:57:56.49
クエリー2段階目 クロス集計っぽく担当1、担当2、担当3と列を振り分ける
グループ化して重複をまとめる
Q_masterCross
"セレクト" Q_master.仕入先ID,
DLookUp("担当者","Q_master","仕入先ID=" & [仕入先ID] & " AND index=1") AS 担当者1,
DLookUp("担当者","Q_master","仕入先ID=" & [仕入先ID] & " AND index=2") AS 担当者2,
DLookUp("担当者","Q_master","仕入先ID=" & [仕入先ID] & " AND index=3") AS 担当者3
FROM Q_master
GROUP BY Q_master.仕入先ID,
DLookUp("担当者","Q_master","仕入先ID=" & [仕入先ID] & " AND index=1"),
DLookUp("担当者","Q_master","仕入先ID=" & [仕入先ID] & " AND index=2"),
DLookUp("担当者","Q_master","仕入先ID=" & [仕入先ID] & " AND index=3");
0067名無しさん@そうだ選挙にいこう垢版2019/10/21(月) 16:58:13.32
クエリー3段階目 文字結合 Q_concat
"セレクト" Q_masterCross.仕入先ID,
[担当者1]
& IIf(IsNull([担当者2]),"","、" & [担当者2])
& IIf(IsNull([担当者3]),"","、" & [担当者3])
AS 担当者リスト
FROM Q_masterCross;
0068名無しさん@そうだ選挙にいこう垢版2019/10/21(月) 19:23:29.88
自己レス 2段目 わざわざdlookup使う必要もないな。
”セレクト” Q_master.仕入先ID,
Max(IIf([index]=1,[担当者],Null)) AS 担当1,
Max(IIf([index]=2,[担当者],Null)) AS 担当2,
Max(IIf([index]=3,[担当者],Null)) AS 担当3
FROM Q_master
GROUP BY q_master.仕入先ID;
0069名無しさん@そうだ選挙にいこう垢版2019/10/22(火) 12:35:00.32
>>68
定義域集計関数は遅いので
それの方が良いですね。
007057垢版2019/10/22(火) 16:45:03.89
皆様ありがとうございます。
メーカーのデータ
届先コード、届先名称、  商品名、仕入れ金額
1000、田中商店a、    たまご、100円
2000、田中商店b、    肉、300円
3000、鈴木運送事務所  野菜、200円
1000、田中商店a、    肉、300円


会社の担当データ マスタのような物
得意先名 届先名、     届先コード 担当者
田中商店 田中商店a、    1000 A
田中商店 田中商店b 2000 A
鈴木運送 鈴木運送事務所 3000 B
鈴木運送 太郎倉庫    4000 B
山田屋  田中商店b 2000 c

メーカーデータの届先コードを元に担当を探します
田中商店bに届けるパターンが
田中商店から頼まれる場合と
山田屋から頼まれる場合があり困っています

ーカーのデータ
届先コード、届先名称、  商品名、仕入れ金額 担当1 担当2
2000、田中商店b、    肉、300円 A c

このようにマッチング出来れば
田中商店bに届けたお肉は
田中商店か、山田屋のどちらかに売上するんだろうと思えます
007157垢版2019/10/22(火) 16:59:25.81
>>64

売上データとして

得意先名 担当 商品名 〔掲載されてないけど〕
田中商店 A たまご200円 〔田中商店a〕
田中商店 A 肉400円    〔田中商店b〕
鈴木運送 B 野菜300円  〔鈴木事務所〕
山田屋  c 肉600円   〔田中商店b〕


とあるので色々まぜたら識別は可能です
手作業ですが、、、
0072名無しさん@そうだ選挙にいこう垢版2019/10/22(火) 18:29:12.65
>>70
一例だけど以下のようにいくつかのテーブルに分けて構成すべきだと思う。

T_得意先
得意先コード(主キー),得意先名

T_届先
届先コード(主キー),届先,得意先コード

T_担当
担当者コード(主キー),担当者名

T_商品
商品コード(主キー),商品名

T_仕入
仕入コード(主キー),商品コード,仕入れ金額,仕入日,担当者コード

T_納品
納品コード(主キー),届先コード,仕入コード,納品日,担当者コード

仕入日や納品日は無いとは考えられないので付けた。
届先コード以外の主キーはオートナンバーで同じ名称の主キーでないコードは、長整数型で
リレーションシップして、同じフィールド名を結合しておく。
0073名無しさん@そうだ選挙にいこう垢版2019/10/22(火) 22:19:44.98
基幹システムから出力したプルーフリスト(CSVとかexcelとか)を
再加工する試みですか。
用例がわりと冗長的なので。さらにいうと、架空とはいえ
仕入れと売り上げのプロセスの違いを理解しているか、疑問が残る。
仕入れの段階では「届け先」は関係ないはず。

71に示す実績(ようするに売り上げ伝票)に届け先がリレーショナル
データとして格納(または表示)されていないのが、
そもそもの問題だと思います。
伝票入力時に届け先項目はありますか?(摘要欄で届け先を
テキスト入力するのではなく)
もし届け先も入力しているなら71のプルーフリストに
「届け先」も表示するよう、基幹システムのベンダーに有料依頼
するなどしてください。
007457垢版2019/10/22(火) 23:12:25.63
>>73
ご指摘ありがとうございます。
確かにデータが色々ダメなのです。
会社内にホストコンピューター?と言うものからデータを取り出してもらうのですが
社内の少しだけパソコンに詳しいひとが頑張って取り出してるレベルなので
データがこれ以上頑張れないと言われたので自分でなんとか繋げようとしている状況です。
外部委託して金を払ってでもして欲しいと心から思っております
0075名無しさん@そうだ選挙にいこう垢版2019/10/23(水) 00:46:21.88
>>74
ACCESSの話を離れ、ほぼ組織論になってくるけど
一連の書き込みを見てると、
・担当者とは(おそらく)提案営業と商品手配、
小売へのデリバリーまでやっている人。
・基幹システムでは売り上げ伝票に配送先が紐付けされていないか
プルーフリストでの出力が困難。
・ACCESSを使って知りたいのは、得意先ではなく「配送先」の
実績をもとに、誰が仕入れたのかの担当者の絞り込み。

私の中の小売り商流の概念からすると、かなり変わってる。
直の得意先が、「小売店」ではなく、おそらく貴方の
組織も卸業だとすると卸業を2つも挟むのは今時にしては珍しい。
(ただし、メーカーとしては同じ小売店直送でも、相見積もりか
何かの関係で、売りを立てる得意先が変わる、というのは
さほど珍しくない)
さらには、「仕入れた人の特定」が経理上、何のメリットがあるのか
もよくわからない。(仕入れ単価が、毎回スポット的で
「担当者」が見積書との照合・追認をする必要があるのか)

で、まず金をかけずに貴方が最初にすべきことは、リストを作って
くれた人と伝票入力オペレーターへのヒアリングです。
・ERPの標準機能で、ユーザー定義帳票ビルダーが実装されていて
それを使って出力したのか、直接、バックエンドDBにSQLを叩いて
出力したのか。
・売り上げ伝票には配送先項目や、担当者項目が実装および入力が
あるのかないのか。
007657垢版2019/10/23(水) 01:53:19.51
>>75
基幹システムというのは
おそらくコボルで動いています
最新のERP?とかではないです。
データ見るのも昭和の黒い背景の緑の線で描かれた画面からデータを見ます

データを出すのにコボルプログラムを書かないとダメだから難しいと毎回言われます。
過去に作られたバッチファイル?が何かで出せるやつだけと、少し修正して出せる程度の物しか出てきません

担当を調べるというよりは担当者毎の粗利を調べるのも手計算みたいなものです
仕入れがあり、売上もわかるけど、
これはどっちが売ったのか?
が紐付いてないよーなイメージです
データを見せれると早いのですがお得意様の名前などがあるので難しいです。
007757垢版2019/10/23(水) 01:58:08.25
>>65


>
> クエリー1段階目 同じ仕入先IDのなかでindexをつける Q_master
> "セレクト" master.仕入先ID, master.担当者,
> DCount("仕入先ID","master","担当者<""" & [担当者] & """ AND
> 仕入先ID=" & [仕入先ID] & "")+1 AS [index] FROM master;

とりあえず、これがなんとなく自分の力で出来そうなイメージです。、まず同じなのに重複しているものに番号振ってみます。
0079名無しさん@そうだ選挙にいこう垢版2019/10/23(水) 12:37:47.27
>>78
>データ見るのも昭和の黒い背景の緑の線で描かれた画面からデータを見ます

ということなのでメインフレームをCUIのコンソールで操作してる状況でしょう
PCとの接続も無理かと

それでもCSVとかでデータは取り出せてるらしいから
Excelで加工してAccessに取り込む事は出来てるのでしょう
ただ、その取り込んだテーブルのフィールド構成が妙というか正規化されていないのでしょう。
0080名無しさん@そうだ選挙にいこう垢版2019/10/23(水) 12:50:50.51
>>70
Excel使ってそのデータを>>72のように正規化する事をお勧めします
なお担当者についてのデータは記録されてないなら
扱えません
元々のデータベースは担当者を記録していないからです
仕様が変更になった時点で記録をするよう修正すべきだったということです

おそらく運用でごまかして来たのでしょう
悪手です
0081名無しさん@そうだ選挙にいこう垢版2019/10/23(水) 12:56:19.30
>>70
追伸
Excelで加工する際
主キーとなるフィールドはExcelでが設定出来ませんのでAccess
に取り込んでから追加設定したしてください
0083名無しさん@そうだ選挙にいこう垢版2019/10/23(水) 21:11:33.03
>>82
そんな商売もあるのですね。
オフコンとCOBOLとVT100の呪縛から逃れられない会社もあるんですね。
世の中広い
0084名無しさん@そうだ選挙にいこう垢版2019/10/23(水) 21:14:25.89
さすがに西暦2000年問題で、年のデータが2桁しかないDBは消滅したと思い込んでいました。
0085名無しさん@そうだ選挙にいこう垢版2019/10/23(水) 23:17:39.20
富士通のNetCOBOL? 今世紀のリリースだけど
値切るとCUIで納品される みたいな奴 システム屋が限界なのかも知らんけど
0086名無しさん@そうだ選挙にいこう垢版2019/10/24(木) 08:24:18.86
未だに伝票記帳環境が
CUIというのは組織の業績が著しく悪いか
逆に組織が巨大すぎてシステムが財務まで繋がってるために変えられない、
のどちらかになる。
その場合、一般社員が頑張る必要は本当はない。
やるとするなら、Accessかexcelに仕入れ、売上をなるべく素に近い形でインポートかけて、
担当情報を付加する、伝票の清書のような仕組み。
1仕入れが1売上に直結するのは
今のerpパッケージでも想定していないので工夫は必要。
小売店の納品時に受領証のサインくらい貰うんだろうから
配送営業の担当者についでに判子でも押してもらえば良い。
0087名無しさん@そうだ選挙にいこう垢版2019/10/24(木) 08:31:56.88
連投だけど、用例から邪推すると
食べ物扱ってるとして
この度の増税対応(軽減税率対応)
どうするんだ。
適格請求書、作れなさそうだけど。
0088名無しさん@そうだ選挙にいこう垢版2019/10/24(木) 12:36:10.56
>>87
それは俺も気になった
そもそも相談者から仕入れ金額は示されてるけど
販売金額はどうするのか開示されてないんだよね

軽減税率の対象外のお酒を頼まれたらどうするのじゃなと
008957垢版2019/10/25(金) 00:30:53.04
>>88
軽減税率とか、複雑なやつは、富士通さんにお願いしてると言ってました。
あと、、経理はオービック?が何か入ってて
お高いにつながってるよーで繋がってないシステムです
経理は凄く、しっかりしてますが
販売系のデータはいまいちと思います

オフコンって画面がまさに今の会社の画面でした
何とかエミュと画面に出て黒背景の緑文字で何かしら入力してます

システム変えないといけないと思いつつずーっといってる感じです
その場しのぎで、やりくりしてるから今更何がどーなのかわからんとの事です
009157垢版2019/10/25(金) 00:38:05.69
https://i.imgur.com/5UVEWsx.jpg

色々csvデータをお願いすると
こんな画面でプログラムを作らないといけないから、
となります。
私のイメージは、ボタン1つでデータは出てくるものだと思ってました
0094名無しさん@そうだ選挙にいこう垢版2019/10/25(金) 07:49:44.89
桐にしとけ
0095名無しさん@そうだ選挙にいこう垢版2019/10/25(金) 11:19:36.81
AUTHOR Y.SHINOZAKI 氏に頼むのがスジだが
これで何ができるかを知るために上にあるツールバーやメニューを
探ってみるのもひとつの手

ヘルプが充実してればそこから手立てを見い出せるケースも
ボタン系は迂闊に押すとすぐ処理するものも有ったりするので自己責任に成るけど
0097名無しさん@そうだ選挙にいこう垢版2019/10/25(金) 14:13:38.02
ずーっと前からそうだけど、仕様に明記されてないので、明日変わるかどうかは解らない
0098名無しさん@そうだ選挙にいこう垢版2019/10/25(金) 14:44:43.76
>>96
おお。10年使っても知らないことってあるもんだな。
これまでdocmd なんたらで
明示保存かけてたわ。
本当はレコードカーソル動かせば
勝手に確定するんだけど
普通の事務員さんからすると心地悪いんだって。
0100名無しさん@そうだ選挙にいこう垢版2019/10/26(土) 20:06:16.22
でも入力側は入力完了したつもりでいる事多いんだよね

入力したのに入ってない!と
登録ボタンで保存する設計なのに苦情来たこと何度か…
0101名無しさん@そうだ選挙にいこう垢版2019/10/27(日) 00:33:12.07
>>100 ローカルのフォームオブジェクトにデータソース
指定せず、保存の時に初めてサーバーにデータを
送る仕様なら、「保存」の明示はしやすいけど、
直でデータソースつなげるACESS標準の作り方だと
むしろパージしにくくない?
0103名無しさん@そうだ選挙にいこう垢版2019/10/27(日) 21:20:27.33
>>102
排他制御は?
0104名無しさん@そうだ選挙にいこう垢版2019/10/28(月) 01:14:40.40
>>103 横からだけど、トランザクションの排他自体は
sqlserverなどサーバーの機能・文法に従えば簡単だけど
データ引っ張ってきて、手直しして、書き戻して
の数分間に対する排他の標準的な技法がわからん。
対象テーブルにユーザーID欄を作って
埋めたり、消したりすることで、「入ってます」マーカーに
してみてるけど。
0105名無しさん@そうだ選挙にいこう垢版2019/10/28(月) 20:50:53.22
テーブルで通貨型選ぶと最初の書式が強制的に通貨固定になっちゃうのなんとかならんものかな
最初だと数値にして保存してももう一回開くと通貨に戻される

単に精度ある小数使いたいからこの型選んでるのに
0106名無しさん@そうだ選挙にいこう垢版2019/10/29(火) 06:49:37.69
>>105
十進数を使うとか
0107名無しさん@そうだ選挙にいこう垢版2019/10/29(火) 08:45:28.74
>>105
バカですか
0111名無しさん@そうだ選挙にいこう垢版2019/10/30(水) 14:00:39.25
>>108
魔法使いの開発工房 ですね
旧版はwebで公開されてます
0112名無しさん@そうだ選挙にいこう垢版2019/10/30(水) 14:13:03.98
>>110
フィールドは書式含めてコピペできますよ
それにフォームレポートならテーブルとは違う書式に出来ますし、コントロールもコピペできます
0113名無しさん@そうだ選挙にいこう垢版2019/10/30(水) 14:20:39.73
>110
ついでに、複数のテキストコントロールの書式をまとめて設定できますよ
0114名無しさん@そうだ選挙にいこう垢版2019/10/30(水) 14:29:48.05
>>110
もっと言うなら、書式はただのテキストですからコピペできます
0117名無しさん@そうだ選挙にいこう垢版2019/11/02(土) 20:45:50.45
例えば売上明細データの担当者の洗い替えとか嫌なので、
担当の配属期間をマスタで持たせようとしたら、どうしたら良いですか?
0118名無しさん@そうだ選挙にいこう垢版2019/11/02(土) 23:27:31.57
>>117
どういうことでしょう。
単純には担当マスターにそのまま開始日から終了日を付け足すだけですが。
おそらく、担当id1 の名前がどんどん変わっていく運用をしてるなら
それは間違いで
idは退職しようが異動しようが永久符番です。
売上に(一般的な設計では売上伝票の親情報テーブル)に永久の担当idを埋めるだけです
0120名無しさん@そうだ選挙にいこう垢版2019/11/03(日) 12:01:02.36
>>119
スレチかもだけど、私の前任者は津波の犠牲になったので頼れないんですが
0122名無しさん@そうだ選挙にいこう垢版2019/11/03(日) 12:41:06.60
>>117
>>118の指摘された通りですね
売上つまり商取引の1件毎に担当者IDを売上明細テーブルに入れるだけですね
またトラブル対応を含むアフタサービスでは、担当者IDで特定される担当者が対応し、担当者が退職なら、後任となる担当者が対応するという事でしょう
前任と後任の関係は別テーブルで記録すれば良いかと

この洗い替えが如何なるものか不明ですが
一定期間毎に担当を変える事と売上明細とは直接の関係は有りません
0124名無しさん@そうだ選挙にいこう垢版2019/11/03(日) 13:40:22.92
質問者は要件を明確に書いてちょうだい。
0125名無しさん@そうだ選挙にいこう垢版2019/11/03(日) 16:34:58.17
>>123
そうだとしても、それは売上明細には無関係だと思います。
過去の商取引という確定したことを変更することに意味は見いだせません。

売上明細に担当者IDを添えない方針の、特定の販売先に特定の担当を付けるなら

例えば
I社の担当がAさんからBさんに変更になったことは

販売先ID,担当者ID,就任日,離任日
I社のID,AさんのID,2019/04/01,2019/10/31
I社のID,BさんのID,201911/01,9999/03/31
とかいう風にテーブルに記録しておけば良いかと。

ただ、実際の商取引では担当が必ずしも応じられるとは限りませんので
やはり売上明細の一部に担当者IDを入れる方が実態を表す気がします。
0126名無しさん@そうだ選挙にいこう垢版2019/11/03(日) 18:46:58.40
>>118
idの担当者名を変えない運用にする場合、
転勤などでエリア担当者情報が管理不能になってしまい、
エリア別の過去データ集計に難儀することになります

要するにidはエリア担当者idとして機能しているのですが、
名前には担当者名を入れていて、その管理も必要といえば必要

となると、システム外で別途担当者の在任期間やエリア担当マスタみたいなのを用意するしかなく、
なんでこんな運用なのかは俺がやったんじゃないからしらねーよってなもんです
0127名無しさん@そうだ選挙にいこう垢版2019/11/03(日) 18:50:58.57
>>123
管理の上では洗い替えでOK過去の情報はいらないけれど、
数字を管理する上では、担当者自身の数字とエリア別の数字は過去に遡って変化をみる必要がある

単純にid増やすと1idが百万とかだから上に言えなかったんでしょうね
0128名無しさん@そうだ選挙にいこう垢版2019/11/03(日) 19:57:39.66
>>126
そういうコンセプトでいいんじゃないですか。
売上管理じたいは、いじりようのないパッケージを使ってるんだろうし。
たぶんプロが作ったものって必ずしもマスターとのリレーションシップだけに頼ってなくて
記録系は得意先名とか、担当者名まで保存してることが多いので、
もう一度、大元のデータを精査したほうが
無駄な開発をしなくても良いと思う。
0129名無しさん@そうだ選挙にいこう垢版2019/11/04(月) 09:43:28.00
>>126
酷いシステムに関わって、ご愁傷様です
よく今まで問題が表面化しませんでしたね
0132名無しさん@そうだ選挙にいこう垢版2019/11/06(水) 12:54:07.13
>>130
売上明細テーブルにエリアや担当者の氏名なんかを同時に記録するシステム

正規化を知らない新人がエクセルで組んだのに
似たのあったなあ
0133名無しさん@そうだ選挙にいこう垢版2019/11/06(水) 12:58:04.93
その新人の作ったエクセルのシートでは
担当者を毎回手入力するんですよwwww

そんで氏名の入力間違いがあって大慌てwwwww
0134名無しさん@そうだ選挙にいこう垢版2019/11/06(水) 12:59:14.09
そんなに著しく間違った運用ではないけど、補助的な集計ツール作るなら
1 佐藤、1 鈴木、2 田中があるとして
access側には
1 東京、2 神奈川のテーブルだけ持たせて、idで結合して
あとexcelに流してピボットかけるかな。
accessのクロスより使い勝手がいいので。
0135名無しさん@そうだ選挙にいこう垢版2019/11/13(水) 17:33:38.50
ちょっと皆に聞きたいです

環境
windows10 1903 64bit 更新プログラム最新適用済み
access2016 32bit 更新プログラム最新適用済み

で、テーブルに対して更新をかけると
「sqlが破損しています」とエラーが出ます
新規でmdbファイルを作成し、
簡単なテーブルを作り、
updateクエリにて実行すると、
where句が入っている場合のみ上記エラーが発生しています

officeの再インストールすると問題は出ません

更新プログラムだと疑っています

同じ状況の方はおられますか?
0136名無しさん@そうだ選挙にいこう垢版2019/11/13(水) 18:00:05.30
初心者です
データをファイルから参照してエクスポートしようとすると開くという表示ではなく保存になってしまってエクスポート出来ません
何故でしょう
0137名無しさん@そうだ選挙にいこう垢版2019/11/13(水) 18:11:20.23
エクスポートすると、対象データが外部ファイルに保存されます
0140名無しさん@そうだ選挙にいこう垢版2019/11/13(水) 20:36:01.00
>>136
エクスポートはAccess的には
外部ファイルに保存、です。

インポートは、外からaccess内のテーブルにコピー、です。

エクスポートでaccess上で表示動作が起きないのは、いちおう仕様どおりの挙動です。

さらに質問があれば何がしたいのか、無理に用語にせず、説明してください。
0141名無しさん@そうだ選挙にいこう垢版2019/11/13(水) 20:38:48.50
>>138
windows10限定ですか。
今日、シフト休だったから
私の作ったツールが動かないことで業務混乱してなきゃいいけど。
(会社の環境はwindows7 access2013か2016)
0142名無しさん@そうだ選挙にいこう垢版2019/11/13(水) 21:03:50.89
Win10だと単独除外がしにくいから入りやすいのはあるけどOS関係なしの模様
MSIインストーラーなら
Access2016→KB4484113
Access2013→KB4484119
Access2010→KB4484127 を削除してWindowsUpdateで再度入らないように設定

C2Rインストーラーなら
https://blogs.technet.microsoft.com/outlooksupportjp/2016/03/20/c2rclick-to-run-outlook-20132016/ を参考にバージョンを戻す
0143名無しさん@そうだ選挙にいこう垢版2019/11/13(水) 21:16:04.51
>>140
すみません、したいのはエクスポートじゃなくてインポートでした
解決しました

クエリに変更を加えたらその後実行するのは鉄則でしょうか
0144名無しさん@そうだ選挙にいこう垢版2019/11/13(水) 21:32:20.14
>>143
期待どおりの動作しなくて困るなら、動作確認はしますでしょうね。

それを鉄則というかは分かりません。
0145名無しさん@そうだ選挙にいこう垢版2019/11/15(金) 12:39:47.29
前回の、VBAでテーブル名に日本語使っていた場合とかの大規模なエラーは、
office insiderは英語圏しか参加者いないのか程度にしか思ってなかったけど、
今回のを見ると、office insider自体あまり機能してないのかもしれない
Access目当てでinsiderチェックしてる人なんて何人いるのか
0146名無しさん@そうだ選挙にいこう垢版2019/11/15(金) 16:24:53.55
Critical: Office Update breaks Access ? Query is corrupt






We’ve gotten reports from our clients, our colleagues and other posters that there is a huge problem with the Office 365 update that was released yesterday (November 12, 2019). The update causes an error where it may say:
0147名無しさん@そうだ選挙にいこう垢版2019/11/17(日) 12:19:42.60
>>146
MSの劣化止まらない
昔方がまともな動作してたよ
たいして機能増えてないのに
0149名無しさん@そうだ選挙にいこう垢版2019/11/17(日) 16:28:39.06
桐にしとけ
0153名無しさん@そうだ選挙にいこう垢版2019/11/17(日) 22:56:45.52
autoになったなら楽ちんじゃん
0154名無しさん@そうだ選挙にいこう垢版2019/11/18(月) 07:23:57.51
>>149
シンプルで心に沁みる言葉だな
0155名無しさん@そうだ選挙にいこう垢版2019/11/18(月) 07:27:39.29
>>152
このスレでautoはアウトじゃなくてautoexecだから
0156名無しさん@そうだ選挙にいこう垢版2019/11/18(月) 13:54:09.49
先週まで大丈夫だったけど
ついにやられた。
office365だけど、修正手順が複雑すぎてあきらめた。
どうしよ、結構、重要な業務に使ってるんだけど。
0157名無しさん@そうだ選挙にいこう垢版2019/11/18(月) 15:33:17.67
【 システム環境  】 Windows10, Access2016
【 VBAが使えるか 】 否(excelでは経験あり)
【 VBAでの回答  】 可

ACCESSに挑戦してます
社員テーブルに社員NO・氏名・課があります
メインの数値テーブルに共通の項目と課毎に入力するフィールドを作成予定で
フォームには共通項目とその課に該当するフィールドだけを表示させて
打ち込むようにしたい、と考えています

┏━━┓
┃氏名┃
┗━━┛
↓T_社員から自動取得
┏━━┓
┃課一┃
┗━━┛
↓課に該当する項目を表示し、数値を入力
┏━━━━━━━┓
┃共通打込項目一┃←表示
┗━━━━━━━┛
┏━━━━━━━┓
┃共通打込項目二┃←表示
┗━━━━━━━┛
┏━━━━━━━┓
┃課一打込項目一┃←表示
┗━━━━━━━┛
┏━━━━━━━┓
┃課二打込項目一┃←表示されない
┗━━━━━━━┛

上記みたいなイメージですが可能でしょうか
0158名無しさん@そうだ選挙にいこう垢版2019/11/18(月) 18:27:17.92
>>157
課によって入力項目変わるんですね。
課マスターに
打たせる項目をboolean(yes no)か
1 0で入れときましょう。
フォーム用のクエリーは従業員のidをもとに従業員マスター経由で課マスターから課の名前、
打たせる項目の制御値を出しましょう。
フォームでは打たせる項目制御値を配置して非表示にしましょう。
実際に打たせる項目の表示非表示は
どこで発火させるか、私も常々トライアンドエラーなので
オブジェクトのイベント(更新後処理など)で試してください
0159名無しさん@そうだ選挙にいこう垢版2019/11/18(月) 23:33:38.38
>>157
可能でしょう。いくつかヒントをお伝えします。

ヒント1
社員NO(主キー),氏名,課

T_課
課ID(主キー),課名
T_社員
社員NO(主キー),氏名,課ID

課名の入力間違いがあるといけません、二つのテーブルに分けましょう。そして、その両者を課IDでリレーションシップしてください。

ヒント2
コンボボックスのプロパティの
データタブにある値集合ソースをT_社員にして
連結列を1に
書式タブの列数を2、列幅を、0cm;(コンボボックスの幅)cmに
こうすると、見かけ上は氏名を選択して、実質は社員NOを選択することができます。

ヒント3
フォーム上で課毎の打込項目コントロ-ルは重ねることができます。
とはいえ、フォームを開いたとき全部を表示されると
みっともないので、まず、フォームの「開く時」イベントで課毎の打込項目全てを.Visible=falseにします。
社員NOを選択すれば課は特定できますから、そのコンボボックスの「更新後処理」イベントで

dim 課ID as long
課ID=Dlookup("課ID","T_社員","社員NO ="&Me.[社員NO])

とかで課IDを取得し、それをselect case文で使って、それぞれのCASEに該当するものだけ.Visible=trueにし、それ以外は.Visible=falseにします。

不明な点があれば、追加で聞いてください。
0160名無しさん@そうだ選挙にいこう垢版2019/11/19(火) 01:15:40.60
不具合関連
https://support.office.com/en-us/article/access-error-query-is-corrupt-fad205a5-9fd4-49f1-be83-f21636caedec
このドキュメントが言ってるのは
update系のクエリーで
テーブルの対象レコードを直接的にフィルターして
update sqlをかけるとコケるから
一回、テーブルを単にセレクト * from tableとしたクエリー
作って、対象をそのクエリーに置き換えろ、
ってことなのかね。

エライこと面倒くさい。
0161名無しさん@そうだ選挙にいこう垢版2019/11/19(火) 11:50:28.54
>>158-159
ありがとうございます!
非表示にするということは非表示項目は歯抜けになっていくイメージですよね
非表示は詰められるといいなぁと思ってましたので考えます

また別件ですが売上を記録していくDBで売と買で売上が発生して
更に複数人に売上がつくケースもあるのですが
その場合、売と買で別々の売上テーブルを設計したほうがいいでしょうか
項目は同じだから同じテーブルにまとめたほうが良いですか?
0162名無しさん@そうだ選挙にいこう垢版2019/11/19(火) 12:38:42.34
>>161
一緒でいいです
売買は買が発生して完結します

売の個数>買の個数なら、売状態が継続ですね
0163名無しさん@そうだ選挙にいこう垢版2019/11/19(火) 13:04:00.23
とりあえず、テーブルの名前を集めて一時ファイルに保管し
片っ端から頭に"t_"をつけてリネームし、
単なる"SEELECT * FROM t_なんちゃら"
をSQLとするクエリー(クエリー名を元のテーブル名)を保存する
module 作ってみた。
単なるテキストファイルなので参考まで。
https://thuploader.orz.hm/miniup/?mode=edit&;id=5699
危ない場所があったら、ご教示ください。

戻すときは、sub modosu です。
0164名無しさん@そうだ選挙にいこう垢版2019/11/19(火) 14:39:20.02
>>162
ありがとうございます

更に質問なんですが、売上種別みたいなものをもって
支払いも売上テーブルの中に入れてよいですかね

また直接的な商品・エンド顧客がない売上(紹介料など)を
その売上テーブルに入れるか分けるか悩んでいるのですが
どちらが良いですか?

今イメージしているテーブルを貼ってみます
アドバイスいただければ幸いです
https://imgur.com/Wy0P12k.jpg
0165名無しさん@そうだ選挙にいこう垢版2019/11/19(火) 14:56:13.78
>>164
横からだけど売上テーブルに商品名入れといたほうがいいよ。
一年も他の人に打たせてたら、
商品番号1 みかんを
りんごに変えるアホンダラが発生するのでこれまでの売上が全部、りんごになる。
商品名欄を儲けることで商品番号999 販売促進費としておいて、
売上のときに(広告協賛費)みたいに自由に書くことができる。
得意先ってあれやこれやの意味不明な逆請求を頻繁にかけるから。
0166名無しさん@そうだ選挙にいこう垢版2019/11/19(火) 15:26:10.43
>>165
ありがとうございます!

ボカしたせいですね、申し訳ないです
商品は不動産なんですよね

なので、他業者が買い取りして、それをウチで再販することがあったり
購入者が事情があってすぐ売り出すことはあっても基本同じ商品が
売に出ることはないないんですよね
なので上記のような設計になりました!
0167名無しさん@そうだ選挙にいこう垢版2019/11/19(火) 23:15:50.44
>>164
対価を受け取る行為も商品として扱って良いと思います。
それを決算時に会計処理上分ける予定なら、それだけを取り出す
選択クエリを作ればよいのです。

>>165
売上テーブルには商品コードだけで十分ではないですか?
ただし、フォーム上では商品名として表示させる工夫は必要でしょう。
テキストボックスのコントロールソースに商品コードから
商品名を導き出すdlookup関数を使ったコードを置くとか
>>159のヒント2の様な方法で表示は可能でしょう。

コードは裏方です、商品名のフリをした商品コードにするだけで
かなり使い勝手は良くなります。

また、フォーム上に非表示のコントロールを置いてそれで制御するとかも

売上フォームでは、備考フィールド以外はコードと数値の羅列のテーブルをレコードソースにすれば足りますし、徒にファイルサイズを大きくしません。
0168165垢版2019/11/20(水) 09:01:22.33
>>167
実績系はこーどだけ保持していればよいかの話。
業態による。
質問者の例は、商品は使い回さないので、コードだけで可。
この場合の商品マスターは実は売上明細そのものだったりする。
利用可能な業態としては労務提供、受託開発、建築工事不動産など。
いっぽうプロパー商品(決まったものを何回も仕入れて売る)は、マスターに動きがある可能性を
考えるべき。
売上明細をコードと個数だけ、あとは参照としましょうよ。
165で書いた「みかん」を「りんご」に上書きするバカがいると
過去のみかんの売上がすべて、りんごの売上になりますよね?
これを内部統制で禁止しましょう。
じゃあ「みかん」の仕入値は刻々と変わるので建値も変えます。特売もあるかもしれません。
参照だと、過去のすべての売上が
「最新の単価」で実績化されます。
さらにマスターの単価などの編集を内部統制で禁止しましょう。
商品1 みかん100円、2 みかん103円 3みかん95円 というマスターができて「マスター」の役割がやや揺らぎます。

リレーショナルデータベース開発で、最初に失敗しやすい事象です。
0169名無しさん@そうだ選挙にいこう垢版2019/11/20(水) 09:37:00.18
>>168
上書きするのは、それが出来てしまうからなんですよね。
内部統制という運用でなんとかするのは、無理なこともあるのでは?
>>165の事例はまさにそれです。

商品名に変化が無いなら、その商品名を商品マスター以外に置くのが良いと考えます。
仕入値や個数などはマスターに置くべきですが
0171名無しさん@そうだ選挙にいこう垢版2019/11/20(水) 16:29:41.20
>>170
同じく
0172名無しさん@そうだ選挙にいこう垢版2019/11/20(水) 19:16:24.88
2016のC2Rだけど、メッセージ出たからアプデ止めた
KB探したけど無かったから(探せなかっただけ?)
Accessだけ起動してアカウントの Office 更新プログラムやったら
なんか入ってきて、「クエリ”は破損・・」のメッセージ出なくなった めでたし?
0173名無しさん@そうだ選挙にいこう垢版2019/11/20(水) 21:07:10.33
ページ更新されてた 修正予定が前倒しになった模様
https://support.office.com/en-us/article/access-error-query-is-corrupt-fad205a5-9fd4-49f1-be83-f21636caedec

11/20の現状対策済なのは
Access2016 MSI版・C2R版
Access2019 (ボリュームライセンス版除く)
Office365
これらは今最新版に更新もしくは対応のKBインストールすれば直る

あとは11/23頃にAccess2010・Access2013
12/10頃にAccess2019ボリュームライセンス版の更新で修正される模様

>>172
C2RにはKBのアップデート無いよ Office単体の更新プログラムだけしか来ない
0174名無しさん@そうだ選挙にいこう垢版2019/11/20(水) 21:25:33.21
じゃあ、なんでメッセージ出なくなった? 更新試したの昨日の朝イチだけど?
前倒しが来てくれたのかな? とりま、めでたし?
0176名無しさん@そうだ選挙にいこう垢版2019/11/21(木) 00:38:07.32
2013だけど4484119が見つからない…
会社のだからよく知らないけどC2R版ってことですかね?
0179名無しさん@そうだ選挙にいこう垢版2019/11/21(木) 12:23:58.46
Acだけで起動して右画面に『Office 更新プログラム』と『バージョン情報』の
二つが縦に並んでるのが C2R
RuntimeはKB入る  そんな感じ?
0180名無しさん@そうだ選挙にいこう垢版2019/11/21(木) 17:39:10.91
>>157です
おかげさまで個人の月毎売上合計クエリまでは作成できました
次に課毎の売上を出そうと思ったのですが詰まってます

https://www.accessdbstudy.net/entry/20080419/p1
上記URLを参考にもとになる社員一覧テーブルと異動があった場合に記録していく異動テーブルを作りました

過去の売上を出す場合、その契約日当時の課を出したいのですが
売上が同一な移動前と異動後の課が表示されてしまいます
https://imgur.com/YTKof4Y.jpg

とても初歩的なことで申し訳ないですがよろしくお願いいたします…。
0181名無しさん@そうだ選挙にいこう垢版2019/11/21(木) 21:35:45.02
>>180
配属日が契約日より前という条件だけでは足りません。
"where条件"ではなく"最大"にしてみてください。
そうすれば契約日の直前の配属日の配属先だけに絞り込まれるはずです。

なお、配属日と契約日が同日でも(つまり配属直後に契約でも)良いのですから
抽出条件は<=[契約日]が良いと思います。
0184名無しさん@そうだ選挙にいこう垢版2019/11/22(金) 10:50:33.83
>>181
ありがとうございます
早速試してみました!

ですが、最大にしても異動テーブルで複数記載している社員は
課が二つ出てきてしまいました…
ここがクリア出来たら、あとは入力値を詰めていって
フォームに取り掛かれると思ってたんですが…

https://imgur.com/RaTQZyV.jpg
0185名無しさん@そうだ選挙にいこう垢版2019/11/22(金) 11:10:05.82
ちなみにSQL文は以下のようになってました

SELECT T_配属.社員名, T_売上.契約日, Max(T_配属.配属日) AS 配属日の最大, T_配属.配属先, T_売上.仲介手数料, T_売上.仲介消費税
FROM T_配属 INNER JOIN T_売上 ON T_配属.社員名 = T_売上.社員
GROUP BY T_配属.社員名, T_売上.契約日, T_配属.配属先, T_売上.仲介手数料, T_売上.仲介消費税
HAVING (((Max(T_配属.配属日))<=[契約日]));
0187名無しさん@そうだ選挙にいこう垢版2019/11/22(金) 22:09:13.13
まじか!
0188名無しさん@そうだ選挙にいこう垢版2019/11/24(日) 11:28:19.17
何度も申し訳ございません
>>184-185で解決策がわかる方、どなたかいらっしゃいませんか…
異動問題がここを解決したいのですが、2日間自分で考えたり調べたりしても無理でした

最悪、月毎に全社員の所属情報を記録するテーブルでも作ろうとも考えましたが…
0189名無しさん@そうだ選挙にいこう垢版2019/11/24(日) 11:34:26.04
12月っていってたアップデート、365で来てたのね
早速適用して治ったわ。末までに来なかったらテーブル手作業更新の地獄が待ってた
0191名無しさん@そうだ選挙にいこう垢版2019/11/24(日) 20:15:58.26
ゆうパックで業務止まってたらしいし
月末系だとタイムカード集計で発生したら給与出せなく成るし TimeP@ckだっけ
月一しか使わない機能だと周知されてないと悲劇起きるな
0192名無しさん@そうだ選挙にいこう垢版2019/11/24(日) 23:57:14.71
他のバージョン使ってなんとかなったけど、2013 C2Rの修正12/10とか殺す気かよw
0195165垢版2019/11/25(月) 08:24:02.84
>>188
インスタントに答え求めるんじゃないよ。
だいたい皆さん、余裕があるときに書いてるんだから。
まずさ、その配属テーブルだけじーっと見てみ。
一行で「いつから」『いつまで』の配属か分かればもっと楽だよね。こっちも考えるけどおまいも
真剣に考えろ。
0196195垢版2019/11/25(月) 10:29:41.11
>>188
===Q_配属M===
"セレクト” TBL_配属M.RECID, TBL_配属M.社員番号, TBL_配属M.配属,
TBL_配属M.配属日,
DCount("配属日","TBL_配属M",[WHERE句])+1 AS インデックス,
"社員番号=" & [社員番号] & " AND 配属日<#" & [配属日] & "#" AS WHERE句,
[インデックス]+1 AS インデックス2 FROM TBL_配属M;
===Q_配属M2===
SELECT Q_配属M.RECID, Q_配属M.社員番号, Q_配属M.配属, Q_配属M.配属日,
Q_配属M.[インデックス], [Q_配属M_1].[配属日]-1 AS 転属1,
IIf(IsNull([転属1]),DateAdd("yyyy",100,[Q_配属M].[配属日]),[転属1]) AS 転属日
FROM Q_配属M LEFT JOIN Q_配属M AS Q_配属M_1
ON (Q_配属M.[インデックス2] = Q_配属M_1.[インデックス])
AND (Q_配属M.社員番号 = Q_配属M_1.社員番号);
0197196垢版2019/11/25(月) 10:39:39.19
続き
===売り上げとの紐付け
SELECT T_URI.RECID, T_URI.売上日, T_URI.売上,
T_URI.社員番号, Q_配属M2.配属, Q_配属M2.配属日, Q_配属M2.転属日
FROM T_URI LEFT JOIN Q_配属M2 ON T_URI.社員番号 = Q_配属M2.社員番号
WHERE (((T_URI.売上日)>=[配属日] And (T_URI.売上日)<=[転属日]));
やってること
クエリー1つめ、社員番号の配属先の古い順にインデックス番号を生成する
ついでに次のインデックスも+1で埋めて置く
クエリー2つめ、Q_配属Mを2つ並べる。1つめの「Q_配属M」の
「社員」および「インデックス2」と2つめの「Q_配属M」の「社員および」「インデックス」
を紐づける。尚、当然、空値もあるので、紐付けはLEFT JOINとする。
そのうえで、転属1: [Q_配属M_1].[配属日]-1(次の配属日の1日前)
さらに最後の所属の空値対策で、
転属日: IIf(IsNull([転属1]),DateAdd("yyyy",100,[Q_配属M].[配属日]),[転属1])
(最後の所属は、配属日の100年後)とする。
最後に、売り上げとQ_所属M2をつなげる。
Q_所属M2からは、(T_URI.売上日>=[配属日]) And (T_URI.売上日)<=[転属日])
を条件とする。
https://i.imgur.com/6WtnoHn.jpg
0198名無しさん@そうだ選挙にいこう垢版2019/11/25(月) 18:32:36.20
>>184
上手くいきませんでしたか、それは失礼しました。
既に他の方が回答されているようですが、これが私の回答になります。改めて以下の手順でやってみてください。

選択クエリを作成
T_売上とT_配属を表示させ
社員と社員名で結合
フィールドは以下の3つ
T_売上.*,配属日、配属先
配属日の抽出条件に
<=[契約日]
を入れます。
これをQ_売上+配属という名前で保存

これでそれぞれの契約日以前の配属日と配属先がT_売上に付加されます。
ただ、これには過去の複数の配属日が含まれます。

次に、別のクエリを作成
Q_売上+配属だけを表示させ
フィールドは以下の2つ
Q_売上+配属.*,配属日

配属日の表示のチェックを消して、抽出条件に
DMAX("配属日","Q_売上+配属","[社員]=" & [社員] & "AND [契約日]=#" & [契約日] &"#")
を入れます。
これにより、[社員]毎に[契約日]直前の配属日と配属先が特定されます。

このクエリとT_売上のレコード数は一致するはずです。
どうですかね?
0199名無しさん@そうだ選挙にいこう垢版2019/11/26(火) 10:12:50.86
レスが遅くなってしまい申し訳ございません
>>196さん、>>198さんお二人ともありがとうございます!
昨日は体調不良で何も出来てないので今日頑張ってみます!!

また催促するような真似をしてしまい申し訳ございません
以後気を付けます
0200198垢版2019/11/26(火) 12:55:46.92
>>199
一部訂正です
二つ目の抽出条件のANDの前後には半角スペース入れて下さい

ちなみにDMAXのような定義域集計関数は処理に時間が掛かる事があります
その場合はサブクエリに置き換える方法もあるのですが、エラーになることもあり
こちらをオススメします
0201名無しさん@そうだ選挙にいこう垢版2019/11/26(火) 19:56:35.44
>>188です
>>196さん、>>198さんのおかげで求めたいものが出せました!
ただご指摘にもあった通り、DMAXで計算時、重たいものとなってしまいました。
調べてみた限りだとVBAのほうが軽くなるみたいなので
やっぱりそっちも勉強していかないとダメですね

難しいと思って今まで逃げてきた道だけど、やっぱり難しい…
0202名無しさん@そうだ選挙にいこう垢版2019/11/30(土) 15:51:56.92
【 システム環境  】 Windows10, Access2010
【 VBAでの回答  】 可 SQLでも可

教えてください。

[日付] [店舗名] [購入品] [購入金額]

というフィールド構成のテーブルがあります。
このテーブルから、それぞれの店舗ごと、一番最初に買物をした日付と
その時の購入品、購入金額を抽出したいのですが、どうやればいいのでしょうか?
店舗ごとの一番最初の日付というだけならクエリを作れるのですが、
その最初の日付のときの購入品や購入金額も同時に取得することができません。

よろしくお願いいたします。
0203165垢版2019/11/30(土) 19:42:07.98
>>202
あえて一つのqueryに詰め込まないよ。
日付と商店だけ選択して
集計クエリーに変更
日付を最小値
これで一旦保存 q1
q1と元のテーブルを並べて日付と商店を線で結ぶ。

なお、同じ日に2アイテム買ったら
2アイテム出てくるのは、そういうもんだと思ってくれ。
0205名無しさん@そうだ選挙にいこう垢版2019/12/01(日) 09:21:16.30
>>204
先頭や最後は使わないです
https://www.feedsoft.net/access/sql/sql54.html
にもあるように望みのレコードを得られないことがあるのです
これはデータベースというのがハッシュテーブルというレコードの順序をあえてランダムに記録するテーブルだからでしょう
0206名無しさん@そうだ選挙にいこう垢版2019/12/01(日) 10:56:55.24
>>202
そのテーブルをT_購入履歴とするなら
そのテーブルの選択クエリ作って
日付フィールドの抽出条件に
=DMin(“日付”,”T_購入履歴”,”[店舗名]=“&[店舗名])
を入れる

当然だけど、一番最初の日付で複数の商品を購入してたら、クエリの結果もそれが反映されて
1店舗で複数のレコードが表示されるけどね

それから更に絞り込むかどうかは別の問題
0207名無しさん@そうだ選挙にいこう垢版2019/12/01(日) 11:37:47.12
>>206
自己レス訂正
抽出条件は
=DMin(“日付”,”T_購入履歴”,”[店舗名]=‘“&[店舗名]&”’”)
だった。
Criteriaでフィールド値を指定する場合
数値はそのまま
文字列はアポストロフィ'で挟む
日付は#で挟むんだったわ

これは定義域集計関数だけじゃなくて
フィルターでも同じ
0208名無しさん@そうだ選挙にいこう垢版2019/12/02(月) 21:34:29.00
【 システム環境  】 Windows10, Access2010

VBAのイミディエイトウィンドウにて

?30.76666666666667-29
 ↓
1.76666666666667

でOK、しかし

?30.76666666666667-30
 ↓
0.766666666666669

と結果がおかしい
どうしてでしょうか?
0209名無しさん@そうだ選挙にいこう垢版2019/12/02(月) 23:06:48.64
ヒント:有効数字、2進数の丸め
0210名無しさん@そうだ選挙にいこう垢版2019/12/02(月) 23:07:23.34
通貨型でやってみ
0211名無しさん@そうだ選挙にいこう垢版2019/12/03(火) 07:09:04.56
>>208
1.まずは、浮動小数点数というものを理解して、コンピュータでは実数を正確に
表せないので近似を使っていることを理解する
さらに、significant digitというものについて調べておく

2.現在使われている標準的な倍精度浮動小数点数の規格に準拠すると、「普通は」それぞれ
1.7666666666666693
0.7666666666666693
を返すことを認めましょう(ブラウザのjavascript consoleで試せます)

3. で、VBA独自の仕様として、「signiifcant digitは15を超えない」という規則があるため、
前者は、16番目の数の9を切り上げて
1.76666666666667
後者は、(0.xxxの0はsignificant digitではないので)17番目の3を切り捨てて
0.766666666666669
となります。
0212名無しさん@そうだ選挙にいこう垢版2019/12/03(火) 13:41:16.83
すげ。2ヶ月くらい前にも
この話題、出てたよね。
小数点4桁以下を扱う仕事を
したことないから、型の仕様の違いに気づくことなかったわ。
0213名無しさん@そうだ選挙にいこう垢版2019/12/03(火) 14:29:16.92
現在、毎日社員が件数を打ち込む日報なようなものを作成しています
EXCELでVBAを触っていたのでVBAの知識はそれなりにあると思います


課毎で項目が変わるのでフォームで課を入力すると、テーブルに保存してある
「課に適した項目・表示する箇所」をもとに抽出して、それをテキストボックスに項目を表示させます
また件数用のテキストボックスを作成して、そこに打ち込んだあと
登録ボタンを押すとテーブルに保存させるようにしました(ここまでは完成済み)


更に件数を打ち込んだ時点で自動的にテーブルに保存させれないかなと考えてハマりました

・テキストボックスの合計を保持するテキストボックスを使用してその値が更新されたらテーブルに保存
 →テキストボックスが60個あるので、似たような処理を全てに入れるのは大変
   →classを作成して、読み込もうとしてもエラーになって上手くいかない
     (classの冒頭で行うテキストボックスの宣言でエラーになる)

・サブフォームでフィールドを読み込んで出来ないか?更新を自動的に行えないか?
 →調べても出来ない状態

何か良い案あるでしょうか?
0214名無しさん@そうだ選挙にいこう垢版2019/12/03(火) 21:15:24.87
>>213
Access特有の仕様で、フォームにテーブルなとをレコードソースにしている限りは
入力後にそのコントロールを外れた瞬間に値の仮確定、
レコード移動ボタンやフォームを閉じるだけでレコードの保存が完了します。
レコードを移動しないで保存を完了するには、me.requeryや
>96さんご教示のme.dirty=falseなど。
課ごとの入力項目は、そういったテーブルを用意してテーブルのフィールド名を1レコード1フィールド名で保存、
フォームのコントロール名はテーブルのフィールド名と一致させておきます。
課選択後に入力項目テーブルを読みにいかせて、ぶん回して
me.controls(value).visible=true
enabled(入力可 不可選択)でもいい。
じゃあ、入力項目以外をどうロックするかだけど
入力項目のテーブルからいわゆる60項目を並べたものをクエリーにして
レコード移動時イベントプロシージャに入ったときに
このクエリーを読みにいかせ、
dbo方式なら
rst.fields.countでループ回数を取得、
ループに入ってから
rst.fields(変数).nameで名前を拾って
上記のような手法で全部、非表示にしてはどうでしょうか。
0216名無しさん@そうだ選挙にいこう垢版2019/12/04(水) 21:41:14.67
フォームあれこれ1

レコードソースにレコードが無いとフォームビューでコントロールすら表示されない。
レコードソースがテーブルで、レコードセットがDynasetなら新規レコードが常にありますからそんなことにならないのですが
選択クエリだと、選択の結果が0レコードってこともあるので、その場合はコントロールすら表示されず、背景がただ表示されるだけになります。

解決方法
選択クエリで対象となるテーブルどうしのリレーションシップを設定します。
リレーションシップで選択クエリと同じ結合をします。
主キー側が1、そうでない側が∞の表示になります。
フィールドの連鎖更新等のチェックは全部いれてかまいません。
これを1:多の結合といいます。
フォームビューを見る前に、選択クエリのテーブルビューで*が最後のレコードの次に表示されているか確認しましょう。
0217名無しさん@そうだ選挙にいこう垢版2019/12/04(水) 21:43:17.13
フォームあれこれ2

サブフォームとの連携はどうする?

メインフォームで選んでいるコントロールの値を選択条件の設定には
1 サブフォームのプロパティでリンク親フィールド(メインフォームのコントロール名)と
対応するリンク子フィールド(サブフォームのコントロール名)をそれぞれ指定する方法
2 サブフォームのレコードソースをメインフォームのコントロールの値で選択する設定をした選択クエリにする方法
があります。やりやすい方で良いかと
0218名無しさん@そうだ選挙にいこう垢版2019/12/04(水) 21:44:54.04
フォームあれこれ3

絞り込み機能付きの帳票フォームはサブフォームでないといけないの?

絞り込みということであれば、メインフォームのフォームヘッダに選択条件を設定するコントロールを置いて
その値で絞り込むことも可能です。
なお、絞り込みは、フィルターで設定するのが確実です。
0219名無しさん@そうだ選挙にいこう垢版2019/12/05(木) 18:59:41.03
今日は設計の失敗発覚。
サブフォームのフッターに合計式入れて、親フォーム(親テーブル)の同項目フィールドに代入するやり方、
あんましやらないほうがいいね。
あちこちのイベントにrecalc仕込んで置かないと、合計ゼロになったりサブの最後の入力レコードが
算入されなかったりする。
たぶん、親フォームのボタンアクションで、サブフォームのクローン取ってきてネストで合計作ったほうが確実なような気がする。
0220名無しさん@そうだ選挙にいこう垢版2019/12/06(金) 18:03:01.05
>>219
自分はフォームのコントロール同士で計算させるってのが考えるに面倒なので
レコードソースのクエリで計算させて
フォームはただそれを表示するだけにしてる

まあ合計や平均とかの集計値をフッタで表示させても良いんだけど、表示させるだけで
それを別のコントロールで参照してとか面倒に感じるのです

コントロールの表示って泡沫のようなもので
実態はテーブルにのみあるわけですからね
0221名無しさん@そうだ選挙にいこう垢版2019/12/07(土) 19:09:02.22
PCリカバリしたいんだけど
サポート終了したOffice再インストールすると
サポート期間中にリリースされたアップデートも
OfficeUpdateで取得できなくなっちゃうんろうか?
0223221垢版2019/12/07(土) 22:23:44.54
ごめん見つけた

Windows XP/Office 2003サポート終了後の「世界」:「XPサポート終了」の具体的影響 - @IT
https://www.atmarkit.co.jp/ait/articles/1402/19/news116.html
> ●サポート終了日以前にリリースされたパッチは引き続き適用できる
> ●アクティベーション(ライセンス認証)も引き続き実行できる
0224名無しさん@そうだ選挙にいこう垢版2019/12/10(火) 08:14:02.92
>>221
アップデートファイルのダウンロードページが消える事もあるので
それらもバックアップしてるよ
>>223
はダウンロードページの閉鎖はしないとは言ってない
0225名無しさん@そうだ選挙にいこう垢版2019/12/12(木) 08:56:52.28
リンクテーブルで
「テーブルのみデータファイル:accdb、プログラファイル:accdb」
の組み合わせより
「テーブルのみデータファイル:mdb、プログラファイル:accdb」
の組み合わせのほうが処理速度が断然早いね
少量規模(数百件)のデータでもすごい体感できるくらいに早い
テーブルのみだったらmdbでも十分ですね
0226名無しさん@そうだ選挙にいこう垢版2019/12/12(木) 09:25:32.22
Win10Pro 64bit Access2016 32bit

リンク元のファイル形式で処理時間を比較

◆10個のテーブルをADOXでリンクする時間
・accdb: 0.644秒
・mdb: 0.031秒

◆数百件のデータをADOでテーブルに追加しレコードソース付きのフォームを開くまで
・accdb: 0.625秒
・mdb: 0.109秒
0228名無しさん@そうだ選挙にいこう垢版2019/12/12(木) 16:48:26.36
Win10 Access2013
ためしにリンク後、以下のコードでやってみた
====================================
vTime = Timer
For i = 1 To 1000
Set rst = CurrentDb.OpenRecordset("SELECT * FROM テーブル)
rst.Close
Next i
Set rst = Nothing
Debug.Print Timer - vTime
====================================

mdb: 0.9843秒
accdb: 63.738秒

えらい違うな、2013でも体感できるわw
0229名無しさん@そうだ選挙にいこう垢版2019/12/12(木) 19:54:08.57
accdbになってからDAO推薦だろ
0231名無しさん@そうだ選挙にいこう垢版2019/12/13(金) 19:28:08.48
すみません、初歩的なことで申し訳ないです

連結しているフォームで呼び出されているデータをVBAで処理するコードってどうするんですか?
非連結ならSQL設定してレコードセットして、というのは理解してますが
そもそもそこにデータがあるのにわざわざ一から読み込む必要あるの?と悩んでます

「連結フォーム VBA」で検索しても「非連結フォーム VBA」の結果ばかりでて困ってます…
0235名無しさん@そうだ選挙にいこう垢版2019/12/15(日) 21:07:15.21
たしかにテーブルのみとのリンクのファイル形式はmdbのほうが処理速度がはるかに速い
リンクする処理だけでも差が出るが、何故だ?
0236名無しさん@そうだ選挙にいこう垢版2019/12/16(月) 09:39:49.82
【 システム環境  】 Windows10, Access2019

コントロールソースに=Format(Now(),"yyyy/mm/dd")のあるテキストボックスのフォームを
2019でaccde化したファイルを2013で開くと#NAMEと表示され正常に表示されません。
2013でaccde化すると問題なく表示されます。
2019は前バージョンとの互換性がないのでしょうか?
0237名無しさん@そうだ選挙にいこう垢版2019/12/16(月) 10:05:17.35
vba画面開いて、どっかに1文字足して、また1文字引いて元に戻して、再コンパイルすると、直る予感
0238名無しさん@そうだ選挙にいこう垢版2019/12/16(月) 15:35:52.69
<<237
再コンパイルもダメで、mdbに変換しmde化もしてみましたがダメでした
0240226垢版2019/12/16(月) 23:48:08.63
リンクテーブルのファイル形式で処理速度に差が出る件、
パスワードの有無で差が出るこが判明!

>>228
のコードをFor i = 1 To 100で実行

accdb(パス無) :0.289
accdb(パス有):9.343 *
mdb(パス無):0.258
mdb(パス有):0.234

OS、Accessの以下の組み合わせ
Win10 acc2010〜2019
Win7 acc2010〜2019
すべてでほぼ同様の結果でOS、Accessの組み合わせは関係なし。

結論:
パスワードありaccdbにあるテーブルとのリンクは極端に処理が遅くなる。
0241名無しさん@そうだ選挙にいこう垢版2019/12/17(火) 10:00:49.25
>>239
はい、以前Access95や97の時代にDate()で
#Nameエラーが多発したのでそれ以来Now()を使い続けています。
ちなみに今回のソースをDate()に変えてもダメでした。
0242名無しさん@そうだ選挙にいこう垢版2019/12/17(火) 14:28:09.45
>>241
試し方が、結構access使いなれてる感じですね。
軽くググったら
これは釈迦に説法だけど、フィールド名、ユーザー定義関数に
まんまdate nowと名付けたらエラー、
あとvb6ランタイムの
mscomctr.dll msctrctr2.dllというワードが出てきた。
0243名無しさん@そうだ選挙にいこう垢版2019/12/17(火) 18:46:52.22
>>240
それ、どっかに書いてあったで、hatenaなんとかかな
0244名無しさん@そうだ選挙にいこう垢版2019/12/17(火) 22:24:14.74
hatenaのはパスワードかけるとそのファイル内の削除クエリが遅くなるやつじゃね?
それならMicrosoft Security Essentialsが原因とか書いてたが...
>>240
はMicrosoft Security Essentials関係なく遅くなる。
どちらにせよaccdbの暗号化(パスワード化)は色々と問題ありそうだ
0245名無しさん@そうだ選挙にいこう垢版2019/12/18(水) 07:49:56.27
>>242
ありがとうございます。
それは、参照設定で参照不可が発生している問題ですね
その辺も全部チェックしましたが問題ありません。
結局2010でaccde化して配布することにしました。
0246名無しさん@そうだ選挙にいこう垢版2019/12/21(土) 16:47:47.98
Office2010で使ってましてQRコード使いたくてAccessだけ2016にしてたのですが
20日のアップデートでQRコード使えなくなりました
2016だけ再インスコで回避できたのですが
参照設定のBarCode Controlが14.0のままで
レポートのActiveXコントロールが16.0になってる辺りを疑ってるのですが
解決策ご存じの方おられませんでしょうか
0249名無しさん@そうだ選挙にいこう垢版2020/01/11(土) 16:57:13.83
>>248
可能
ただしExcelの参照設定をいじる必要あるかも
0250名無しさん@そうだ選挙にいこう垢版2020/01/12(日) 17:20:29.55
>>248
確か、office2013が入ってるところに、access2016runtime入れるな
って注意書きがあったけど、
特に問題は起きていない。
ただ、VBAコード書いてruntimeに配布するときは、
on errorなんちゃらの処理をちゃんと書かないと、バッサリ落ちるので
ユーザーである社内の人間から白い目で見られるから、
面倒くさいんだよね。
製品版だと問題行で一時停止するんだけど。
わかってるつもりだが、いまだに忘れがち。
0251名無しさん@そうだ選挙にいこう垢版2020/01/16(木) 15:50:02.36
ナビゲーション ウィンドウをF11キーで表示した後、
再度F11キーで最小化されますが、
最小化ではなく非表示にする方法はないでしょうか?
VBA・マクロ以外の方法が見つかりません。
0252名無しさん@そうだ選挙にいこう垢版2020/01/16(木) 21:38:58.40
ACCESS2013だけど、クエリで選択した複数のレコードを1件のデータで管理したい場合どうすればいいですか?

例えば、在庫表の[ミカン、リンゴ、ブドウ]の3レコードを選択クエリで抽出して、これを1月16日にA宅に出荷したとします。
普通は1レコード単位でフォームに表示したりして管理すると思いますが、選択クエリの時点で3レコードに分かれているので、後で見ると単票フォームで表示できないので管理しにくくなってしまいます。

何か良いアイデアありますか?
0254名無しさん@そうだ選挙にいこう垢版2020/01/17(金) 07:55:44.79
>>253
有難うございます。
メインフォームに出荷日や出荷先を入力して、サブフォームに帳票フォームを入れようと思ったのですが、メインフォームとサブフォームのレコードに同じ番号(連番)を振ることって可能ですか?

例えば
[メインフォーム]1月17日 A宅に出荷 ID1
[サブフォーム]リンゴ ID1 ミカン ID1

メインフォーム]1月18日 B宅に出荷 ID2
[サブフォーム]リンゴ ID2 ミカン ID2

のように、同じIDでリレーションシップの1対多で管理するような感じにしたいです。
メインフォームのIDはオートナンバーで、サブフォームのIDは=メインフォーム!IDのような感じに出来ますか?

よろしくお願いします。
0255名無しさん@そうだ選挙にいこう垢版2020/01/18(土) 16:18:03.73
SetFocus使うとOpenイベントの途中でLoadイベントが発生する

Private Sub Form_Open(Cancel As Integer)
  Debug.Print "Form_Open Start"
  Me.SetFocus
  Debug.Print "Form_Open End"
End Sub
Private Sub Form_Load()
  Debug.Print "Form_Load"
End Sub
Private Sub Form_Activate()
  Debug.Print "Form_Activate"
End Sub

誰にも言うなよ
0256名無しさん@そうだ選挙にいこう垢版2020/01/18(土) 16:40:54.31
知ってた、次期Accessでは無くなるし
0257名無しさん@そうだ選挙にいこう垢版2020/01/18(土) 16:51:54.24
>>254
連鎖更新で同期は可能だけどリレーションシップまで理解してるなら分かるよね。
0259名無しさん@そうだ選挙にいこう垢版2020/01/18(土) 17:41:49.57
ヘルプに記載無い挙動は、しょっちゅう変わるし
0260名無しさん@そうだ選挙にいこう垢版2020/01/18(土) 18:02:52.64
>>258
マクロなら動くけどVBAで組んだイベントプロシージャが動かなくなったことは良くある

あと参照設定のバージョン違いで同じコマンドやメソッドの動きが変わるとかもあったな
いずれも迷惑なこっちゃで

>>259
ヘルプに無い挙動っていうと、単項式の評価は0以外はTRUEなんだけど、
たぶんそれ明示されていないんだよね。それを使った処理は危険だな
きちんと比較演算子で評価させよう
0261名無しさん@そうだ選挙にいこう垢版2020/01/18(土) 19:33:32.37
普通に開いたフォームと
New Form_フォーム名で開いたフォーム
識別方法ってある?
Openイベントで処理変えたいんだわ
Visibleが使えるかと思ったがダメだった
0263名無しさん@そうだ選挙にいこう垢版2020/01/18(土) 21:35:03.82
「白いネコでも黒いネコでもネズミを取ってくるのがいいネコだ」@ケ小平
よって、共産党としてはフォームを開いた後に区別する方法は用意していない
0264名無しさん@そうだ選挙にいこう垢版2020/01/19(日) 16:10:38.96
本社と支社間のように離れた場所と共有する場合に、簡単で無料でする方法ってある?
テーブルデータ(バックエンド)がwebやクラウドにあるイメージ。
最大でも3〜4人しか同時に使わない。
0265名無しさん@そうだ選挙にいこう垢版2020/01/19(日) 22:44:28.30
Azure でドウゾ
0267名無しさん@そうだ選挙にいこう垢版2020/01/21(火) 08:25:15.41
VPNルーターで拠点間通信
0268名無しさん@そうだ選挙にいこう垢版2020/01/23(木) 20:03:56.96
この前Win10にアップグレードしたんだけど
VBエディターで縦スクロールすると
分割ウィンドウにした時のような横線が入って
画面が乱れるときあるの俺だけ?
スクロールバーを上に向かって動かすとなりやすい
0269名無しさん@そうだ選挙にいこう垢版2020/01/24(金) 06:50:18.35
>>268
別にそういうふうにならないが
グラフィックドライバからみの問題な気がする
GPUとドライバのバージョンは?
0270名無しさん@そうだ選挙にいこう垢版2020/01/24(金) 13:07:06.06
>>269
Intel HD Graphics 2000
15.28.24.64.4229 (9.17.10.4229)

分割ウィンドウというより
スクロールバーを上に向かって動かすと
ツールバー下の
オブジェクトのプロパティ選択コンボが
分身となって現れ下へ向かって動く。
スクロールバーを何度か大きく動かすと消える。

あと1つのIfにEnd Ifが2行続いてるので
あれっ?と思ってその行クリックすると1行になる
0271名無しさん@そうだ選挙にいこう垢版2020/01/24(金) 17:48:59.74
質問よろしいでしょうか

フォームでマイクロソフトアカウントの情報(表示名やメールアドレス)を取得することは可能ですか?
0272名無しさん@そうだ選挙にいこう垢版2020/01/25(土) 04:08:48.26
>>271
環境変数 USERDOMAIN かUSERNAMEをEnviron関数で取得でいけるかと
0273名無しさん@そうだ選挙にいこう垢版2020/01/25(土) 06:57:24.62
>>271
メールアドレスって環境変数には無いなあ。
そもそもメーラーは何使ってるの?
0275名無しさん@そうだ選挙にいこう垢版2020/01/25(土) 14:18:27.81
>>271です
皆様ありがとうございます

Environ関数についてですが、ユーザーネームを取得は行ったのですが
PC名の取得になってしまいます

不特定多数の人が開くACCESSでいちいち名前を選択してもらうより
マイクロソフトアカウントで判別して名前を設定しようとしたんですが
なかなか難しいですね…

>>273
メーラーはoutlookを使用しています

>>274
レジストリの情報を読み出せるんですね
探してみます
0276名無しさん@そうだ選挙にいこう垢版2020/01/26(日) 00:04:31.30
accessでテーブル設計の参考になるような本やサイトを教えていただけませんか?
仕事でaccessを使わなければならなそうで、勉強がてら自分で趣味のデータベース作ったのですが、テーブル設計がエクセル的でダメと言われました。
0279名無しさん@そうだ選挙にいこう垢版2020/01/26(日) 17:21:47.76
>>276
エクセル的ってのは曖昧な表現だけど、おそらくは正規化してないってことだと思うよ。
端的な言い方すると、Excelでテーブルらしきものを作って、それをコピペして
Accessがエラーなくテーブルとして取り込めるかどうかで判断しても良い。
エラーになったら、その原因を調べて直すでも、学習になるかも
とはいえ、エラーでなければ十分かというと違うんだけどね。
正規化という作業が待っているのです。

正規化というのは、単純化です。
複雑にしたければ、単純なテーブルどうしをまとめるクエリを作るのですね。
そうすることで、新たな機能と追加したりするもの、元が単純だから別のフィールドを追加したり
別のテーブルを追加したりして、既存の仕組みに影響を与えない形で拡張ができるのです。

学習に向くのは
https://www.accessdbstudy.net/entry/20140930/p1
ですかね。
魔法使いの開発工房さんも参考になりますよ。
0280名無しさん@そうだ選挙にいこう垢版2020/01/27(月) 01:37:37.65
>>279
ありがとうございます。
まさにご指摘の通りです。リンク先の商品1、商品2・・・と全く同じことをやってしまいました。
正規化の勉強してみます。また分からなかったら質問させて頂きます。
仕事の方は前任者が作ったデータベースがあるためクエリで簡単な抽出はできたのですが、前任者がこの世にいないのでいずれ1から作らないとならないと思い趣味の方で作成した次第です。
0281名無しさん@そうだ選挙にいこう垢版2020/01/27(月) 07:53:08.64
これ見てふと思ったけど、顧客や取引先情報で住所・電話番号なんか
ごく普通に登録するけど、相手によっては住所や電話番号が空欄になる
こともあるのなら、これもやっぱり正規化すべき?
電話番号なんか特に空欄だけじゃなく複数あったりするけど
0282名無しさん@そうだ選挙にいこう垢版2020/01/27(月) 08:17:15.31
顧客マスタで住所や電話番号のフィールドが複数あるのはDB設計では一般的だぞ
問題は際限なく住所や電話番号が増えていくようなシナリオが想定される場合で、大体の場合、顧客の支社や工場の情報とか担当者個人の情報とかが追加されていくパターン
そういうのはChildでまとめるなりしてエンティティの階層を整理しないと駄目
0283名無しさん@そうだ選挙にいこう垢版2020/01/27(月) 13:01:20.79
>>282
サンクス
過去のDBを引き継いで使っているけど、顧客店舗テーブル眺めてると
電話番号の項目が3つあって、そのうち2、3は大体空欄なのが気になってたのです
0284名無しさん@そうだ選挙にいこう垢版2020/01/28(火) 22:51:21.91
たとえば、顧客名簿テーブルが
顧客名簿ID(主キー)氏名 住所1 住所2 住所3
1 あああ 東京 千葉 埼玉
2 いいい 群馬
3 ううう 山梨 栃木

というフィールド構成になってたとします。
これを正規化して次のように2つのテーブルにしても良いかと

顧客名簿ID(主キー) 氏名
1 あああ
2 いいい
3 ううう

住所ID(主キー) 住所 顧客名簿ID
1 東京 1
2 千葉 1
3 埼玉 1
4 群馬 2
5 山梨 3
6 栃木 3
0285名無しさん@そうだ選挙にいこう垢版2020/02/08(土) 17:07:45.97
1テーブル
A
B
C
D

2テーブル

×


3テーブル
A ○ 100
B × 100

4テーブル
D ○ 200
E △ 200

これを
A ○ 100
B ○
C ○
D ○ 200
A × 100
B ×
E ×
ってクエリで結合させてポンと表示できないですか?
0287名無しさん@そうだ選挙にいこう垢版2020/02/15(土) 17:23:27.68
フォームやレポートでラベルとかを作ると
ラベル××って連番つくじゃないですか
あの連番こっちで操作できないんですかね

間違えて作成して元に戻すをやっても
連番は進んでるし…
0289名無しさん@そうだ選挙にいこう垢版2020/02/17(月) 07:34:04.45
>>287
ラベル自体を操作する
例えば.visibleで表示 非表示を制御する
Circleで丸囲みする
といった理由が無いなら放置してええかと
0290名無しさん@そうだ選挙にいこう垢版2020/02/17(月) 11:47:07.68
ありがとうございます。

レポートで10個の項目が複数あって
それぞれクエリから値を設定していくんですけど
VBAを書くよりなにより、沢山あるテキストボックスの名前を変えてくのが苦痛で苦痛で…

テキストボックスの名前を読み込み時に変えようかなとも思ったんですけど
0291名無しさん@そうだ選挙にいこう垢版2020/02/17(月) 18:15:41.05
>>290
>10個の項目が複数
???
意味が分かりません。

VBAでtextbox.nameプロパティを一括変更できるでしょ?

単票レポートですか?
帳票レポートですか?
0292名無しさん@そうだ選挙にいこう垢版2020/02/19(水) 08:36:01.70
>>290
何をしようとしてるのか、そんなケースがあるのか思い浮かばない。
プロが作った売上ソフトの設計見てると、テーブルの時点ではフィールド名を英数字のコードネーム状にして
割り付けテーブルを別に持っているようだけどね。
その場合、accesdならコントロール名はその汎用コードネームにして、開くときにVBAぶん回し、
関連付けたラベルの標題値を変えさせればいいんじゃないのかな。
コードソースはめんどくさいから書かないけど
全てのラベルコントロールを対象としたループ
紐付けテーブルの読み込み準備
紐付けテーブルに格納されてるレコード中のコードネームと、
[コードネーム]&"_ラベル"がマッチするなら紐付け名に変更して

みたいな感じ。
0293名無しさん@そうだ選挙にいこう垢版2020/02/19(水) 08:51:33.66
追記 最近はグローバル化でウェブサイトとかゲームの字幕が多言語対応してるでしょ。
どうやって実現してるでしょう、とほぼ同じ設計思想でいいと思う。
webサイトなら、たいてい裏でmysqlなどを動かしてて
htmlの要素にはidを振り、割り付け先idと、選択言語でマッチしたvalueを埋め込んでることが多い。
0296名無しさん@そうだ選挙にいこう垢版2020/02/20(木) 17:16:03.18
>>291-292

説明が下手くそですみません
複数のクエリから複数のランキングを一つの帳票で作るのが目的でした

01位 誰々 数値



10位 誰々 数値

みたいなのが複数あるみたいなイメージですね

フォーム読み込み時にVBAで最初に一括でtextbox.nameで名前を変えるのが一番楽そうですね
0297名無しさん@そうだ選挙にいこう垢版2020/02/20(木) 19:53:05.85
>>296
に、してもよ、レポートのグループ化とかそういうの使ってる?
私だったら、queryの段階で
ランキングタイトル:なんとかのやつ、誰々:誰々データ列、合計:sum(データ列)
といった形式でごく少量の列数に縛ったやつを作って
union allで束ねたものをデータソースにするけど。

B4とかA3に、「壁新聞みたいに自由に綺麗にレイアウトしたいの」
というニーズは、知らん。
0298名無しさん@そうだ選挙にいこう垢版2020/02/21(金) 10:37:17.87
>>297
ユニオンオールで一つのクエリにしちゃうというのは全く発想になかったです!
確かにそうすると楽になる気がする…

ありがとうございます
0299名無しさん@そうだ選挙にいこう垢版2020/02/25(火) 22:51:14.42
既存Excelファイルをaccessに置き換えるよう指示があり、DB初心者ですがテーブルの設計をしています。
顧客テーブルを第三正規型で構築しようとしたのですが、カラムが100近くになってしまいました。

カラムが増えすぎた理由は、1つの顧客テーブルを飲食,レジャー,不動産など複数のサービスで共用しており
全てのサービスで共通する"氏名""住所"など以外に、各サービス独自の項目(サービス毎の顧客の嗜好など)が顧客マスタに1纏めになっているためです。
第三正規型で表現できている以上、カラムが長大だからといって無理にテーブルを分けなくても問題ないのでしょうか。

素人故、根本的な考え方が間違っているかもしれませんが、アドバイスをいただければと思います。
よろしくお願いします。
0300名無しさん@そうだ選挙にいこう垢版2020/02/26(水) 15:26:09.10
自身が多いと思うのであれば素直にテーブル分割すればよろしいかと
挙げられている項目を一まとめに扱う事が多いのであれば分割しない方が開発は楽でしょう
ただフィールド数が多いとパフォーマンスに影響も出ます

正規化はシステムや顧客によって答えが変わって来ます
100%の分け方というものはないです
頑張ってください
0301名無しさん@そうだ選挙にいこう垢版2020/02/26(水) 23:42:57.56
第三正規形って初めて知った。
コングロマリット的展開をされてるのによく
EXCEL一本でやってましたな。
グループ企業全体のCRMを果たして素人コンピューティングで
実現できるのか、というのは難しいところで。
0302名無しさん@そうだ選挙にいこう垢版2020/02/27(木) 09:23:58.65
>>293
これからまさにこの環境を構築する必要があるんだけど
Access2019のランタイムって無いから、365用のランタイムになるよね?

プレインストールのOffice2019H&Bに開発用のAccess2019インストしたら
3台中2台Officeが消えて難儀した。マイクロソフトに聞いても「偶にあります」
との事だった。Office再インストで直ったけれども。

開発が終わったら、上記環境にランタイムで稼働させる予定だから面倒だ・・・
0304名無しさん@そうだ選挙にいこう垢版2020/02/27(木) 12:16:44.86
数年前からグリッと方向転換してるのが良い面もあり弊害も起こし な状況なのかな
マシン本体の性能もいよいよ向上して、Core i もすでに第十世代bitも64が普通になってメモリも16GBとか当たり前
インスコもローカルアカウントは不可に成りつつありMSアカウント必須とかに流れが変化して

今回Win7代替でのPC入れ替えが集中したけど、制限時間内に台数こなそうとインスコ作業を集中してやったケースで
出易かったのもあるかも知れない インスコ時はもちろんネット接続必須な状況だし、したらしたで勝手にアプデが
走ったり走らなかったり プレインスコのOfficeをセットアップしてからAccess単体をインスコってケースでは
日を改めた方が安定するかもしらん  自分用に新規購入したPCを操作してみてそんな気がした 気がしただけだけど

余談だが、従来32bitで開発・運用してたもので VBA内に Declare 使ってると、64bitに乗せ換えた時コケる
Declare PtrSafe としないとダメだ ってのを ↓ここで教えてもらった
https://access-support.jp/trouble/access-error-64bit/
0305名無しさん@そうだ選挙にいこう垢版2020/02/28(金) 06:57:23.84
>>299
例示された項目を見て、テーブルを分けろと言いたくなりますが、Accessでやれというお達しなら
顧客に関する情報は全部顧客マスタへ、という方法もいいかも。

コンピューターが非力だった時代はそうしていました。
教科書を真に受けてテープルを分けまくると「クエリーが複雑すぎます」エラーで悩むことになると思うんですよ。

ExcelのままよりはいいのでAccess版をプロトタイプにして巨大な顧客マスタで作り、SQL Serverに移行するとよい。
Transact-SQLは楽やで仕事がはかどる。
第三正規形とやらの意味は調べていない。第六文明人。
0306名無しさん@そうだ選挙にいこう垢版2020/02/29(土) 22:42:56.60
相談です。

レポートのテキストボックス(データソースは、長いテキスト型です)について
(基本的には、テキストボックス内1行にはおさまらす複数行(物理行)になります)

1レコードを1ページにおさめないといけないため、テキストボックスの高さを制限しつつ、データが切れないように文字サイズを縮小したいです。例えば下記のような方法で。


1)テキストボックスには、印刷時拡張を設定し、
ボックスがある高さ以上になるときは、文字サイズを縮小する

2)テキストボックスの高さをあらかじめ限界に設定の上、印刷縮小を設定し
ボックスがこの高さ以上になるときは、文字サイズを縮小する


いろいろ調べたのですが、ACCESSのテキストボックスにはlinecountプロパティはないようなので何か妙案はないでしょうか?


ちなみにフォントはプロポーショナルフォントを使うため、文字数をカウントする方法は使えません。
0307名無しさん@そうだ選挙にいこう垢版2020/02/29(土) 23:13:19.78
>>306
小型ラベルを作るために、それ系の情報集めて実装したけど
かなり面倒くさいよ。googleで「twip」で検索。
今、見直したらQiitaの記事が秀逸。
文字列をtwip長に変換かけて、はみ出すようなら(限界値は自分で調査)
フォントサイズを1段階
落として、もう一回twip長を測って、はみ出すようなら以下同。
0308306垢版2020/03/01(日) 00:06:31.90
>>307
まさに、ラベルを作っています。

1cm=576twipというのは、分かっていたのですが、複数行に渡る場合の処理が解決できません。
1行のテキストボックスなら、textwidthプロパティで、幅を取得できるのでうまくできるのですが。

テキスト全体の幅/テキストボックスの幅では、禁則処理の関係もあり、正確な行数が出せません。
0309名無しさん@そうだ選挙にいこう垢版2020/03/01(日) 01:20:01.67
1番簡単なのはワードの差し込み印刷使うことかも
なんでもアクセスで済ませようとするとものすごく大変だけどデータ作成ソフトとして使って最後の処理や加工をワードやエクセルに任せれば結構簡単に色んな事が出来るよ
0310306垢版2020/03/01(日) 14:25:53.80
>>309
他ソフトと連携する際に、選択した特定のレコードだけ差し込むとかできるといいのですが、自分のスキルではなかなか難しいです。

パートのおばちゃんがラベルを印刷するのてファイルを選択したりとか難しいんです。
0311名無しさん@そうだ選挙にいこう垢版2020/03/01(日) 20:58:34.24
>>308
腕のある方の記事を参考にしてwindowsAPI呼び出す方法を
使ってるけど、日本語フォントのtwip計算は完璧にはいかないよ。
基準級数を、何ポイント基点で、何ポイントまで下げてもいいのか
決めればいいんじゃない? いくらなんでも、5ポイントというのは
やり過ぎで、7〜12が実用範囲だと思う。5、6パターンしか考え
なくていいわけよ。
それぞれのフォントサイズの時に何行入るのか確かめて
おいて、(テキストボックスのtwip-若干の余裕値)X行数が
文字が最大入る長さ。
文字列のtwipがそれをはみ出すなら、ポイント1ずつ下げては評価
を繰り返す。
改行chr(13)は今は考慮しないことにする。
0312306垢版2020/03/01(日) 22:50:09.30
みなさん、いろいろありがとうございます。
>311 のやり方でやるのが現実的のようですね。

同じレポートでもう1点、悩みがありましてお知恵を拝借したく・・

複数行のテキストボックスの文字配置なんですが、左揃えにすると右端がガタガタになってしまい、非常に見栄えが悪いのです。かといって均等割付にすると、最終行の文字数が少ないときに間延びしてしまいます。
ACCESSには、wordのあるような両端揃えはないようなのですが、何か他のうまい方法で同様のことは実現できないでしょうか?
0313名無しさん@そうだ選挙にいこう垢版2020/03/02(月) 08:17:57.36
>>312
単純には後ろにスペース入れたら?
しかし、折り返しの自動処理(仕様)は意図した通りにならない。
均等割り付けはタイトルなど、一行のごく短文を想定したもの。
Accessはあくまで「まかない飯ソフト」 だ。レポートを客に渡したり、行頭に句読点がきたら怒り狂う上司を想定していない。
やりたければ
1 wordへの差し込み
(エクスポートはどこまでのものか知らん)
2 csvにしたあと、ラベルマイティ的なやつに読ませる
3 htmlを生成してcssをあてる
0314名無しさん@そうだ選挙にいこう垢版2020/03/03(火) 07:31:07.72
ACCESS runtime 2010 のダウンロードリンクがリンク切れになっているぞ
プロジェクトファイル(adp,ade)が開ける最後のバージョンだった。
0315名無しさん@そうだ選挙にいこう垢版2020/03/03(火) 21:03:50.78
>>312
プロポーショナルフォントだと打つ手はありません。
等幅フォントなら左揃えにすれば希望のとおりの文字配置になります。
0316名無しさん@そうだ選挙にいこう垢版2020/03/09(月) 18:22:43.67
New Access features coming your way!

Never discount looking at the What’s New section in Microsoft Office to get a first hand look at goodies coming your way!
A fellow MVP pointed out to me how you can see new features by going to backstage, (File menu), clicking on Account and then What’s New. Scroll down until you see new features in Access.
0317名無しさん@そうだ選挙にいこう垢版2020/03/09(月) 20:01:51.74
Accessで、ニューフィーチャーズは暫く見ていないような。
昨年、タブの見た目が変わったくらいか。
ネイティブでjsonとれるやつ、付けてくれ。
あと組み込みブラウザのエンジン、どうするつもりなんだ。
0318302垢版2020/03/10(火) 15:55:17.19
やはりOfficeH&B2019の環境にAccess365用ランタイムをインストしたら
Officeの方が消えた。ちなみにランタイムのバージョンはなぜか2016になっていた。

プレインストOfficeの再インスト用のアドレスを忘れたので、マイクロソフトのサポートに
聞くついでにAccess2019ランタイムのことを聞いたら、親切な人だったのか一応教えてくれた。

・Accessランタイムについては無料ソフトとなるので、基本的にサポートはできない
・H&B2019の環境で共存できるAccessランタイムのバージョンは2013まで

との事だったので、2013ランタイムを入れたらあっさり動いたので報告しておくよ。
0319名無しさん@そうだ選挙にいこう垢版2020/03/11(水) 20:07:47.63
>>318 会社は、ほとんどの端末がバンドル版の2013 ACCESS
なしで、2013runtimeか2016runtimeを入れても、
特に問題は起きていない。
今後、法人端末はバンドルにしないで、365運用にしたほうが
省力化できるように思う。
0320名無しさん@そうだ選挙にいこう垢版2020/03/12(木) 21:59:53.46
Officeで言えば三世代前? もしかしてCPUは四世代も五世代も前のを例えにしてる?
去年のWin7代替で大慌てで入れ替えたのがそのスペックだとしたら、売れ残り掴まされてる?
Office2019とAccess Runtime 365 なり2019なりのトラブルは去年の夏には話題に成ってたけど
0321名無しさん@そうだ選挙にいこう垢版2020/03/20(金) 12:53:19.19
ShiftキーとかCtrlキーの起動オプション邪魔くさいな。
フォーカス無しで起動しても認識してしまうから
タスクスケジューラーで登録して使うと
知らないうちにキー押してて渋滞してしまう。
0322名無しさん@そうだ選挙にいこう垢版2020/03/24(火) 18:59:40.31
Access VBAを勉強しようと思うんだけど、
DL版と普通のソフト版は何であんなに値段が違うの?
DL版て何か怖いの?
0323名無しさん@そうだ選挙にいこう垢版2020/03/24(火) 19:14:44.99
>>322
電子の方が安いんでしょ。工賃、運賃、仲卸がかからないもの。
で、一番安いのは古本だったりする。
Accessなんざ見た目は2013以降、
実装機能は97から何一つ変わってないので、どのバージョンの参考本を買っても遜色はない。
Access2000では大々的にActiveX Data Objectsの使用を推奨してたが、
2013から「やっぱdaoをお薦めします」に戻ったので、そこだけ予め理解していればよい。
0324名無しさん@そうだ選挙にいこう垢版2020/03/24(火) 20:10:46.31
>>323
昔Access95の頃に少し勉強したけど中途半端で終わり、
本職が忙しくなって、ちょうど今から暇な時期になるんで、
自分で販売管理ソフトを作りたいなと思いまして。
0326名無しさん@そうだ選挙にいこう垢版2020/03/25(水) 08:41:07.00
>>323
DL版で再インストールとかできるのかな?
0327名無しさん@そうだ選挙にいこう垢版2020/03/25(水) 08:46:32.41
>>322
office365みたいにDL版しかないですよ、netに繋げなくて使えるのは特殊な現場用で一般には売ってないです
0328名無しさん@そうだ選挙にいこう垢版2020/03/25(水) 21:53:47.74
>>327
マジで?
昔みたいにディスク版はないの?
0330名無しさん@そうだ選挙にいこう垢版2020/04/20(月) 20:25:38.23
VBAについて質問です。
あるレコードについて、キー以外のすべてフィールドの値を消去したいのですが、フィールドの型によって
NULL値を入れられるものとエラーがでるものがあります。
文字列型のフィールドならOKでも日付型だとダメだったり、Yes/No型だとダメだったり。

Do
   If rsB.Fields(fcnt).name <> ("顧客番号") Then
      rsB.Fields(fcnt) = ""
end if
   fcnt = fcnt + 1
If fcnt > rsB.Fields.Count - 1 Then Exit Do
Loop
rsB.Update

↑このようにまとめて書くのは諦めるしかないのでしょうか?型を判定して場合分けできますでしょうか?
0331名無しさん@そうだ選挙にいこう垢版2020/04/21(火) 12:58:30.68
>>330
「ダメだった」ときは、何をセットするんですか?セットしないで飛ばすんですか?

サンプルはNullじゃなくて""をセットしているみたいですが。
判定はField.Typeプロパティを参照すればええです。
Null不許可な列だったら...On Error 処理でエラー判定するのですな。
0332名無しさん@そうだ選挙にいこう垢版2020/04/22(水) 03:02:11.59
>>330
無理にループでまとめなくても良いと思いますよ

rsB.Fields("フィールドA") = Null
rsB.Fields("フィールドB") = False


どうしてもまとめたいなら上の方がレスされた様にフィールドタイプ判定ですね
あと値要求「はい」のフィールドや Yes/No 型は Null 更新できません
0333名無しさん@そうだ選挙にいこう垢版2020/04/23(木) 02:42:50.33
日付と商品、個数などが列挙された紙データを入力するときは
いったんエクセルで処理してACCESSにインポートしてるんですが
みなさんはどのようにやりますか?
同じ日付などはオートフィルできますし楽な気がします
2つのソフトを使う手間はありますが……

みなさんどのようにされていますか?
0334名無しさん@そうだ選挙にいこう垢版2020/04/23(木) 14:26:39.46
業務の内容が見えないので何とも言えませんが
配布したり、各部署で編集するならExcel
同じ部署の一人〜数人で運用するならAccess
とか、業務次第ですかね
0336名無しさん@そうだ選挙にいこう垢版2020/04/23(木) 14:43:09.32
>>334
>>335
直接大量に入力するってのはACCESSではなかなかきついですよね
表形式のエクセルの方がダーッと入力できるきがする
ACCESSでも表組みできないことはないけど
エクセルみたいにエンターとタブで連続して高速で、ってむずかしくない?
0337名無しさん@そうだ選挙にいこう垢版2020/04/23(木) 17:37:52.23
大量入力は、桐にしとけ、昔のスーパーレジみたいにボコボコ入力できるぞ
0338名無しさん@そうだ選挙にいこう垢版2020/04/23(木) 23:37:00.70
>>333
いちいちインポートとか面倒だから
アクセス側からリンクで取り込んで必要な表を組み替えて利用する
0341名無しさん@そうだ選挙にいこう垢版2020/04/24(金) 17:05:20.64
>>339
そう
0343名無しさん@そうだ選挙にいこう垢版2020/04/24(金) 20:57:02.29
もうやってないからどうでもいいけど
エクセル業務をDB化しようとして
エクセルからインポートし、苦労してマスターとか1対多のリレーション組んで完成した後
さて明日から使うには?

データ空にして明日から入力していっても意味が無い
今日の分までのエクセルのデータを取り込むにはどうするべ?
となってお蔵入りした


DB化させたときの元シートの場所に、今日の分までのエクセルシートをコピペしたって
勝手に反映されるわけでもなし
やはりマクロ組んでちまちまマスターに追加、データを追加、とかしかないのかなー?

それか、記録機能つかって
エクセル取り込みからDB化完成までのを記録させて、移行する時も瞬時に終わらす手?
原始的に、半日かけてDB化したら
半日分の追加データを手入力で追加とか・・・全然スマートではないね
0345名無しさん@そうだ選挙にいこう垢版2020/04/27(月) 08:27:22.11
>>340
プログラマーじゃないからwebマニュアルでは配列を想定
していることしかわからんけど
i=arr.count
for i=0 to i-1
debug.print arr(i)
next i
くらいで同じことできるんじゃないの?
0350名無しさん@そうだ選挙にいこう垢版2020/05/09(土) 20:40:05.65
>>349
ファイルメーカー高いんだもの。
年額1万円ちょっとでoffice365を使えると思ったら
そんなに贅沢も言っていられない。
 本当に見た目重視、多人数利用を想定、メンテナンス性重視なら
今時はHTML+CSS+DBで作り込むわ。
0354名無しさん@そうだ選挙にいこう垢版2020/05/11(月) 19:03:50.76
それにしてもいくらなんでもAccessはデザイン古すぎるよね
がんばれば>>349みたいなフォームつくれるの?
背景やフィールドがウインドウに追随しないしねえ

まあ業務用だから見た目なんてどうでもいいだろ
そんなの無意味でまやかしだ
ってことなんだろうが
0356名無しさん@そうだ選挙にいこう垢版2020/05/12(火) 09:14:52.53
見た目だけよくても使いにくいものはクソ

表向きよくても中身ガタガタの会社と同じ
0357名無しさん@そうだ選挙にいこう垢版2020/05/12(火) 22:29:46.69
>>354
webの素材ボタン拾ってきて、イメージオブジェクト
として貼り付けて、実質的アクションは「クリック時」に書くとか。
ちょっとやってみたけど、押しましたよ、をわかりやすく表現
するのはイメージ2枚重ねて、奥を小さめ。
手前のボタンの「マウスクリック時」に「そのオブジェクト.visible=false」、
「マウス解放時」に「そのオブジェクト.visible=true」

accessの描画処理がダメダメなので、やれてこんなもん。
自分は社内用or自分用の賄い飯ツールに
そこまで見た目に気を使う気はない。

https://i.imgur.com/Cj5S2nI.gif
0360名無しさん@そうだ選挙にいこう垢版2020/05/13(水) 01:37:29.54
>>358 macでVM走らせてるせいかもしれんが
元からちらつきあったよ。webページの綺麗さには及ばない。
今時のHTML5やらCSSやらの表現力の豊かさは
天井知らずだと、あらためて思った。

ただ、webアプリDBとかは、全て手入力ビルドだし、
設計が複雑なわりに、ユーザーの使い勝手が悪いのが
一般的なので、本業の片手間でAccess開発は続けるけどね。
0361名無しさん@そうだ選挙にいこう垢版2020/05/13(水) 01:47:31.58
>>359 しいてあげれば、サーバー機能。
以前、マクロ記述もしないスキルの人が
クラウド上にデータ実体を上げ、あっさり共有環境作ってたので。
試したことないけど、ACCESSのデータ実体ファイルを
googleドライブに置いても、フロントエンドファイルとの
通信はできないと思う。
0365名無しさん@そうだ選挙にいこう垢版2020/05/13(水) 19:09:36.85
そんなの付いてねーよ
0366名無しさん@そうだ選挙にいこう垢版2020/05/13(水) 19:31:27.73
もう新機能ないのかい?
0368名無しさん@そうだ選挙にいこう垢版2020/05/13(水) 20:57:10.76
>>367
フォーム プロパティ レコードセレクタ いいえ

メニューセレクタ画面ならまだしも、実務ウィンドウで
本当にレコードセレクタはいらんのかね?
0370名無しさん@そうだ選挙にいこう垢版2020/05/14(木) 00:45:26.93
Accessがださださになるのは配置できるフィールドやボタンがダサいからなんだろうか
ファイルメーカーは意識せずそれっぽくなるんだが
素材の違いかな?
テキストボックスなんかの角が丸いか四角いか、なんかでかなり印象かわるってことなのかもな

あとはサブフォームがやたら角々して線だらけなのも古い感じするよね
ファイルメーカーは最近はやりのべってり系
0371名無しさん@そうだ選挙にいこう垢版2020/05/14(木) 02:15:06.82
業務全体で
・他社からの注文(EXCELデータ)→請求書発行
・車検や修理歴などの車両管理
・従業員管理
などがある場合、それぞれまったく別個のAccessファイルとしてつくるというのは一般的ですか?
各ファイルから他のファイルのマスタを使うことはあるかもしれません

それともすべてをひとつにして、メニュー画面などから用途ごとのフォームにいくようにするべきでしょうか?

一般的に制作を依頼すると後者の形だと思いますがデマが少ないからと言う理由だけですか?
0372名無しさん@そうだ選挙にいこう垢版2020/05/14(木) 02:32:33.84
社員に端末渡しまくっておしゃれでだれでも簡単に扱えるUIがほしいならファイルメーカー
その変わりにスクリプトが独特というかわけわからん

見た目とかどうでもいい
がっしりすわって武骨なUIでやり続ける
その変わりにで安くて細かいとこもできる(描画いがい)
0373名無しさん@そうだ選挙にいこう垢版2020/05/14(木) 07:41:13.59
>>371 どれほど用途が異なるのかわかりませんが、
特に入力者が異なる場合は別ファイルにしてもかまいません。

一つのテーブルを直したら、あっちもこっちも書き換えなければならない運用があるなら
リレーションを張って参照整合性の連鎖更新を使います。
そのためにデータ実体ファイルに関連テーブルを全部ぶちこんで、
入力用途ファイル(フロントエンド)を分離し、必要なテーブルだけをリンクする方法もあります。
0375名無しさん@そうだ選挙にいこう垢版2020/05/15(金) 10:41:43.59
>>371
Accessの場合は少ないデータ量だと安全な運用がしやすいです
パフォーマンスも良くなります

上記の理由以外にもシステムを業務単位で分ける事は良くあります
請求書を発行したいのに従業員管理に重大なバグが出てシステムが起動しない、とか
不具合発生時に他業務を巻き込まない為です
0378名無しさん@そうだ選挙にいこう垢版2020/05/23(土) 21:34:18.30
複数のテーブルの集計値だけを集めたレポートを作ろうとしています
あるテーブルはデータ数だったり、あるテーブルは合計だったり
今までは、ある程度データの抽出が終わったら、excelに投げて処理してたんですが、accessだけで完結させてみようと思うと頭が働きません。
それぞれの集計値を表示するクエリをつくってサブレポートにして非連結のレポートに貼り付ければできるかなと、今思いつきましたが、スマートじゃない気がします。
0379名無しさん@そうだ選挙にいこう垢版2020/05/24(日) 01:10:03.43
>>378
実は、やろうとしていることはダッシュボードではないですか?
google画像検索 キーワード「ダッシュボード 画面」で
検索。
accessでダッシュボード式レポートを作るのは
地獄みるからやめたほうがいいです。
excelで、直接DB接続(先に、DBでクエリ整形しても良い)、
またはシートでデータ軸別に整えたものを、
最終的に「新聞紙面のように、いろんなニュースが載っているもの」
にまとめたほうがいいです。
0380378垢版2020/05/24(日) 17:18:44.49
ああいうUIをダッシュボードっていうんですね
画像検索で拝見したようなグラフィカルな画面ではなく
数値の羅列ですが、趣旨は同じかもしれません
病院で輸血を生業にしてるのですが、保険点数を計算して
一覧化したいのですが、赤血球液、血小板、凍結血漿
アルブミンでそれぞれの輸血料の計算が全然違うので
製剤ごとのテーブルに分けて計算させて、最後に一覧化したいのです。
0381名無しさん@そうだ選挙にいこう垢版2020/05/24(日) 17:51:43.76
1件が
赤血球 〇cc
血小板 〇cc
凍結血漿 〇cc
アルブミン 〇cc

っていうだけでしょ?

商品マスターの中で輸血料金の単価があり、それを参照すればいいだけでしょ

一般的な商品見積もりDBの作り方でいいじゃん
0382名無しさん@そうだ選挙にいこう垢版2020/05/24(日) 17:56:05.35
で、月に何件あったか
件数関係なく赤血球何cc出たか
金額はアルブミンだけで何円だったかって集計するのも
普通のDBの設計でいいじゃん

まず1件1件のデータをちゃんと設計すること
それが出来てれば集計して何をどう表示させるかも自在でしょ
1件が完成してないから悩むことになる
0383378垢版2020/05/24(日) 21:04:18.48
確かに設計が甘いのは自覚してますが、点数の計算方法がちょっとめんどくさくって
赤血球液は1単位製剤が140ml、2単位製剤が280ml。一連の(おおむね1週間)輸血
の最初の200mlは450点、以降は200mlごとに350点
血小板は10単位、15単位、20単位がありそれぞれの容量が200ml、250ml、250ml
赤血球と同様に最初の200mlは450点、以降200mlごとに350点
さらにそれぞれの製剤の実費で計算するんです。
実費のほうはおっしゃる通りDBの基本なんですが、輸血料の手技料部分がもはや、
嫌がらせとしか思えない計算なのです。
凍結血漿・アルブミンは6歳未満が100ml未満49点、100ml以上99点
6歳以上は500ml未満49点、500ml以上98点
赤血球製剤は単位数に関係なくバッグごとに交差適合試験の点数が77点、患者ごとに
月一回の不規則抗体検査197点が加算可能
0384名無しさん@そうだ選挙にいこう垢版2020/05/24(日) 22:36:38.71
それはそれぞれ別商品として扱うんだよ
赤血球200ml 450点
赤血球追加200ml 350点

アルブミン6歳未満100ml未満 49点
アルブミン6歳未満100ml超過 99点
アルブミン6歳以上500ml未満 49点
ってね

そして値段の方も、さらに複雑なら点数計算と実費計算でも商品名分ける

赤血球200ml 450点 0円
赤血球200ml 0点 500円
これ2つ同じ名前でも別商品扱いにすれば、点数も価格も干渉しないで集計可能
0385名無しさん@そうだ選挙にいこう垢版2020/05/24(日) 22:45:09.91
あー、ちょっと違うな
製品単位と点数計算がまるっきり違うんだな

なら、使用数量の集計と
点数計算の集計は別々でやんなきゃならんじゃん

点数計算に使う商品マスターと
価格計算と数量に使う商品マスターと2つ別々にするんだな
0386名無しさん@そうだ選挙にいこう垢版2020/05/24(日) 23:26:34.15
そうなんですよ。
実際元々システムから落としてくるデータは全製剤が混在しているので
製剤ごとのテーブルに分けて、患者IDでグループ化して患者ごとの手技
点数を計算するテーブルと、単純に使用単位数から製剤金額算出用の
テーブルに分けて処理したんです。で、最後に各テーブルの集計値を
レポートにまとめようかなと。余談ですが、私も定年間近なので
(PCを使いたがらない)職場の若い衆に業務統計の引き継ぎがてらやってるもんで、できればVBAはつかいたくないないんです
0387名無しさん@そうだ選挙にいこう垢版2020/05/25(月) 09:38:03.15
基本は使用単位からの金額DBで

点数の付け方は、計算でやるより使用量・点数テーブル作って参照させて来る方式の方がいいな


140ml単位でしか使わないんでしょ?

量140 280  420  560 700 840・・・
点450 800 1150 1150 1500 1850・・のようなテーブル作って、量比較じゃなく一致検索で返すように
0389名無しさん@そうだ選挙にいこう垢版2020/05/25(月) 13:36:42.23
>>386
輸血やるほどの病院なら、会計は当然、病院会計ソフトでやってると思うんですよ。
医療事務なんて資格があるくらい、複雑でしょうし。
そのシステムの中では文言やコードに揺らぎがなく、ある程度の計算も終わってるはず。

あとは、標準の出力機能や、不足ならばベンダーに有償無償の交渉をして
データベースの中身の開示許可を貰うのが早いてす。
うまく開示されたら、じーっとテーブルの中身を見つめれば、
何をどうすればいいのか、少しずつわかってきます。
どのテーブル、カラムにどの情報がある、とか設計思想的なものとか。
お作りになるものは、少しくらい集計がおかしくてもクリティカルな問題になりにくいものでしょ。

ミッションクリティカルなものなら素直にプロに頼んだ方がいいですよ。
0390386垢版2020/05/25(月) 14:19:06.64
>>389
おっしゃる通りです
保険点数の仕組みは、後から吸い上げて
集計するようなもんではなくって、
支払いのたびに、患者さんごとに計算して
請求するものなので、この数字をもらって
足し算するのが一番正確です。
ただ、クリティカルなものではなく
参考値として経営感覚をスタッフに持たせるためのものなので
自前でやってます。
ご指摘ありがとうございます。
ただ、確かにプロの作品は見てみたいですね。
某社の電子カルテは全編VBで書いてあると聞きましたので
素人でも解析できそうです。
0391386垢版2020/05/26(火) 21:58:47.05
お騒がせしましたが完成しました。
サブフォームだらけで、恐ろしくメンテナンス性の悪そうなものに
なっちゃいましたけど
ありがとうございました
0392名無しさん@そうだ選挙にいこう垢版2020/05/27(水) 19:02:13.88
>>391
ご苦労様です。親になるものがないので多数のサブフォームになるのは正しい設計です。

accessはリアルタイムコンパイルでどうしてもメモリの使用効率が悪いので
いいパソコン、SSDで乗りきるのが良いでしょう。
0393名無しさん@そうだ選挙にいこう垢版2020/06/02(火) 06:42:40.63
Win7からWin10に移行してから

アプリケーション・アイコン指定してるのに

読み込んでくれないときがあるの

もう意味わかんない ((+_+))
0394名無しさん@そうだ選挙にいこう垢版2020/06/02(火) 13:42:30.02
顧客IDごと、最新の最終売上日のみ、と言うデータを作成したいのです
どのようなSQLを掛けば良いでしょうか?
distinctで頑張って見ましたが、うまくいきませんでした
また、エクセルで処理しようと思いましたが、結果が100万行超えてフリーズしました
どうかお助け下さい

顧客ID 最終売上日
001 2020/5/1
002 2020/3/1
002 2020/2/1
001 2020/7/1



顧客ID 最終売上日
001 2020/7/1
002 2020/3/1
0395名無しさん@そうだ選挙にいこう垢版2020/06/02(火) 14:31:04.45
>>394
max(売り上げ日)のグループバイ
だべよ。
日付といえどもしょせんは
日付シリアル値を人が見やすいように標準で見せ方機能を備えてるだけだし。

日本は年月日だけど、もうどの国が日月年で、どの国が月日年なのか、ようわからん。
0396名無しさん@そうだ選挙にいこう垢版2020/06/02(火) 14:51:28.84
質問です。よろしくお願いいたします。
PCに詳しい人がアクセスで作った入出庫管理システムを何年も使ってきたのですが、
このたび、同システムを何人か(複数PCから)で使うために、アクセスを知っている外部の人に、
1つのファイルだったシステムを、システム本体のファイルと、データを入れるためだけのファイルとに
分けてもらいました。データ用のファイルは、部内にある代表的なPCに入っていて、システムを起動させる
それぞれのPCとはLANでつながっています。まだ2日目なのですが、問題なく動いています。

質問なのですが、こうやって、システム用のファイルとデータ用のファイルを分けるのはアクセスのシステムとしては
定番の方法らしいのですが、複数のPC(複数のシステムファイル)から同時に接続されて問題ないんでしょうか?
ファイルを分けただけで、同時操作の問題やリスクを回避するようなプログラムは何もしてもらっていないはずです。
でも、アクセスの機能として、「同じデータに対して同時に別々の命令をされたときはちゃんと交通整理する」という機能が
備わっているんでしょうか?
コンピュータは一瞬でいろいろやっちゃうので、今のところたまたま交通事故的なことが起こっていないだけなのか、それとも
ちゃんとアクセスは安心していいのか、どうなんでしょうか?
0397名無しさん@そうだ選挙にいこう垢版2020/06/02(火) 15:52:06.36
夜間とか動いてない時にバックアップ欠かせないでね
0398名無しさん@そうだ選挙にいこう垢版2020/06/03(水) 09:37:21.31
>>396
相当、潜在リスクわかってるね。
accessDBは同時入力者3人越えた辺りから、挙動怪しいです。
accessDBとわざわざ書いたのは、そのデータベース機能(sqlserver oracle mysql sqliteに相当するもの)がヘッドロックに弱いというだけで、他の機能は
10分で何か作ってくれ、
と言われたときにこれほど容易さに優れたツールはないからです。

外部の人?分離したのは、ユーザーAがデータ含め全部入り、
ユーザーBがAさんのファイルを見に行く、よりは安全なので、方法論として合ってます。
それ以上触らなかったのは、アマチュアの日曜プログラミングには設計書がないからです。
それに今回、無償作業だったのでは?
もし、そのシステムが必要不可欠で、より安定性を求めるならプロによる「リビルド」のサイクルに入ってください。
0399名無しさん@そうだ選挙にいこう垢版2020/06/03(水) 09:47:50.38
>>396
具体的に「そなわってるんてしょうか」に答えてなかった。
備わってる。試しにフォームで同じレコード開いてAユーザーから何か打ち込んだら、Bユーザーの画面がわりとすぐに更新されます。
ただ業務レベルで同時に入力をガシガシやってると、わりとデータ破損おきがちです。
回避するには、accessの教本にはあまり紹介されていない、一般的な多ユーザー型プログラムの作り方である、
ローカルコピーを作って、サーバーには編集中フラグを立てといて、作業が終わったらサーバーに書き戻し、サーバー側の該当レコードの作業中フラグを外す、です
0401名無しさん@そうだ選挙にいこう垢版2020/06/04(木) 04:23:22.33
アクセス使えるってことで職場内で「IT専門家」面できてる人の半数は「デッドロック」なんて知らない。
なんなら、アクセス使えるだけでSEを自称してる人もたくさんいる。
ブラックな開発会社で本当にSEやってる人よりも待遇がいいのが皮肉だけど。
0404名無しさん@そうだ選挙にいこう垢版2020/06/04(木) 08:10:58.45
>>400
すまん、デッドロックだった。
自分で書いててなんだよヘッドロックって。プロレスか。

スレチだけどsqlserverのbegin tranもupdateとかの瞬間的な処理時間を想定してるらしく
たまたま同じ行を編集しようとしてました、をデータベースレベルで管理する機能ではないらしいんだよね。
「誰が今開いてる」の作り方を考えるのに結構時間費やした。
0405名無しさん@そうだ選挙にいこう垢版2020/06/04(木) 09:46:33.70
桐だと普通にレコードロックやトランザクションがある
0408名無しさん@そうだ選挙にいこう垢版2020/06/06(土) 02:32:48.31
>>406
わかる。
中小だけ言えば、アクセスとアクセス中級者がどれくらいの低賃金手作業労働者を失職させてきたことか。
0409名無しさん@そうだ選挙にいこう垢版2020/06/06(土) 02:38:17.70
>>407 あれを作れたんだ。すごいね。
私にはさっぱりわからなかった。
 簡単な物ならたまにmariaDBとPHPで書いてるけど
画面が全部手打ちなのでしんどい。
 かといってkintoneのような使用料高めのやつも
会社を納得させられる自信ないし。
0410名無しさん@そうだ選挙にいこう垢版2020/06/06(土) 05:23:07.00
横からだけど本当に知りたい。
ACCESSシステムをWeb化することができた時代があったの?

今、リモートワークの流れの中で、在宅からDBを操作できるようになればと思ってるんだが、
まさかACCESSでそのままWeb化できるもんなの?
0411名無しさん@そうだ選挙にいこう垢版2020/06/06(土) 06:56:55.08
SharePoint リスト使えば良いんじゃね
0413名無しさん@そうだ選挙にいこう垢版2020/06/10(水) 11:35:06.99
Accessからのメール送受信でエラーが出るようになりました
Defenderを一時的に無効にするといけるので
レジストリいじって無効にしようと思ってますが
他の有効な方法があればご教授を
0414名無しさん@そうだ選挙にいこう垢版2020/06/10(水) 22:18:24.01
>>413
cdoやらなんやら、いろいろな方法論がありますけど
どういった手法を使ってますか? 
データベースのリストを使った、メーリングリストのような用途ですか?
今時はあまり褒められた方法ではないけど、
非暗号化用のポートを使うと解消したりします。
暗号化送信が587だけど、465にしてしまうとか。

親切なプロバイダさん、レンタルサーバーさんが古いセキュリティ技術である
POPbeforeSMTPを今までサポートしてきて、ここにきて
廃止した、ということも考えられます。
あるいは、このたびのwindows10大型アップデートでは
ひどい不具合が多いらしい。
0415名無しさん@そうだ選挙にいこう垢版2020/06/10(水) 23:36:35.34
>>414
cdoだと思います。webで見つけたのをコピペして使わせて頂いております
Tablet(accde)で入力したデータをLhaplusでパス付けたcsvで送信して
accdbで受信してタイトルの特定の文字列をトリガーにして解凍してTransferしてます
最近急に始まった受信エラーはWin10アプデじゃないかなーと思ってます
Win10homeでgpeditが無いのですが有効にする方法を見つけてdefenderを無効にしてみたのですが元に戻ります
丸ごとバックアップした環境でレジストリいじると元に戻らずうまく行ってるように見えますが今日はここまでzzz
0416名無しさん@そうだ選挙にいこう垢版2020/06/11(木) 20:49:36.15
>>415
なかなかのギークですね。私もたまに「もはやACCESSである必要がない」ツールを
作る時がありますが。コンパイラでパッケージを作る知識もないので。
もし、メールサーバーに何も変更がないのであれば、このたびの大型アップデートが一因かもしれません。
windows2000で出来上がったdllをやむを得ず収載している状態なので
VBA頻出の外部ファイルuser32.dllも含めて、近々予告なしに店じまいされるかも。
また、cdoについては、こちらさん(なぜか最近執筆)
https://excel-ubara.com/excelvba4/EXCEL233.html
の記事を参考にすると、マイクロソフトでホストしているスキーマ参照が出てきますが、
http://schemas.microsoft.com/cdo/
開いてみると「ないよ」と宣言している。つまりディスコンな技術だと思います。

MSとしては代わりをどう提供したいかというと、RPAで括ってもいいかと思いますが
MSFlowを使って欲しいんだと思います。
AzureDBか、EXCEL365と接続して、一定条件でメール送信アクションを発火させるとか。
会社・事業の予算が厳しくとも、
レガシーを維持する時間・金を費やすより、
そろそろ「次」を考えた方がいいかもしれません。
0417名無しさん@そうだ選挙にいこう垢版2020/06/14(日) 03:14:11.32
最近何かレコード間移動で表示が遅いなあと思って
インデックス見直そうとテーブルデザイン見てみたら
主キーが勝手に外れてた。
半年以上デザイン変更なんてしてないのに。
0418名無しさん@そうだ選挙にいこう垢版2020/06/14(日) 09:44:33.26
テーマって何だよ、コントロール配色を自分で設定するとテーマに二度と戻れなくなるのか?
0419名無しさん@そうだ選挙にいこう垢版2020/06/14(日) 11:10:09.52
>>417
自分で外したくせに

どうせ主キーなんて無い方が軽いだろと考えたんだろ
0420名無しさん@そうだ選挙にいこう垢版2020/06/14(日) 18:54:34.86
Windows10 2020-05累積的更新プログラムなのか。2020-06累積的更新プログラムのどちらか定かではないけど
インストール後、テーブル定義でデータ型を数値型、フィールドサイズを十進、精度を18で定義した項目に以下の
Val(Str(Kokyaku!jinmei_cd) & Right("00" & Trim(Str(Kokyaku!edaban)), 2) & Right("00" & Trim(Str(Kokyaku!card_hakkoujun)), 2))
で、代入するとAccess事態が「動作を停止します」となってしまうので、仕方なく倍精度浮動小数点数に修正する事が必要になった。
この修正で解決するまでしばらく日数が必要だった
0421名無しさん@そうだ選挙にいこう垢版2020/06/14(日) 19:38:19.51
Ebo Quansah from the Microsoft Access Team announced problems with decimal fields using the current Microsoft Access Build 12827.20010
that was released with the Monthly cycle. Decimal fields are not commonly used in Access database files, but they are used in linked SQL Server tables.

Fixes and workarounds will be posted once announced.

------------------------
June 8, 2020, from Ebo Quansah
Very soon, we will ship a new data type, known as Date & Time Extended, which enhances syntax compatibility with SQL while increasing accuracy & level of detail in date & time records.
While the feature is not yet enabled in Current Channel builds, most of the code for the feature is in the product in an inactive state. Nonetheless, we are aware of a problem that currently exists with this new code.
As of today, if you are on version 2005, build 12827.20010 or greater, and you manipulate Decimal fields (Access DataType=Number/FieldSize=Decimal, or SQL DataType=Decimal) using DAO (Data Access Objects), you might have identified your app crashing.
If you hover a variable with the type in VBA code, you may see that the field is not being displayed properly; either reading as ‘?????’ or giving a Type Mismatch error, or Access may crash.
We are very sorry for the inconvenience this causes in your Access app. The Access team is working on resolving this issue as soon as possible, and we will report back to you once this error has been fixed.
In the interim, we’d recommend for you to roll back to a previous version (https://support.microsoft.com/en-us/help/2770432/how-to-revert-to-an-earlier-version-of-office-2013-or-office-2016-clic),
or switch to a slower channel (e.g Monthly Enterprise Channel, or SemiAnnual Channel), until the issue is fixed in Current Channel.
The issue only impacts Decimal types so if avoiding DAO code that manipulates Decimal types is possible, we’d advise this as a short term solution.
0422名無しさん@そうだ選挙にいこう垢版2020/06/14(日) 20:51:52.64
十進型にValの返り値を代入したらAccess自体が死ぬの、うちもなったわ
今まで普通に動いてたのにおかしいなと思ったら更新プログラムが原因だったのか
0424名無しさん@そうだ選挙にいこう垢版2020/06/15(月) 00:21:15.73
vbとvbaって今だに同一化されてねーの?
0426名無しさん@そうだ選挙にいこう垢版2020/06/17(水) 18:39:41.95
【 システム環境  】 Windows10, Access2019
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 フォーム検索

SQL Serverへのリンクテーブル = AAA

フォームのレコードソースにてSELECT文を書いています。

この状態でフォームのテキストフィルタを行うと
すぐフィルタすることができますが、
フォームにて、Ctrl + F で検索を行うと
とにかく検索に時間がかかります。
検索条件をフィールドの一部分にしても同様です。

フィルターなしでの検索が運用上必要ですので
フォームの作り方を変える等、何か手はありますでしょうか?
ご教授願います。
0427名無しさん@そうだ選挙にいこう垢版2020/06/18(木) 00:42:59.32
>>426 とりあえず手元の古いバージョンで
データシートビューの時のctr+Fのメニュー見たら
「現在のフィールド」と「現在のドキュメント」の2択が
出てきたけど、対象がドキュメントになってない?
ドキュメント対象でも各フィールドvarchar255程度で作ってるなら、
レコード数、千程度でも一瞬だと思うけど。

 どれだけの情報量詰め込んだテーブルなのか知らんが、
定石としては1個以上のユニークキーフィールド、
よく検索に使うフィールドにインデックス、
ACCESSとの互換性が危うい型は使わない(ntextとか)
こんなところでしょうか。
ODBC経由で何の絞り込みもなく10万レコードとか開けば、
非力な端末なら色々遅くなるはず。
0429名無しさん@そうだ選挙にいこう垢版2020/07/02(木) 18:23:32.78
え、文字列や整数で保存するの?
0430名無しさん@そうだ選挙にいこう垢版2020/07/03(金) 16:04:16.29
ファイルメーカーになれてるとACCESSのUIはかなりきついものがあるな
プロパティの文字を大きくしたりできないんでしょうか?
0431名無しさん@そうだ選挙にいこう垢版2020/07/03(金) 16:50:23.79
リストボックスのフィールドをレポートやフォームに配置すると複数段になってすべて表示されてしまいます
テーブルだと▼を押して選択したものが入力されます
レポートなどでもどうようにするにはどうしたらいいですか?
0432名無しさん@そうだ選挙にいこう垢版2020/07/04(土) 01:03:32.32
>>431 リストボックスとコンボボックスは、選択入力を補助する
部品です。
フォームで使うもので、普通はレポートには使いません。
テキストボックスを設置して、表示したいフィールドを
レコードソースに割り当ててください。
0433名無しさん@そうだ選挙にいこう垢版2020/07/05(日) 02:27:48.63
ACCESSに移行すべきか迷っています

うちの取引先は5社くらいしかなくて
全部、売掛買掛の関係
相手がでかいから月末にまとめて実績おくってきてそれをコピペしてEXCELで請求書作ってる
請求書に貼ったらVBAで別ファイルにレコードとして転機している
再発行用なので集計などができるようなレコードのつくりではないです

そんなですがACCESSに移行するのはありですか?
その程度の量ならEXCELでやれるだろ、とか
0434名無しさん@そうだ選挙にいこう垢版2020/07/05(日) 02:30:54.25
請求書で思い出したが
請求書って横書きって異端?
商品名や項目多すぎて縦ではキツキツではいらない場合もある
・横書きで項目幅に余裕もたせて行間はつめる
・縦書きで項目詰めて行間広め
同じ30列でも前者がみやすかった
横の移動だからかな

横書きでも変だな、ということはないですよね?
0435名無しさん@そうだ選挙にいこう垢版2020/07/05(日) 07:09:19.99
>>434
縦書きの請求書?ずいぶんと古風な

もしかして用紙レイアウトが横長、縦長ってこと?

それから、30もフィールドあったらどう頑張っても1レコード1行にはならないでしょう。
縦長だろうが横長だろうが、もちろん縦書きでも横書きでも。

1レコードを複数行にレイアウトすればいいだけだけど。
0437名無しさん@そうだ選挙にいこう垢版2020/07/05(日) 13:10:24.17
>>436
そういうことね。
項目=フィールド=列
レコード=行
で伝えないとわけわからん

その上で、10もフィールドあるんだったら1レコードを複数行にレイアウトするしかないでしょう。

例えば
商品番号 メーカー 備考1
商品名 規格サイズ 数量 単価 金額 備考2

横長、縦長についてはどっちでもいいんじゃない。実際、横長の請求書のところもあるよ
0438名無しさん@そうだ選挙にいこう垢版2020/07/09(木) 23:36:52.85
誰か教えてください。

>>423
>普通にMySQLかPostgreで組むのが一番。


これは、MySQLとかPostgreを使ったwebシステムを開発しろってことなんですか?
それとも、既存Accessシステムのインターフェイス他ぜんぶ残して、テーブル部分のみを、
クラウドにあるMySQLのテーブルとリンク設定すればいいってことなんでしょうか?
0439名無しさん@そうだ選挙にいこう垢版2020/07/10(金) 07:52:32.98
SharePoint リスト 使いましょう
0440名無しさん@そうだ選挙にいこう垢版2020/07/10(金) 08:13:47.77
>>438
スレの流れとしては
「前のバージョンでaccessで作るaccessに依存しないwebアプリを作る機能あったよね」
「activeXベースだし、UIもいまいちだからあれはダメだ、今の標準的な手法使わないと」
なので、同時使用者がローカル3人くらいまでなら、db、フロント分離の
共有方式、
3人から10人ならdbサーバーを立てて、odbc、ado接続など、
数十人以上ならaccessはきっぱり忘れて、
ガチのコンパイル工程ありのパッケージソフトにするか、今風にhtmlだのphpだので一生懸命手入力しましょう、ってこと。
0441名無しさん@そうだ選挙にいこう垢版2020/07/10(金) 13:33:14.75
>>438
俺もこれよくわからない
フォームそのままでテーブルのパス変えるだけなの?

クラウドってOneDriveとか?あれリアルタイムに更新されてるんだろうか
0442名無しさん@そうだ選挙にいこう垢版2020/07/10(金) 14:18:36.78
OneDrive でテーブル共有なんて出来ないよ(笑)
あれはレコード更新じゃなくて、ファイル丸ごと上書きするから、無理
0443名無しさん@そうだ選挙にいこう垢版2020/07/10(金) 19:35:07.22
個人や個人事業主レベルじゃあなかなか大変だな
PCつけっぱなしにすりゃいいんだけどなかなかねえ
めったに使わないだろうし
0444名無しさん@そうだ選挙にいこう垢版2020/07/16(木) 07:48:25.26
「1」と書かれたボタンをクリックすると入力フォームに1が入力されるとともにボタンのcaptionが「2」になり、「2」のボタンを押すと2が入力フォームに入力されるとともにボタンのcaptionが「1」になる・・というようにループさせるにはどうコード書けばいいですか?
0445名無しさん@そうだ選挙にいこう垢版2020/07/16(木) 08:26:11.93
自分の作ったもので「編集ロック中」「編集可」と変わるボタンを設置できたので「できる」とだけ言っておこう。
1と表示するためのプロパティ名は何か。それをvbaで使う英語表記にしたら何か。アクションイベントはどれを使うか。

最近、会社で即物的な質問をする馬鹿が多くて、そういう奴は、質問しながら(おまえがやれよ)という空気を出し、一生覚えるつもりがなく、ストレス溜まってるので
今日は少し意地悪してみる。
0448445垢版2020/07/16(木) 13:50:20.27
>>446
>>447
ヒントは出してるけどそんなに変?
5行程度のものだからあなた方が教えてあげればいいでしょ。
たかが5行だけど、オブジェクトの参照や代入の文法と条件分岐、発火の仕組みを身につける絶好のチャンスを
潰すのは、プラモデルを全部作ってやる的なお世話かと。
これを自分で調べて動かせたら
当面はバリバリ、イベントプロシージャを書けるはず。
0449名無しさん@そうだ選挙にいこう垢版2020/07/19(日) 11:26:58.87
売上データの集計をしています
「受注日」カラムがあり、受注日ごとに集計をしている内は良かったのですが、
「締め日」ごとに集計をしたいと要望が来ました
1〜28日はいいのですが、「末日」はどのようなデータをもたせれば良いでしょうか?

テキストのまま「末」はさすがに持たないようにしようと思いますが、
数値だと「99」日?「-1」日?のように内部的にデータを持つのでしょうか
0450名無しさん@そうだ選挙にいこう垢版2020/07/19(日) 11:28:04.58
なおそうなった経緯ですが
今まで現金支払or代引きが多かった→掛払いが増えてきた
という経緯があるため、こういう要望が来ました
0451名無しさん@そうだ選挙にいこう垢版2020/07/19(日) 17:23:26.24
>>449
私なら単純に数値型で 20日締=20、末締=31 とかですかね

定番は以下のやり方です(正規化済みなら)
1.締日IDを顧客マスターで保持
2.売上データに顧客IDを含める
3.売上データと顧客マスターを顧客IDで INNER JOIN し集計
0452445垢版2020/07/19(日) 18:31:01.67
>>449
99は、プロが作ったものでも
よく見ますね。もしくは31でも
フラグ立つかも。
99とか31なら、日付関数を駆使してごちゃごちゃやる。
集計対象のスタート年月日は、
対象月の年月取り出して、
年,月,1で再構築したもの。
エンド年月日は、
スタート年月日をeomonth 1か月後にして年月取り出し、年,月,1で再構築した日付から単純に1を引く
0455名無しさん@そうだ選挙にいこう垢版2020/07/22(水) 06:01:44.82
以前、2000を使用していた際、クエリを山ほど作って、その中で最終的に使用する
クエリだけを「お気に入り」として区分けする機能が有ったんですが。

パソコンを最新型にして2019を入れたら、そういう機能が見当たらないというか
判りません。山ほど有るクエリの中から、以前のお気に入りのクエリを開いて
確認しないと判らなくなりました。特定のクエリを以前のお気に入りの様に
区分けするには、どうすれば良いのか教えてください。
0456名無しさん@そうだ選挙にいこう垢版2020/07/22(水) 08:03:34.11
>>455
ナビゲーションウインドウを右クリックすると、ナビゲーションオプションって出てくる
0457455垢版2020/07/22(水) 12:54:15.59
>>456
ありがとうございました!
前にグループ分けしたのも確認出来ました!
0458名無しさん@そうだ選挙にいこう垢版2020/07/22(水) 23:31:40.02
最近アクセスを触り始め、売上データを作っています

リレーションでデータを引っ張ってくる場合、元データを変更することができるのは理解できましたが、
変更したくない場合はどのようにすれば良いのでしょうか?
例えば商品価格が変わった場合、過去の売上データにも影響が出ると不便です

☆商品テーブル
1 商品A ¥100
2 商品B ¥80

☆売上テーブル
2020/7/22 山田さん 商品A ¥100

この場合、どのような設定をするのか、リレーションでない方法の名前などがあれば教えて頂けますでしょうか
0459名無しさん@そうだ選挙にいこう垢版2020/07/23(木) 01:02:33.23
>>458
リレーションで引っ張らない(選択クエリで作らない)

売り上げテーブルの単価は、商品マスタテーブルの値を参照してレコード入力都度、代入する。
0460名無しさん@そうだ選挙にいこう垢版2020/07/23(木) 22:52:59.61
>>458
はいはい、リレーショナルDBの概念を勉強すると最初にお見舞いされるやつです。
リレーショナル便利じゃん、で商品コードをキーにして、商品名や単価をクエリーでマスター参照し、小計額も 単価*個数 とか
やっちゃいけません。
伝票明細には必要な全ての情報のカラムを作ります。
一般的には商品コード、商品名、入数、単価、受注数量、消費税率、消費税額、税抜き小計、税込み小計(消費税計算は会社の基準による)
で、商品コードを選択したら、マスターを参照して該当するカラムにコピー、一部は計算をするイベントプロシージャを書きます。
商品コードをコンボボックスとし、データソースには引っ張るデータをまとめたクエリー
コードと商品名だけ1cm;5cm あとは、0cm;0cm;0cmみたいな感じにしておく。
更新後イベントプロシージャを呼び出して、 me!単価=me!商品コード.column(2) といった感じでずらずら書いていく。
ただ、アイテムが1000とかあるとコンボボックスは馬鹿馬鹿しいので、
ダイアログ形式(ポップアップウィンドウ)の検索フォーム(google検索みたいなUI)を作った方がいいです。
0462名無しさん@そうだ選挙にいこう垢版2020/07/24(金) 10:19:56.26
表引き
0463名無しさん@そうだ選挙にいこう垢版2020/07/24(金) 10:21:22.75
桐だと簡単だよね
0464名無しさん@そうだ選挙にいこう垢版2020/07/26(日) 22:25:54.34
内容:
【Windows】 10 【Access】 ,2019
【作りたいものの業務分野】
学術研究統計,
【あなたのスキル】
LV1:完全初心者,
LV2:ACCESSの基本要素(テーブルやクエリーなど)の役割を知っている

【どのオブジェクトに関する質問か】

全体です。これから作るので、方針を聞きたいです。

テーブル,クエリー,フォーム,レポート,サブフォーム(サブレポート),リレーション,VBA
【やりたいこと】
仮の表現です。
超電導の物質を作ろうとトライ、エラーをするのですが、その原料の成分の割合を計算し、レシピデータベース化したい。計算結果は3つないし4つの帳票に出力したい
0465名無しさん@そうだ選挙にいこう垢版2020/07/26(日) 22:26:07.97


1、原料Aは、鉛、アルミニウム、銅が、50% 30% 20%含まれている 原理Bは酸化鉄100% 原料Cは鉄20% 酸化鉄20%銅20%アルミニウム20%銀20%

2.A 50% B50% で混ぜたときの、各成分の割合を出力したい。

3.原料に含まれる成分は最大で20成分である

4.多い順に並び替えたい

5.重複は加算する

6.成分で特定の機能を有するもの、放射性のものなどは最下段にしたい。1%以下の割合 同様に、高分子のものは下から2番目にしたい。成分コードで区別する事をかんがえています。ソートかけたらその順になる、ですが、1%以下だけに適用したい。

原料コードとその割合の示した表から、成分の配合比率を出し、出力する。また、データベース化する。



【エラーメッセージに関する質問】
・エラーメッセージの内容 ・windowsは32bit版か64bit版か
0466名無しさん@そうだ選挙にいこう垢版2020/07/26(日) 22:49:14.23
まずは、EXCELでやってみて
0467名無しさん@そうだ選挙にいこう垢版2020/07/27(月) 07:58:11.64
>>465
私が食品の原材料表示を作るやつのモデルに似てますね。
詳しくはあとで加筆するけど
原料マスター(合金)を作ります。
原料マスターには組成マスターを作ってキー列で結合し、1対多を作ります。
組成マスターには単体金属の名称、割合、放射性同位体かどうかのフラグを持ちます。
試作品マスターを作ります。試作品と1対多のレシピマスターを作り、
原料(合金コード)と割合を格納します。
これらがテーブルの基本パーツです。
自動でFe同士を足し算できるかは
入力に揺らぎが出るか出ないかで
実現可能性が変わってきますね。
酸化鉄を鉄と酸素に分けることが
本当に正しいのかも素人にはわからないし。
私の原材料表示のやつは一旦excelに出してから目視で名寄せしてます。
0468467垢版2020/07/27(月) 08:11:18.94
あー、酸化鉄は酸化鉄のままでいいのか。
特殊な化学操作をしないと物性変わらない化合物はそのままね。
0469467垢版2020/07/27(月) 10:50:32.20
これ、皆で見れますかね。
プロトタイプ作ってみましたけど。
ここまでで、30分くらいでできます。VBA一切なし。
https://imgur.com/a/ZGz7fDJ
 今日は、オブジェクト名称の頭は、M_:マスターテーブル Q:クエリー F_:フォームとしました。
お目当ての、組成展開1段階目のクエリーは少し説明します。
 私の業界だと、「レシピ」といえば、200g、300gと配合するので100%に成形するのは
面倒くさいわけです。なので、マテリアル製品を配合した量そのまんまで入力します。
(いろいろ方法はありますが)別途、試作コードごとの合計量を集計クエリーで持たせて、
組成展開の参照データの一つとしておきます。(ここでは計算コケたときのために、わざとLEFT JOINにしてあります)
計算入ってて、画像で隠れている式は以下のとおり
配合率: [M_試作品レシピ].[配合量]/[Q_sum配合量].[配合量合計]
(物質)組成量: [M_試作品レシピ].[配合量]*[M_原料組成].[割合]
(物質)組成率: [配合率]*[M_原料組成].[割合]

第二段階では、物質名の重複を束ねて合計を出す集計クエリーです。ここで並び替えも
発生します。(原料A50% 原料B50%だと、物質の重複がないので、原料B→原料Cに変えました。)
質問の並び替え条件が、門外漢にはちょっとわからなかったので、適宜、条件に含めるパラメータを
原料組成マスターに含めてください。 物質の特性を繰り返し使うようなら、「物質マスタ」をさらに立ててもいいかもしれません。
ここから先は、直でEXCELにコピー&ペースト、もしくはVBA叩いてEXCELエクスポートしてから
装飾するなり、検証計算するなりしたほうが良いと思います。
0470名無しさん@そうだ選挙にいこう垢版2020/07/29(水) 11:03:01.48
【Windows】 10 【Access】 2016
【あなたのスキル】
LV3:VBAが打てる
【どのオブジェクトに関する質問か】
リンクテーブル
【やりたいこと】
リンクテーブルのパスワードを一括再登録したい

Oracleサーバのテーブルにリンクを張っています。
今回Oracleサーバを更新したんですが、今まではODBCの接続にパスワードの大文字小文字を判別しなかったようで、
新Oracleサーバは大文字・小文字を判別するようになっているらしく、
既存のAccessのテーブルが全て繋がらなくなってしましました。
pwd=HOGE で繋がっていたのが、
pwd=hoge じゃないと、繋がらない状態です。

リンクテーブルマネージャーで、現行の大文字で入れていたパスワードを小文字で入力しなおすと、
接続できるのですが、そこでAccessを保存しても、パスワードの文字列内容が変わってないと判断されるのか、
Accessを再起動するとまた繋がらなくなってしまいます。

リンクテーブルを全削除して、再度リンクテーブルを再登録すれば問題ないのですが、
複数のAccessがあるので、できるだけ簡素化したいと思っています。
0471名無しさん@そうだ選挙にいこう垢版2020/07/31(金) 00:16:57.09
ギフトチケットの売上データを作成しています
※ギフトチケット=結婚式などで配るアレ。¥2000分の商品をカタログの中家から好きなだけ購入できる・・・といったシステム

テーブルとしては、以下があります

・紹介元(結婚式の新婦)
・売上データ(結婚式の参列者が買ったもの)
・申請個人情報(結婚式の参列者自身のデータ)

のようなイメージです
前提として
「申請個人情報」は色々出てきます。要するに、色々な結婚式に参列します

この時、「紹介元」は、
「売上データ」か「申請個人情報」どちらに付ければ良いでしょうか?
0472名無しさん@そうだ選挙にいこう垢版2020/07/31(金) 01:55:00.32
>>471
カタログギフトでしょ。貴方がどちらさんなのか
(式場関係者なのか、カタログ販売業者)なのか読み取れません。

式場としての経理帳簿なら単純な話です。
両家からお金を貰い、カタログを引き出物袋にセットアップした
時点で、「両家との取引」は完了します。
招待客は、カタログのみに限るなら、取引相手ではありません。
この場合の質問に対する答えは、
「紹介元(というか両家)」と「売上帳簿」は紐づけますが
「申請個人情報(というか招待客)」はそれ自体が不要データです。

カタログ業者の場合、
こんなもんはACCESSで作るべきではない
どの企業も大がかりで堅牢なIT技術で管理してます。
 カタログに付けた引き換えハガキは、有価証券であり、
先に現金を貰うことから負債扱いなので、ハガキのリクエストを
処理したら消込しなきゃならんし。経理も複雑です。

 これを支えてるのはユニークコードを発行、記録し、
ハガキに印刷しているバーコードです。
 「申請個人情報」、まあ集めてもいいですけど、昨今は
カタログ自体を有償・無償で譲渡する人もいますけど。
 一部、良心的な業者は「紹介元(というか贈り主)」もしくは
「個人情報(というか贈り先)」にたいして
引き換え有効期限が近づいたときに、お知らせしてくれる場合も
あるみたいですが。

 入社して間もないか、システム作りを委託されたものの、
業務内容を把握しておらず、要件定義が定まっていない、
という印象を受けます。
0473名無しさん@そうだ選挙にいこう垢版2020/07/31(金) 14:44:44.13
顧客テーブルに項目を追加したい事案があるのですが、かといって全ての顧客に必要な情報ではない項目となりますので
テーブルを分けるべきかと思っています。
そこで、顧客テーブルと補足テーブル(今回追加したい項目の例です。本当は補足ではないです。)に分ける場合、

既存の顧客テーブル
主キー 名前 住所 電話番号
1   鈴木 aaaaa 090-1111
2   佐藤 bbbbb 090-2222
3   山田 ccccc 070-3333

追加する補足テーブル
主キー 顧客テーブルキー 補足事項
1    3        すぐ怒る。カツラ。
2    1        超お得意様。

という感じになるのかなと思ったのですが、補足テーブルの方で同じ顧客に対して複数の補足事項を登録できてしまいます。
本当は補足事項を登録できるのは各顧客に対して一つだけという風にしたいのですが、これは入力フォームで抑制処理
すべきという考え方で上記諸々合っていますでしょうか?
0476名無しさん@そうだ選挙にいこう垢版2020/07/31(金) 18:45:23.89
>>473
子テーブルってデータ数不定の配列みたいな役割で使うから
その情報だと子テーブル要らなくない?
プレミア客とか、統計的に抽出したい用事があれば
1カラムで設けて、抽出や並び替え不要のものは備考欄でも作ってメモすればいいのよ。
カラムなんて200やそこら作ったところで、挙動がクラッシュしたりはしません。
キントーンなどの、巷のSaaSデータベースはだいたい、そういう作りです。
0477名無しさん@そうだ選挙にいこう垢版2020/07/31(金) 21:06:20.02
>>475-476
ようするに、この例で言う補足事項がその顧客に対して記入することがなくても、顧客テーブルに補足事項の項目を持っていても
DBの作法として問題ではないということでしょうか。
それはそれで気が楽で作業工程としても難なく組み込んで終わらせられます。
ありがとうございました。
0478名無しさん@そうだ選挙にいこう垢版2020/08/01(土) 22:28:49.03
>>472
ありがとうございます
おっしゃるとおり、ITに若干強い程度の経理です
accessもmysqlも趣味でずっと触っていたのですが、何故かテーブルやなんやがイメージできないので質問致しました
諦めたほうが良さそうですね

>カタログ業者
の、卸に当たります。様々なカタログギフトを取り扱っていて、更にエンドユーザー(カタログギフト受け取った人)に直接請求するパターンもあります
※高額商品や、オプションなど
※請求先はエンドユーザーの場合と業者の場合二通りあり(エンドユーザーが一度業者に支払ってから・・のような感じらしい)

・カタログ業者に請求(業者は複数。もちろんカタログも星の数ほど)
・特殊商品はユーザーに請求(上記同様さまざまなケースあり)
・紹介いただいた方に手数料も支払う必要あり
・顧客のキャンセルあり
・カタログ掲載商品が無くなる事も(コロナで特に、旅行系は全滅。食品も半分以上壊滅)
0479名無しさん@そうだ選挙にいこう垢版2020/08/02(日) 01:21:19.20
>>478 経理の方ですか。
 それなら私が言うまでもなく、仕訳大変でしょう。
 単純取引なら2行やそこらで済むものが、そのビジネスモデルなら10行くらいになりそう。
商流が複雑すぎます。
 アップグレード料金はカタログ業者ではなく貴社が預かる、ということは添付の注文ハガキも
貴社が受け取って、メーカーに直送手配かけてるってこと?
 それだと「カタログ業者」はただの出版社or印刷会社、ということになるけど。

 さておき自作するにせよ頼むにせよ最終的には「何がしたいのか」が見えてきません。
「売り上げ管理がしたい」は、「パソコンしたい」くらい漠然としたものです。
 システムの目的は何を楽にしたいのか(便利にしたいのか)、に尽きますので
まずは、この商品に関する最も複雑なパターンの全タスクをフロー図にしてみることです。
 仕訳の煩雑さの解消、が目的であれば、ぶっちゃけ「そんなカタログの取り扱いは止める」が
最も事務コストを下げるでしょうね。
0480名無しさん@そうだ選挙にいこう垢版2020/08/07(金) 00:08:42.18
最新版Accessはテキスト型が1000文字までになったって聞いて
いいなあ買い替えようかなあと思ってて
2010のサポート期限迫って来たんで
よし買い替えようと思って改めて調べてみたら
そんな仕様変更してなかった。

何か起動が遅いらしいし
2019の長所だれか教えて。
0481名無しさん@そうだ選挙にいこう垢版2020/08/07(金) 07:41:46.66
>>480
メモ型を「長いテキスト」という名称に変更したらしい。
起動はSSDではそんなに悪くは思わない。
たぶん内部はwindows10に最適化したり、データの破損が起きにくい改善をしてると思うけど
良くも悪くも「放置」してるのかのようなUIの変わらなさなので
なんとも。
レポートのpdf吐き出しは重宝してるかな。2010ですでに実装してるかもしれんが。
0482名無しさん@そうだ選挙にいこう垢版2020/08/07(金) 10:44:48.16
UIは自分で作ってください
0483名無しさん@そうだ選挙にいこう垢版2020/08/07(金) 13:13:55.65
変わらないのは良い事なんだけど
あまりに長い間変わらな過ぎて色々目についてしまいますね
IIfのバグに近い謎仕様とか、レイアウト枠の謎挙動とか
オプションボタンの優先順位とか
MSはもう保守する気ないんですかねぇ
0484名無しさん@そうだ選挙にいこう垢版2020/08/07(金) 19:34:18.72
>>483
そういえばaccess特有のiifだわな。
前のレスでうっかりeomonthと書いたけど、よく考えたらexcelの関数だった。もう少し共通化してほしい関数もあったりする。
あと、ディスプレイサイズで縮尺変えるレスポンシブ風味なuiとか、
レポートはいっそhtml cssで細かく動的なレイアウト可能にするとか。
ブラウザコントロールのエンジンはいつまでIEベースを使い続けるんでしょうね。
0493名無しさん@そうだ選挙にいこう垢版2020/08/09(日) 23:44:44.17
前なったな
主キーとか設定したりインデックス設定したりレポートのレイアウトちょっと買えたりしてる内に治った
重いとなる気がする
0498名無しさん@そうだ選挙にいこう垢版2020/08/10(月) 20:35:11.76
え? 開きっぱなしでフォームやレポートの制作・改修・追加・修正とかやってるとバンバンメモリ食うぞ
都度保存とか一旦閉じて、閉じるときに最適化とかするクセ付けないと二度手間食らうのは
今もおんなじだろ  メモリ食うのか肥大化するのか 何にしろ裏でバックアップファイルが巨大化
してるのは事実 レコード数とかは関係ない 32bit OS 4GBマシンとかなら尚更
0500名無しさん@そうだ選挙にいこう垢版2020/08/10(月) 21:10:35.16
>>493
だけど・・・

MSofficeは全体的に挙動に変な癖がある。あと、skype
恐らくポインタがおかしくなってるんだろうってのはよく聞く。
ポインタが飛んでいってもメモリが多ければカバーできる可能性があるって程度で、
量というよりも桁が違うぐらいだと安定する。メモリ4GBよりも32GB、みたいな感じ

特にAccessは割と酷く、かなり気を使って作らないとバグりまくる
主キーとインデックスは特に気を使ったほうが良い、というかここまであかん子ならデフォルトで全部インデックス貼ってくれと思う

>>499
16GBは最低限をクリアしてると思うけど、
Accessとskypeは変なリソースの食い方をするから油断できない。
ハードに任せっきりだけじゃなくちゃんとチューニングした方が良い。
0505名無しさん@そうだ選挙にいこう垢版2020/08/24(月) 18:35:26.04
64ビット版にしても性能上がらんのか(笑)
0508名無しさん@そうだ選挙にいこう垢版2020/08/26(水) 02:27:50.84
レポートやフォームの仕切り線などは
エクセルに引き続きかなり太いものしかないですよね

エクセルはオートシェイプでやればなんとかできましたが
ACCESSでは細い線をだすことは不可能ですか?

細線を選んでもかなり太いようです

たぶんACCESSでつくったであろう印刷されたレポートをみると
細い線もつかわれているのでやりかたはあるようですが
オートシェイプの0.5と0.75の仕切り線がほしいです
0510名無しさん@そうだ選挙にいこう垢版2020/08/26(水) 10:53:45.95
Accessの線はラスターじゃなく画像
0511名無しさん@そうだ選挙にいこう垢版2020/08/26(水) 13:06:02.21
テキストボックスの枠線にしろ、個別の図形にしろ
仕方無いからVBAで処理したことはかつて有る それはExcelでも同様
内社的には無駄なあがきだけれど、対外的な書類(請求書など)では
センスアップされてスマートで見栄えが良くなる(←気のせい)

因みに何故気のせいかというと、プリンタ性能にも依るので、
プリンタがへぼいと望んだものが出ない事態に陥る
0512名無しさん@そうだ選挙にいこう垢版2020/08/26(水) 13:40:53.97
今まで正常だったんだけど
レポートビューとレイアウトビューで一部のフィールドの高さが低くなって文字が上半分しか表示されずに切れるようになった
印刷プレビューや実際の印刷ではそうならずに正常に表示される

知らずに変更してしまったどこかのプロパティが影響しているのでしょうか?
0513名無しさん@そうだ選挙にいこう垢版2020/08/26(水) 13:42:32.66
>>511
やってる側はこだわってしまうけど大抵の人はEXCELのぶっとい線でも気にしないからね
まれにレイアウトがきれいだな、と思う人がいるくらいだろうな
0518名無しさん@そうだ選挙にいこう垢版2020/08/26(水) 15:59:57.80
accessのレポートは罫線を引くんじゃなくて
背景に印刷書式の画像持ってきて
枠線なしのテキストボックスを置いていくもんじゃない
0519名無しさん@そうだ選挙にいこう垢版2020/08/26(水) 17:32:17.58
複数ページに亘るデータでもそれで対応できるなら可
ヘッダー・詳細・フッター各セクションでタテ罫線繋がる?
上下余白の関係で隙間できたりしない?
0522名無しさん@そうだ選挙にいこう垢版2020/08/26(水) 20:41:10.22
上のリンク先にあるように
> 境界線の正確な幅は、使用するコンピューターとプリンターによって異なります。
> 一部のシステムでは、[Hairline/細線] と [1 pt/1 ポイント] が同じ幅になることがあります。
ということは、各端末によっても差異が出るということじゃね?
グラボの性能差かプリンタの精細差か のことを言ってるのかも知らんけど

自信満々で客先に納入したけど「ぐわあぁぁぁ」って成ったことは何度かある ←学習しろ
自社のプリンタだとこう出るんですけどね って実物サンプル必須 ←学習結果
0523名無しさん@そうだ選挙にいこう垢版2020/08/26(水) 21:17:09.20
VBAで10本ほどDrawWidth変えながら線書くのってどう書くんですか?
一本ごとに手打ちでDrawWidthいれるような
羅列でいいので教えてください
0524名無しさん@そうだ選挙にいこう垢版2020/08/26(水) 23:00:04.33
線の話?
excelでいちばん存在感のない
直線作りたいときは点線使ってるけど。
うちの複合機で印刷するとあら不思議、極細の直線になります。
あと色番号0じゃなく、グレーと黒の中間色にするという手もある。
0526牧野 ◆Vbs7gX72NY 垢版2020/08/26(水) 23:37:30.76
>>523
0.25ずつ増えていく感じで

Sub Macro1()
For i = 1 To 10
ActiveSheet.Shapes.AddConnector(msoConnectorStraight, i * 10, 1, i * 10, 100).Select
With Selection.ShapeRange.Line
.Visible = msoTrue
.Weight = i * 0.25
End With
Next
End Sub
0528名無しさん@そうだ選挙にいこう垢版2020/08/27(木) 00:14:30.31
>>526
>>527
シートの部分とかが変わるんですかね

コードは書けないので日本ので書きますが
例えば

詳細 に線を書く 太さ1
詳細 に線を書く 太さ2
詳細 に線を書く 太さ3
詳細 に線を書く 太さ4

といった感じのコードをいただければ太さを色々変えて印刷して試せそうです
太さは0.25や0.5などの指定はできず1〜(何まであるのでしょうか?)の指定になるんですよね?
0529名無しさん@そうだ選挙にいこう垢版2020/08/27(木) 01:37:08.09
ACCESSを数人の小規模で使う場合
データベースとフォームをわけて
安いNASにデータベースをおいてそれにアクセスするような感じで使うんですか?

よその会社の事務所みると3台ほどPCあってACCESSでやってるとこあるみたいですがそんな感じでしょうか?
0530名無しさん@そうだ選挙にいこう垢版2020/08/27(木) 01:40:44.06
ちなみに複数従業員で使う場合
ランタイム版を使えばライセンスの購入は不要なんですよね?

なんでACCESSだけランタイム版があるんでしょうかね
0531名無しさん@そうだ選挙にいこう垢版2020/08/27(木) 02:44:35.82
細い線に関してだが
線を二本配置してそれぞれ黒と白にする
位置を入力して任意の線にする、とかは駄目なんだろうか?
例えば1の黒線書いて1の白線を上にかぶせて0.5になるようにするとか

目が痛くなりそうで
できるかは試してないがひとつのアイデアとして

細線と書いてあるのはヘアラインといわれるやつで
太さ設定なしでプリンタの最小の細さで印刷されるらしい
0533名無しさん@そうだ選挙にいこう垢版2020/08/27(木) 18:15:42.88
うろ覚えで書いたけど、VBAで処理したのは最終段の合計枠を強調するために
一ページで終わる場合と複数ページの場合でだった スマン
複数ページの場合は他のページの合計枠を細線にしてただけの処理だった

あと、実際にレポート上に7本線引いてVBAでBorderWithに小数点使ってみたが
0 0.5 → 細線(0ポイントと同じ)
0.85 1 1.3 → 1ポイントと同じ
1.7 2.2 → 2ポイントと同じ線を引いたんで、四捨五入だか五捨六入してる
素直に0〜6ポイントで選ぶか、破線や色変えでの対応しかない?

何のデータも無いレポートに線を引くVBAは
http://www.ps-wing.com/vba/sample009.html  ここに有った
但し横罫線38cmに成ってるからA3ヨコ用 その部分を変えれば他のサイズでも応用可
縦罫線も引いてるからタテとヨコの場合で違いが出るか?とかも調べられるかも
0535名無しさん@そうだ選挙にいこう垢版2020/08/28(金) 00:19:48.78
他の掲示板にあったやつだけどこれどうやるの?
Me.Line(0,0)-(0,0)でライン書く座標を可変にするってことだろうけど


『レポートで任意の位置にこれらを配置するにはどのようにしたらよいでしょうか?
レコードがない場合は縮小印刷するフィールドを含みますがそのように細かいしては不可能ですか?


見出し
______________ 7px
フィールド1
フィールド2
______________ 1px
フィールド1
______________ 1px
フィールド1
フィールド2
______________ 1px 』
0536名無しさん@そうだ選挙にいこう垢版2020/08/28(金) 02:03:14.70
任意の線なんてEXCELでオートシェイプ書いてコピペすりゃ一発だろとおもってやってみたが
OLEサーバーがなんたらとかでてうまくできないな

0.5はエラーOK押しまくったらできるのはできた
でも0.25はなぜか長方形に変換されてしまったよ
0537名無しさん@そうだ選挙にいこう垢版2020/08/28(金) 15:32:48.25
>530
ランタイム版があるのはaccessはデータベースに入力するソフトじゃなくてデータベースを作成するソフトだからじゃないかな
そういう意味ではワードやエクセルよりもプログラミングソフトのほうが近いかと実際に高度なものはプログラミングソフトで作っていくからね
0538名無しさん@そうだ選挙にいこう垢版2020/08/28(金) 18:56:30.31
レポートでレコードごとに仕切り線つけようと思って一番下に配置しても微妙にずれるというかぴっちりならなくないですか?

交互に色が変わるやつを設定してるとそれとズレているのでよくわかります

どうやってきれいに


レコード1
______

レコード2
______

レコード3
______

とラインを引くのでしょうか?
詳細の設定などで余白ができるようになっているんでしょうか?
0539名無しさん@そうだ選挙にいこう垢版2020/08/28(金) 20:24:07.55
状況が不明だが、例えばレコードを高さ0.7cmのテキストボックスで貼り付けて
直線を上から0.7cmに配置してるけど微妙にズレる  ということかな?
テキストボックスの枠線は透明にしていて、直線は黒とかにしてるが僅かにズレてるのが判るとか?
直線を0.695とか微調整するしか無いんじゃね?
0540名無しさん@そうだ選挙にいこう垢版2020/08/28(金) 21:56:49.23
エプソンのインクジェットで印刷したやつ。
ラベル貼り忘れたけどいちばん上が黒の実線 細線ね。
点線はaccessだと、どうやらそのまま点線になるのでダメだな。
excelの一番細かい破線を会社の複合機で印刷すると細い直線になるのでよく使うんだけど。

黒から一段二段グレーに傾けると
存在感のない線になる。
手間かけないならこれが一番手っ取り早いんじゃない?
https://i.imgur.com/pAqooeP.jpg
0541名無しさん@そうだ選挙にいこう垢版2020/08/28(金) 23:54:28.52
>>540
手持ちのブラザーのモロクロレーザープリンタでは細線はほぼ印刷されませんねえ(600dpiで印刷)

>>539
一般的に詳細の高さってフィールドよりは少し高くするものですかね?
0543名無しさん@そうだ選挙にいこう垢版2020/08/29(土) 08:00:25.48
Accessレポートの罫線はVBAで引くんじゃないの?
Lineメソッドだっけ
0544名無しさん@そうだ選挙にいこう垢版2020/08/29(土) 13:01:05.72
>>539 のケースで、極端な例で言うならテキストボックスの高さを0.8cmにして
直線の位置は上から0.7cmとかなら多分ズレは見なくなると思う
システムの特性でインチ基準なので、端数で設定しないと思い通りの位置に成らない
ことはままある
印刷済み用紙に位置合わせする時などはテキストボックスの内部余白を調整して
合わせるとかまである
0545名無しさん@そうだ選挙にいこう垢版2020/08/29(土) 13:11:50.91
>>544
MS的にはレコードごとに線を引く、とかいう自体がイレギュラーって認識なんだろうか
調べてたら質問掲示板に
VBAで

https://i.imgur.com/0aLCOcX.png
(改行多すぎてコード貼れなかった)
としてレコードごとに引くというのがあったが
それでもずれるとかかいてあった

・ヘッターとの仕切り線の左端の下部分がかけてしまう
・詳細の奇数レコードと偶数レコードで線の幅が変わってしまう(微妙に詳細の一番下にラインがない)
・レコードの仕切り線の太さを50にしてみたら顕著に太さが違う(太くなっている線は支点の左上がかけている)
画像をアップしました
https://imgur.com/vKXKqky

らしい
0547名無しさん@そうだ選挙にいこう垢版2020/08/29(土) 13:51:37.46
いや、それはお好みでとしか レコードの内容次第もあるだろうし
文字だらけでごちゃごちゃしそうなら余白は大目にとかもあるし
大体が、アメリカ人の書類っていちいちレコードごとに横罫線引かんだろ
テンプレートとか参考にしてもそんな例はほとんど無いんじゃね?
無駄なところに余計な労力は費やさないようにしましょう
イギリス人がどうだかは知らん

因みにテキストボックス高さ0.42cmフォントサイズ10.5でもなんとか読めるんで
それ基準でどこまで高く・大きくするか見繕ってる 要件のうちでその書類に
要するボリューム等々もあるんで、これがベストってのは中々決めらんない
0548名無しさん@そうだ選挙にいこう垢版2020/08/29(土) 13:59:48.11
>>547
俺はフォントサイズ8でやるときもある
ドコモとかヨドバシとかの明細もそんなもんだから

そうしないと用紙に収まらなくなるってほど多いのあるからな
0550名無しさん@そうだ選挙にいこう垢版2020/08/29(土) 14:08:13.93
>>547
わかる。作文用紙の影響からか
日本人、升目大好きだよね。
稟議書がexcelとか、どうかしてる。
古くは障子を使って計算してた史実もあったそうで。
accessのレポートのレイアウトは基本的にはアバウトに考えたほうがいい。
いちおう、連帳伝票の印字を割り付ける程度の精度はあるけど。
0551名無しさん@そうだ選挙にいこう垢版2020/08/29(土) 14:46:51.94
欧米はタイプライター文化だから文字のラインが揃ってるのがデフォで、罫線って何?
0552名無しさん@そうだ選挙にいこう垢版2020/08/29(土) 21:07:03.47
興味を持ったんで軽くググってみた キー・パーソンは「アラン・シャンド」
幕末にイギリスから横浜の英国銀行の支店長代理として来日している
高橋是清とか渋沢栄一とかに師事したのか影響を与えた のか なんかそんな立場
江戸期の大福帳から帳簿に変化させていった最大功労者 と思えた

で、英国は当時すでに赤青黒罫線の見慣れた帳簿形式を確立してた
と成ると派生したアメリカでも当初はそれを踏襲してたはず だし、資料も残ってる
それをアメリカ人気質でどんどん簡略化してっての現在なんだろな
イギリスの現状はどうなんだか気には成る 似たような苦労してるのか?果たして  スレチでごめんなさい
0554名無しさん@そうだ選挙にいこう垢版2020/08/29(土) 22:25:15.84
Accessにファイル名のテーブルがあって、フォームか何かを使ってその中から手動で選んで、ボタンを押すとそのファイルがダブルクリックされるという動作をさせることはできますか?
0557名無しさん@そうだ選挙にいこう垢版2020/08/30(日) 14:19:21.47
電卓叩いて検算してた頃の名残り ってのもある
相手を信用しないという訳では無いけれど、仕事ならそれはして当たり前の作業
コンピュータ出力だからと安直に鵜呑みには出来ないのは
昨今の軽減税率導入時にもアチコチで散見された 小数点の丸目が間違ってたり

もう一つは、それこそその例に書いた通り、次ページがあるのに気付かずに
一枚目だけを封入して送付してしまったり、生憎丁度プリンタの用紙切れだったのに
気付かない方まま提出してしまったりのケアレスミス予防とか  まあ、いずれにしろどっちでもいい
0558名無しさん@そうだ選挙にいこう垢版2020/08/30(日) 17:51:28.26
>>556
accessだとどっちにしろフッターに合計算埋めるから飛び出してようが、
明細と同じ枠を作ろうが、どっちでもいいんだよ。
それより大事なのはヘッダー欄で、ヘッダー欄専用のテーブルは必要になる。
締め業務の設計はやたら面倒くさいのでaccessで納品書、請求書は作るな、というのが私の基本スタンス。
売掛がない主に個人向け販売や、買掛の管理用ならいいけど。
0559名無しさん@そうだ選挙にいこう垢版2020/08/30(日) 18:46:42.08
>>558
専用のテーブルって?

ACCESSはオススメできないなら何がオススメなんですか?
締ってそんなに大変だったっけ?
売上入力するときに計算してどの請求書にいれるかの日付を格納させてるからそれで抽出してたが
0560名無しさん@そうだ選挙にいこう垢版2020/08/30(日) 19:32:23.03
>>555
ハイパーリンクでもいいんですが、全データにフルパスのハイパーリンクをテーブルに格納するのは手間なので、
ボタンを押したときにファイル名からパスを生成して叩きたいんです
元テーブルにハイパーリンクフィールドがないと無理ですかね?
クエリの段階で生成してもいいんですが
0561名無しさん@そうだ選挙にいこう垢版2020/08/30(日) 20:24:37.80
>>560
そこまで詳しいなら特に言うべきことはないです。結局何がしたいのかさっぱりわからんし。
フルパスを入れるのが面倒?検索で容易にヒットするファイルダイアログをコールしてフルパスを登録する方法も嫌?
全てが面倒なら実はデータベースに登録する必要すらない要件なのでは?
その場合、ブラウザコントロール使って「files」から始まる疑似urlでファイルビューア的に使うこともできるけど。
0562名無しさん@そうだ選挙にいこう垢版2020/08/31(月) 01:11:38.79
>>559 自作することに、それなりにリスクがあると言いたいだけ。
売掛金を請求する、しかも少額ではない金額、というのは大きな責任が伴うので。
ベンダーのERPの構造を真似して作ったものは
締めの指示を入れる時に、得意先ごとの締日から対象期間を抽出、
明細を請求明細にコピーするか、売り上げ明細に請求番号埋めて、
本体価格の積算を「請求のヘッダー用テーブル」に格納、
前月の売掛金のサイトが1か月以内、全額支払いとは限らないので前月残高を
計算、今月の最終請求額を確定。

さらに軽減税率対象品を扱ってる関係で、最近は8%と10%をそれぞれ集計する、
という手間も増えた。
請求書の保全性を保証するという意味では、売り上げ明細をただSUMしたフィールド
を設置して、「請求書でございます」は
あんましお勧めしないかな。

個人零細で、1見積もり、1受注、1請求、すぐに支払い、みたいな感じなら
簡易的な設計でもいいと思うけど。
0563名無しさん@そうだ選挙にいこう垢版2020/09/01(火) 14:07:24.76
>>560
そういやおまけで付いてくるNorthWindデータベースにそんなような機能付いてたな
と思って2019でサンプルDLしてみたら全部英語だった
だけどやっぱしディテールフォーム上からそのレコードに添付したい画像を選択できた
しかも今のは複数画像をどんどん追加する事さえできる(頁めくりボタンみたいのも出る)

どうやってんだろ? とチラと見てみたが・・ よく分らん orz マクロはあんまし
関係無さそうだった さりとてVBAっぽくも無いような、なんだこれ?

ここが解析できれば画像だけじゃ無く拡張子変えて他のファイル形式も可能な気がする
自分もハイパーリンクでいいじゃん派だったけど、この機能使ってスマートにしたい
以前のもこれ使って改良できる気がしたから、様子見て分析してみる
0564名無しさん@そうだ選挙にいこう垢版2020/09/01(火) 15:11:37.85
くだらん テーブルのフィールドのデータ型を添付ファイルにすれば出てくるダイアログだった
解析だの分析だのアホかと
どんなファイルでも添付できるが、画像以外を添付すると中身は開かないと判らん
ダイアログ内にはファイル名出るからそれで判断ってことか
0565名無しさん@そうだ選挙にいこう垢版2020/09/01(火) 19:45:07.04
>>564
私が匙投げ掛けたのをせっかく別の角度で言ってくれてるのを頭ごなしに否定するかね。
あんたブレインストーミングに向いてないね。
mariaDBなどの汎用でいうところのblobみたいなもんだから、アプローチとしては間違ってないと思うけど。あとはデータ壊れがちaccessがどこまで堪えられるかってだけで。
おーい、質問者でてこーい。
何がしたいんだね。
0566名無しさん@そうだ選挙にいこう垢版2020/09/01(火) 20:47:56.71
ちがう、ちがうw 昼間の二件は両方じぶんが書いた 気負い込んだけど腰砕けだったって話
なんせ、最新の添付ファイル形式なんか使ったこと無かったから、ちょっと惑乱したと

ハイパーリンク、OLE、添付ファイル形式どれでもいいんだろうけど
Accessの仕様上 OLE > 添付ファイル形式 > ハイパーリンク で容量を食うらしい
どんなファイルをリンクさせたいのか詳細は不明だけど、建設業で現場写真や図面の整理が目的
とかだとしたら、昨今の画像ファイルは巨大だからすぐさま仕様の上限に迫るだろうから上の左二つは
使わない方がいいだろうな
大した容量が無いファイルだらけなら添付ファイル形式がいちばん楽な気がした

どうしてもリンクをテキストで保存したい理由があるとかなら、VBAで良けりゃコードぐらい出すのはやぶさかでない

余談だが、そのフォームの左側でドロップダウンリストボックス内にチェックボックス付きでリストを見せてた
へぇ、今のはこんなことも出来るんだと感心した ?付けた分だけリストに併記できるだなんて
これも応用でファイル添付に役立てることは出来そうだな とは思った
0567名無しさん@そうだ選挙にいこう垢版2020/09/01(火) 21:06:05.80
>>566
それは失礼しました。
1個1Mくらいまでのファイル張り付けるなら有りかなと思う。
先日、画像用にoleオブジェクト欄作ってあったのが、いつのまにかデータ壊れてたので
添付ファイル形式に変えた。
ドラッグ&ドロップが使えず、登録の仕方にややクセがあるのが難点だけど。
accessDBは時々わけわからん壊れ方するから、dbサーバーを立てる、添付ファイルの元ファイルは完全に保全しておく、大人しくハイパーリンクを使う
のいずれかでしょうね。
0568名無しさん@そうだ選挙にいこう垢版2020/09/05(土) 23:14:28.71
フォームってVBエディタで書き出せるのはVBAのコードだけで、VB6のフォームみたいにソースコードで書き出せないんですね
エクスポートして、テキスト編集でコード直して、インポートしたかったんですけどね
0569名無しさん@そうだ選挙にいこう垢版2020/09/05(土) 23:32:08.38
印刷用のレポートって細い作り込みできないよね?
フィールドの文字を正確に中央揃えとか
高さのあるフィールドの横にそれの中央に合わせてフィールドを配置するとか
0570名無しさん@そうだ選挙にいこう垢版2020/09/06(日) 11:20:23.85
使うフォントやサイズにも依るだろうけど、テキストボックス内の上下左右の余白を駆使するとか
試しに□(四角)で印刷してみてその余白値を微調整だろうな
VBAでやりたかったら、hatena chips さんの AutoFontSize とかをお借りするとか Formでも使える
とは言え、等幅やプロポーショナルとかメイリオ・遊ゴシックとかが影響するから微妙な時も有り得る
0571名無しさん@そうだ選挙にいこう垢版2020/09/06(日) 19:32:55.74
せめて中央揃えはほしいよな
というか1とかにしても1.03とかにされるのも困る
作品じゃないんだから読めればいいだろ、というスタンスなんだろうが
0574名無しさん@そうだ選挙にいこう垢版2020/09/06(日) 21:03:51.13
MS日本のAccess部隊が追いやられてるので、そこまで手が回らない
一部キチンと入るプロパティもあるだろうけど、殆どはcmで入れてもinch換算されてしまう
誤差が出ても諦める そういうもんだと軽く流すしかない
0.97 と 1.00 と 1.03 をそれぞれ見極められる読み手も少ないだろ CAD屋なら兎も角
或いは全部inchで揃えたらきれいに成るのかも知れない やったこと無いから知らんけど

ま、Excelだって10cm四方の正四角形の図形を描いてからモニターに定規充ててもズレてるし
印刷しても9.xxcmだったりするから一緒だな
0575名無しさん@そうだ選挙にいこう垢版2020/09/06(日) 22:16:27.36
シビアにtwipを取得して
レポートのテキストボックスの高さを再指定する関数作ったけど
それでもうまく行かないこともある。
0576名無しさん@そうだ選挙にいこう垢版2020/09/06(日) 23:00:52.40
SELECT * FROM Hoge WHERE Col1 = 'AA' AND Col2 NOT LIKE 'BB*'

こんな単純なクエリで結果が空になります…。
WHERE の条件を個別に試すとそれぞれちゃんと動くんだけど…。
もちろん2つの条件を満たす行はちゃんとあります。

どうしてこうなるのかサッパリ分かりません。
分かる方、よろしくお願いします。
0577名無しさん@そうだ選挙にいこう垢版2020/09/07(月) 02:29:10.31
>>576 andの前後をかっこでくくってみたら。
デザインビューで自動生成したやつだから、やたら()多いけど
一応動いたけど。
col1 col2
aaa bbba
aaa ccc

SELECT [テーブル1].col1, [テーブル1].col2
FROM テーブル1
WHERE ((([テーブル1].col1)="aaa") AND (([テーブル1].col2) Not Like "bbb*"));
0579名無しさん@そうだ選挙にいこう垢版2020/09/07(月) 21:15:06.66
>>577-578
アドバイスありがとうございます。

原因が分かりました。
改めてテーブル定義を調べたところ、
「NULLは可、空文字列不可」
でした。

そりゃ 空に見える NULL値相手に LIKE は効かないですわ…
(頭がおかしいですけど富〇通のシステム)
で、LIKE で引っかかったと思っていたレコードも「何故か半角スペースが入っていた」というのが真相でした。

〇士〇は死んだ方がいと思いました。
0582名無しさん@そうだ選挙にいこう垢版2020/09/08(火) 03:23:17.45
例えば10行ほどのレポートで
ずらりと等間隔に置きたいんですよね
フィールドの中でもずれるし、小数点でもずれるしで
いびつになっていく

エクセルでは余裕だがあるフィールド群にたいして真ん中に寄せるとかもないからなあ
ファイルメーカーではとっくになるのに
0584名無しさん@そうだ選挙にいこう垢版2020/09/08(火) 12:07:22.59
Excel や FileMaker なら得意だが というAccess 貶めの意図は通じた
己の状況を見知らぬ他人に伝える能力は劣ってるのも伝わった

小数点でも・・と書いてるから、左右の位置ズレなんだろうなとは思うが
フォントの種類・サイズ、フィールドの書式設定、上下左右位置決め、内部余白
ここらを見直しても直らないならスクショ撮って載せなきゃわかり辛い

ずらりと等間隔に置きたい  なんだろ? 左右均等揃えとかの意味かな?
0586名無しさん@そうだ選挙にいこう垢版2020/09/08(火) 19:54:13.68
>>583
NULL は特殊な値だから = や LIKE は通じない。
また、条件をバラして実行してみて、LIKE で空文字列が引っかかったと思っていたら実は半角空白が入れてあった、ということ。
0587586垢版2020/09/08(火) 19:55:19.59
http://wkubota.はてなブログ.com/entry/2014/02/18/004047
こんな感じだった。
0589586垢版2020/09/09(水) 21:13:36.63
>>588
良くはないです。
一応そこそこのSQLは書けるし書いてきた。

「テーブル設計がクソ過ぎ。だけど変更できないから生データに触るのも一苦労」
という地獄ですこれは。予想の斜め90度行っちゃってた。

ちなみに日付型や数値型やブーリアン型にすべきところも文字列型。狂ってる。
0590名無しさん@そうだ選挙にいこう垢版2020/09/09(水) 22:23:54.38
【Windows10 Access 2016】

Dim C配列 As Variant
C配列(1, 1) = "AAA"



C配列(10, 3) = "ZZZ"

Range("A1:C10") = C配列

Excelでは上記例のように、
配列に格納したデータを一発でセルに代入できますが
Accessでも同じように配列に格納したデータを
一発でテーブルに代入する方法はありますか?
0591名無しさん@そうだ選挙にいこう垢版2020/09/10(木) 02:23:52.88
>>590
現状ではたぶん無いと思います
・エクセルのセル(基本的に何でも格納可能)
・テーブルのフィールド(一致する型のみ格納可能)
大から小への変換は困難、小から大への変換は楽、と同じ理屈です
例えるなら、配列(大)→エクセル(大)、配列(大)→テーブル(小)
0592名無しさん@そうだ選挙にいこう垢版2020/09/10(木) 04:07:31.41
>>590
一発の目的は何なんだろう
コードを短く書きたいってだけなら
配列をデータセットに代入とかならできたんじゃないか
エンジン内部ではレコード数分ループしてるかもしれないけどね
クリップボードにコピーしたデータをAccessに張り付けると複数のインサートだよね
.NetとかだとLINQとか使って代入してたんじゃないかな
VBAでも探せばありそうだけどどんな使い方をするかによるんじゃないの
SQL1命令で複数レコードインサートする命令はかけるわけだから、探せば関数があるかもね
0593名無しさん@そうだ選挙にいこう垢版2020/09/10(木) 23:54:45.81
データの加工ってアクセスで行うよりもエクセルとかでやった方が早くない?

アクセスは加工じゃなくてデータの新規入力と抽出、分析のためのソフトだと思う。
 
0595名無しさん@そうだ選挙にいこう垢版2020/09/12(土) 13:00:41.29
Accessで楽観的排他を行いたいです。
変更時間を持っているので、表示した時と更新時の時間が変わっていたらキャンセルしたいです。
(1人が使用していましたが、複数人使うことになったので改修することになりました。)

データシートビューで直接値を変更できるようになっており、
変更日付も保持しています。

私が変更した時に、変更日付が変わっていたら反映しないようにしたいです。

以下が分からないので、ご教示お願いします。

1.データシートビューなので、複数レコードがありカレントレコードの変更日付(表示した時点)の取得方法がわかりません。
  (更新時に変更日付を取得すると、誰かが更新していた時には他の人の更新時間が入っています。)
2.変更をキャンセルするには、レコードのbeforupdateに処理を書けばよいのでしょうか。
3.この方法を行うには、DaoやAdoでトランザクションをかける必要があるのでしょうか。
0596名無しさん@そうだ選挙にいこう垢版2020/09/12(土) 13:00:41.39
Accessで楽観的排他を行いたいです。
変更時間を持っているので、表示した時と更新時の時間が変わっていたらキャンセルしたいです。
(1人が使用していましたが、複数人使うことになったので改修することになりました。)

データシートビューで直接値を変更できるようになっており、
変更日付も保持しています。

私が変更した時に、変更日付が変わっていたら反映しないようにしたいです。

以下が分からないので、ご教示お願いします。

1.データシートビューなので、複数レコードがありカレントレコードの変更日付(表示した時点)の取得方法がわかりません。
  (更新時に変更日付を取得すると、誰かが更新していた時には他の人の更新時間が入っています。)
2.変更をキャンセルするには、レコードのbeforupdateに処理を書けばよいのでしょうか。
3.この方法を行うには、DaoやAdoでトランザクションをかける必要があるのでしょうか。
0597名無しさん@そうだ選挙にいこう垢版2020/09/12(土) 15:30:27.35
>>596
私が解釈しているトランザクションは
複数テーブルを同時に書き換えるときや、大量処理で数秒以上要するときに使うもんだと思ってます。
Aさんが更新した情報を上書きしてはいけない状況なのでしょうか。(一部、重複的な更新入力になったとしても)
accessの親切なんだかよくわからん設計で、他人の更新が画面に反映されるのは確かです。
レコードポインタを合わせた時刻をパブリック変数に入れて
更新前イベントで、更新時刻フィールドと変数を比較して
変数より大きい値ならアラートの一つでも出してundo処理でしょうね。
(コマンド忘れたけど)
0598596垢版2020/09/13(日) 10:15:30.73
>>597
間違い防止のため、上書きしたくないみたいです。

ご教示頂いた内容で対応したいと思います。
ありがとうございました!
0601名無しさん@そうだ選挙にいこう垢版2020/09/23(水) 21:35:16.14
古くて申し訳ないですが、Access2002です
フォームを作って、コンボボックスでデータ一覧(ID:数値が入っている)を表示させました
マクロを作って、アプリケーションの実行を設定して、コマンドラインにアプリケーションのありかと開くファイル名を入れました
開くファイル名に固定文字列を入れるとうまく開くのですが、そこにコンボボックスの数値IDを渡したいんです
コンボボックスダブルクリックでマクロが呼び出されるようにはしたので、あとは数値を渡すだけなんですが、
コマンドラインにどのように記述すれば目的の数値を含むコマンドを実行できるでしょうか?
0602名無しさん@そうだ選挙にいこう垢版2020/09/24(木) 08:54:18.59
イベントプロシージャでVBAでやった方が楽やで
0603名無しさん@そうだ選挙にいこう垢版2020/09/24(木) 09:09:40.96
Private Sub データ一覧_DblClick(Cancel As Integer)
Dim strPath As String
strPath = "notepad.exe C:\test" & Me![データ一覧] & ".txt"
Call Shell(strPath)
End Sub
0604名無しさん@そうだ選挙にいこう垢版2020/09/24(木) 10:28:01.02
>>603
できましたありがとう
0605名無しさん@そうだ選挙にいこう垢版2020/09/24(木) 12:19:18.37
フォームでリストボックスをつけてみたのですが、列が1列しか表示されません。
表示されたものをクリックすると複数行複数列が出てくるのですが、最初から全部表示させたいです。
フォームを開くだけで複数の列を表示させるにはどうしたらいいでしょうか?
0606名無しさん@そうだ選挙にいこう垢版2020/09/25(金) 15:04:21.17
VBAで質問です
フォームのリストをダブルクリックすると発生する同じようなイベントプロシージャがいっぱいあるので、
標準モジュールのSubにまとめて記述することにしました
イベントプロシージャの中でMe![id]というのを使っていたのですが、そのままコピーしてもMeのところで使用方法が不正だとエラーが出ます
各プロシージャからオブジェクトの名前をStringで渡しても、対象はコレクションでなければなりませんとエラーが出ます
何をどのように記述すればいいか教えてください
0607名無しさん@そうだ選挙にいこう垢版2020/09/25(金) 15:13:30.79
>>606
Me は自身のフォームオブジェクトを示すので、標準モジュールからはどのフォームか解らないんよ
0609名無しさん@そうだ選挙にいこう垢版2020/09/26(土) 08:32:07.09
Currentdb.Containers!forms(0)
Currentdb.Containers!forms("")
0610名無しさん@そうだ選挙にいこう垢版2020/10/08(木) 11:36:15.75
どなたか教えて下さい。
accessのグラフに目盛りの最小値、最大値の設定があるのですが、VBAからその値をセットできないものでしょうか?

ずっと調べ続けて、徹夜になってしまった。
0611名無しさん@そうだ選挙にいこう垢版2020/10/08(木) 12:46:47.65
できるよ
マクロの記録を押してから手動であれこれ操作すればマクロにどう書けばいいか自動で記述してくれるからそれをいじればいい
0614名無しさん@そうだ選挙にいこう垢版2020/10/09(金) 08:01:19.59
>>613
ワロタ
0615名無しさん@そうだ選挙にいこう垢版2020/10/09(金) 16:27:00.30
・Win10
・Access2019

Docmd.RunSQL "UPDATE Table1 SET 数量 = 5 WHERE ID = 11"
Docmd.RunSQL "UPDATE Table1 SET 数量 = 2 WHERE ID = 3"
Docmd.RunSQL "UPDATE Table1 SET 数量 = 3 WHERE ID = 8"

上記のように複数のSQL処理を1行1行処理するのではなく、
下記のようにつなげたSQL文を1度で処理する方法はありますか?

strSQL="UPDATE Table1 SET 数量 = 5 WHERE ID = 11 " & _
"UPDATE Table1 SET 数量 = 2 WHERE ID = 3 " & _
"UPDATE Table1 SET 数量 = 3 WHERE ID = 8"
0616名無しさん@そうだ選挙にいこう垢版2020/10/09(金) 18:33:08.44
>>615
たぶん、vbaもsql記述も条件分岐噛ませないのであれば、方法はない。マクロにする必然性がようわからん。
この手の作業は、過去の古いデータに手を加えたり、「あ、変だ」の修正だったりするので
クエリービルダーの中でちゃちゃっとやるけど。
恒久的にやりたいのであれば、
id 数量のテーブル作って、元のテーブルとjoinして
updateで参照埋め込みするのが
いいんじゃねーの?
0618名無しさん@そうだ選挙にいこう垢版2020/10/10(土) 17:27:14.26
Accessではやったことないけど
UPDATE Table1 SET 数量=CASE
WHEN ID=11 THEN 5
WHEN ID=3 THEN 2
WHEN ID=8 THEN 3 END
WHERE ID=11 OR ID=3 OR ID=8
これは使えないかな

ログを取ってるSQLServerとかならログが一行になる意味はあるかもしれない
0620名無しさん@そうだ選挙にいこう垢版2020/10/11(日) 11:06:37.18
ブログラム板で無視されたのでこちらにも書きますね。
最近のAccessは条件付き書式の条件数が3つまでという制限がなくなったと聞いて、vbaで4つ条件を書いたら、怒られた。
条件数の上限の件はどうなっているの?
0623名無しさん@そうだ選挙にいこう垢版2020/10/19(月) 20:56:15.24
tableテーブルにid,name,dateという項目があったとします
あるid=numにおいて最大値のdateをVBAで取り出すには
DMax("date", "table", "id=" & num)
とすればいいのですが、このdateのときのnameの値を知るにはどうしたらいいでしょうか?
0624名無しさん@そうだ選挙にいこう垢版2020/10/20(火) 23:38:28.49
maxdate=DMax("date", "table", "id=" & num)
dlookup("name", "table", "id=" & num & " and date=#" & maxdate & "#")
前提条件
id は重複登録がある(無いなら DMax の意味が無い)
DMax の結果に同じ date はない(1レコードに絞れないと複数 name が存在)
フィールド date は日付型(文字列ならシングルクォーテーションになる)

レコードセットも検討してね
0626名無しさん@そうだ選挙にいこう垢版2020/10/26(月) 12:09:06.54
ACCESS始めようと思ってるのですが
2種類のテーブルに違うデータを取り込んで
新しくテーブルを作る際にその前に取り込んだ2種類のフィールドデータを混ぜ合わせたテーブルは可能でしょうか?
初心者すぎて概念などが間違っていたらすいません
0627名無しさん@そうだ選挙にいこう垢版2020/10/26(月) 12:09:58.05
可能です
0629名無しさん@そうだ選挙にいこう垢版2020/10/26(月) 18:17:11.66
>>626
joinで検索して
0631名無しさん@そうだ選挙にいこう垢版2020/10/28(水) 12:46:18.37
初心者ですいません
Accessで株価データ1銘柄につき1レコードのフィールドに10項目を作り3000銘柄10年分を一つのテーブルに入れた場合
データ件数は前者か後者どちらになるでしょうか?
前者10×3000×365×10件

もしくは横一列を一つとする
後者3000×365×10件

調べるとデータ40万件越えから指数関数的に遅くなると書かれていましたが
例えばexcelでこの40万件数超えから特定の7300レコードを取得して分析とかはサクサク呼び出せるものでしょうか?
0632名無しさん@そうだ選挙にいこう垢版2020/10/28(水) 13:07:06.41
年間250日として
3000x250x10
0633名無しさん@そうだ選挙にいこう垢版2020/10/28(水) 17:59:07.74
Accessのテーブルはただの入れ物置き場所という立ち位置のようなので
Excel次第のような Excel側でテーブル読みに行ってデータ引っ張るカタチなら
Accessで無くとも無料のDBでもいいような
Excel 株価 分析 とかでググれば先人が山盛りアプリ提供してるし
投資板で相談した方が答えが早いと思えたり
0634名無しさん@そうだ選挙にいこう垢版2020/10/28(水) 19:10:21.89
Access2000で申し訳ないのですがわかる方教えてください
テーブルを開くと普通はすぐにデータが読み込まれ、右側のスクロールバーのつまみをつまんで一番下まで持っていくと一番下が表示されると思うのですが、
なぜか一番下まで持っていってマウスを離すとつまみが中央まで飛び、それをもう一度下まで持っていって離すと少し上に飛び、3回目で下まで持っていけるというテーブルがあります
何もせずに少し待ってからつまみを動かすと下まで動きます
データの量が500件あまりでそれほど多くないのですが、たぶん読み込みに時間がかかってるのだと思いますがどうしてこうなるのでしょうか?
すべてのフィールドのインデックスをいいえにしてもだめです
5500件ある別のテーブルはそんなことはなくすぐに下まで動かせます
0635名無しさん@そうだ選挙にいこう垢版2020/10/28(水) 20:40:36.07
>>634
最適化してみて
0636名無しさん@そうだ選挙にいこう垢版2020/10/28(水) 20:43:29.74
キーボード操作で HomeとかEndとかScrollUp/Downとかでも症状出る? たぶん出ないと思うけど
描画が追い付いていないだけだと思う マシンスペックに依るんじゃない? CPUとメモリーとグラボの相性とか
レコード数が10倍違うとかは、フィールドの構造に依るのかも
随分前に経験してるかも知らんけど、違うPCだと出ないとかだったような
0637名無しさん@そうだ選挙にいこう垢版2020/10/29(木) 08:25:20.55
>>635
だめですねえ
0638631垢版2020/10/29(木) 19:41:55.58
>>632
ありがとうございます
営業日だとそうなりますね
>>633
ありがとうございます
Acccessを出し入れスピードの速い入れ物と見ていたので勘違いしていたようでした
結果excelとcsvファイルのままの方がスピードが出ていますがもう少し研究してみます
0640名無しさん@そうだ選挙にいこう垢版2020/11/04(水) 15:17:15.19
同じだよ
0641名無しさん@そうだ選挙にいこう垢版2020/11/12(木) 04:19:55.30
sharepoint onlineのリストをリンクしてみた。簡単だった。
慣れてないせいかwebでリストのメンテナンスはモタモタしてしまうので、ACCESSで操作できるのは時短で良かった。
0642名無しさん@そうだ選挙にいこう垢版2020/11/12(木) 18:06:14.64
それにしてもaccessのデザインって古臭くないですか?
サブフォームなんてwin95時代みたいなデザインですよね?
かといって見た目だけのためにファイルメーカーは高すぎるしなあ
0643名無しさん@そうだ選挙にいこう垢版2020/11/12(木) 18:13:06.51
貧乏人は Access使っててね
0645名無しさん@そうだ選挙にいこう垢版2020/11/12(木) 18:34:17.40
accessでやろうとしてたが大したデータ量ないのでエクセルで十分なことに気がついてしまった
請求書とかVBAで転記してデータベース的に使ったほうがaccessよりもレイアウトやフォーム(シートをフォームに使うこともできるし)が柔軟だしな
0646名無しさん@そうだ選挙にいこう垢版2020/11/14(土) 13:38:15.21
エクセルはファイルだらけになるのが難点
アクセスならdbに集約できるからファイルが増えない…
と思っていたら日本人はdbファイルごとコピーし始めたでござる
0647名無しさん@そうだ選挙にいこう垢版2020/11/14(土) 20:48:01.55
臨機応変 適材適所 万能は無能に等しい 貧乏暇無し雨あられ

サブシートの行の高さ? ん? と思ってググったら出てきた
0653名無しさん@そうだ選挙にいこう垢版2020/11/15(日) 05:22:23.33
DBはデータ管理するためのものであって見せるためのソフトじゃないから良いじゃん
と俺は思う。

見てくれを装飾したいならレポート使えば良いのでは?
0655名無しさん@そうだ選挙にいこう垢版2020/11/15(日) 14:24:33.72
いちばんの違いは、前時代的とこき下ろされたAccessのフォーム構造は、
基本がキーボード・マウス操作を想定してる。
当時はそれしか無かったから当然っちゃあ当然。
各フィールド移動はTabキーで移動するとかEnterとか。
一方、普通のソフトとすこぶるお褒めのフォーム構造は、タッチ操作のために
冗長化せざるを得ないから、デザインごと再構成されたもの。

前時代の代物をタッチ操作にも対応させようと腐心した人には判るだろうけれど、
マウスカーソルの選択範囲と指先を感知するエリアとは、10倍も隔たりがある。
畢竟、表示範囲は少なくなるが触りやすいだけのフォームをデザインせざるを得ない。

スクロールは指先スイスイさせるだけだから気付かないだろうが、全体を把握する
には一画面で大量のデータを表示した方が判り易い。(ものもある)適材適所。
ページめくると「あれ、さっきの何だっけ?」で行きつ戻りつもあるんだけど、
指先スイスイだから苦にならないのかも知らんが、記憶力は低下してく。

只、例題の画面構成にしたいなら、サブシートじゃ無くて他のコントロール使いなよ、とは思う。
0658名無しさん@そうだ選挙にいこう垢版2020/11/16(月) 12:11:01.29
「普通のソフト」の方は、Webフォームの設計からの進化でしょ?
使用する端末の画面サイズが様々だから、ミリ単位でとか作るのは無理。
例題の三種類も全部見るだけが目的だったりしてる。
かろうじて一枚目が左側のリストに触れると右に詳細が表示されるような
作りなだけなんじゃない?
何をどうしたいか書かないと答えようが無いと思う。
0665名無しさん@そうだ選挙にいこう垢版2020/11/17(火) 01:46:17.48
>>663
枠付きのテキストボックス並べて
画面上ではキレイに罫線が繋がっているのに印刷するとズレたり
逆に画面上では微妙にズレているのに印刷するとキレイな直線になったり
拡大機能は欲しいですね
0666名無しさん@そうだ選挙にいこう垢版2020/11/17(火) 12:16:34.44
モニターとプリンターは解像度が違う  (何度も忠告せざるを得ない)
無駄な苦労はとっとと止めて、枠線を透明にして直線を駆使するとか
ACCESSスタッフがいつか改善するとは思うけど、待ってる間にやることはある
文句言うだけなら猿でもできる
0667名無しさん@そうだ選挙にいこう垢版2020/11/17(火) 12:54:14.94
機械図面の構成管理をするDBをACCESSで作ろうとしている者です。
組立部品には当然子部品がありますが、その子部品も一部は組立部品だったりします。
つまり階層構造になるわけですが、トップから順に子部品をリストアップしていく時に
それが単部品ならただ羅列していけば良いのですが、組立部品だった場合は次の子部品を
記述する前に前の子部品の子部品(孫部品)を先に記述しなければなりません。

こういうリストアップのルーチンで親部品から見て子部品が組立部品か単部品かで
処理分けをネストしていく方法が分りません。全体の階層深さはトップ部品により様々で
一定ではないため、VBAでサブルーチンを幾つも設けるのは不合理と考えます。
シンプルに再帰検索させる記述方法はないでしょうか。
0669名無しさん@そうだ選挙にいこう垢版2020/11/17(火) 14:42:40.54
組み立て部品か否かは、項目でわかるようにしとけば済むことであって
孫部品も子部品も同じ土俵にしとけ

最終的に親製品の部品でしか無いんだから
親製品名で全部リストアップされる
その中で組み立て部品だけまとめたいなら、その後いくらでもできるだろ
0670名無しさん@そうだ選挙にいこう垢版2020/11/17(火) 15:27:33.73
>>668
特定の子部品を使ってる親部品を調べることは当然出来ます。
親部品の構成部品マスタを見に行けば良いだけなので。そういうことではないんです。

>>669
勿論部品の区別は付くようにしてあり、同じ土俵での処理でどうするかの話ですよ。
機械図面というのは図中で部品の見出し番号が決まっていて(所謂風船番号)その見出し番号順に
リストも記述しないとならんのです。
だから呼び番順に処理するわけで、対象部品が組立部品か単部品かで処理分けすることに
なるんです。組立部品だったら階層を下げてその子部品を記述、その子部品が組立部品だったら
更に階層を下げてその子部品を記述・・・ という風に入れ子構造の処理をしたいんです。
聞いてるのはVBAでのそういうルーチンの書き方で構造論じゃないんです。
0671名無しさん@そうだ選挙にいこう垢版2020/11/17(火) 15:48:06.80
親部品名 階層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なんだから構造が第一
それで決まる
0672名無しさん@そうだ選挙にいこう垢版2020/11/17(火) 17:25:26.05
>>671
それだと3階層限定になるから、何階層あるか分からないなら
> 孫部品も子部品も同じ土俵にしとけ
が言われるように全て同じ階層で管理して、親へのリンクを保存する方が良いでしょ
子は複数存在するから親のレコードが選択される場合、参照している子を抽出するってロジックで良いんだと思う

部品名、親部品名
A     -
B     A
C     B
D     B

これだと
Aの子はBで孫はCとDという風に管理できる
0673名無しさん@そうだ選挙にいこう垢版2020/11/17(火) 17:55:39.98
>>671
説明が足りなかったみたいですみません。
マスタは組立部品、単部品、親子関係の3つだけで階層の情報を持ってるわけではないです。
VBAで階層を構成して表を作るのです。

>>672
そうです。そういうやり方です。ただ知りたいことはAの部品展開をVBAでどうやればいいのかということです。
0676名無しさん@そうだ選挙にいこう垢版2020/11/17(火) 20:20:14.02
>>670
組立部品と単部品での処理分けを持つサブルーチンで処理することになりますね。
仮に部番と部品名だけ記述するとして、サブルーチン内で

1.単部品だったら単純にその部番と部品名を記述する
2.組立部品だったら親の部番と部品名を記述して改行し、子部品マスタを参照、
  一つ目の子部品の部番と部品名を記述。その部品が組立部品だったら
  このサブルーチン自身を呼ぶ(最初のネスト)

ネストされたサブルーチン内で再び上記1か2の処理分けがなされ幾らでもネストされます。
サブルーチンのラベルは Sub TENKAI(n) などとしてネストする際に変数nに+1して呼べば
いいでしょう。階層表示や階層に応じたインデントが必要でもnを使って出来ますね。

要は処理分けするサブルーチンの中から自身のサブルーチンを呼び出すという
やり方がミソです。
0678名無しさん@そうだ選挙にいこう垢版2020/11/18(水) 01:34:03.29
>>673
表示するならネストしたサブフォームを作るだけでVBAなんか必要ないんじゃないの?
再帰的にサブフォームが同じサブフォームを呼び出すだけじゃないかな
以前やったような気がするよ
組立部品と単部品すら分ける必要はない
表にするってデータシート形式に表示するではなく、通常のテーブル構造に展開したいってこと?
Accessじゃあまりやったことないから実績ないけど、SQLServerならSQL文だけでもかけたような気がする
作った表は何に使うの?
見せるだけなら再帰的なフォームの方がPC画面上で畳めて便利なような気がする
リレーション作ってあれば、Accessのテーブル表示でも階層表示したかもしれないね
0679名無しさん@そうだ選挙にいこう垢版2020/11/18(水) 09:31:13.54
>>667,670,673です。昨日は18時で退社したため返信遅くなりました。

>>676
なるほど!サブルーチンからそのサブルーチンを呼べるのですね。知りませんでした目から鱗です!
それなら最小限のプロシージャで際限なく処理出来ちゃいますね!早速やってみます。ありがとうございました。

>>677
おお素晴らしい!サンプルまでありがとうございます!カイル懐かしいw
作業テーブル勿論大ありです!展開した表は画面上の表示だけでなくEXCELにもエクスポートしたいので、データソースとしてテーブルに出力しておかないと使い回しが効かないですもんね

>>678
サブフォームでも再帰的な表示が出来るのですか?
やりたいことは部品構成一覧表を作りたいのでテーブルに出力ですね。それをデータシートビューでもフォームビューでも実用的な形で表示させます。リレーションは組立部品マスタの図番と親子関係マスタの親図番ですね。その他はクエリで自由に組むつもりです。DBはACCESS以外は未経験なのでACCESSでやろうとしてます。
0682【B:99 W:65 H:85 (F cup) 146 cm】 垢版2020/11/18(水) 18:13:05.82
   ∩,,∩
  (;`・ω・) 今夜は得々満ぷく弁当なの 定価のまんま
  (つ=。;;・。-、 税別398円なの 普通に幕の内なの
  (´ ヽニニフ ) 言うほど満腹でもないの パンもあるの
  [i======i] >>238 やっぱり一定量寝れば目が覚めちゃうの
>>240 今夜も8時くらいに寝ちゃうかな、起きてられないねん
>>255 無職でその自信に満ちた脳天気はどこから来るね?w
0695名無しさん@そうだ選挙にいこう垢版2020/11/29(日) 21:44:55.31
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
0698名無しさん@そうだ選挙にいこう垢版2020/12/02(水) 18:03:53.29
>>690
全体的に意味わからないんだよね
デザインビューでは単票表示なのにフォームビューにいくと帳票になるとか

何かのはずみでサブフォームが単票表示になるんだけど
そうなると、サブフォーム右クリック→データシート
にしないと帳票にならない
再度開くとまた戻ってるし

どう開発したらこんなわけわからん設計になるんだろう
0700名無しさん@そうだ選挙にいこう垢版2020/12/02(水) 18:11:18.02
>>698
俺はExcelで全部やるようにした
ACCESSにはデータいれとくだけ

ACCESSはプロパティ見にくすぎるんだよな

そもそもサブフォームって見出し行とかの見た目いじれないし
0701名無しさん@そうだ選挙にいこう垢版2020/12/02(水) 20:11:14.84
>>698
意味分らないのは勉強不足だろw サブフォームを帳票形式で表示したいなら
サブフォームのプロパティで既定のビューを帳票フォームにしておき
サブフォームのデザインビューで詳細セクションには横一列に一レコード分の
表示させたいフィールドを望むオブジェクトで並べれば良いだけだが

>>700
見出しの見た目はフォームヘッダのデザインで弄れるだろ
0704名無しさん@そうだ選挙にいこう垢版2020/12/03(木) 08:26:56.90
>>698
>>そうなると、サブフォーム右クリック→データシートにしないと帳票にならない

意味不明だな
単に帳票フォームの存在を知らないだけでは?
0707名無しさん@そうだ選挙にいこう垢版2020/12/03(木) 15:54:04.66
>>706
威張るなボケ!やっぱり操作方法しら不勉強じゃねえか
メインフォームからサブフォームを洗濯した(その画のようにオレンジの枠線で囲われてる)状態では
メインフォームにとってのサブフォームの扱いに関するプロパティが表示される

メインだろうがサブだろうがフォームの左上の□をクリックして初めてそのフォーム自身のプロパティを
表示するのだ

お前は出禁だ。10年勉強してから来い
0715名無しさん@そうだ選挙にいこう垢版2020/12/03(木) 20:01:03.81
>>713
クリック前のポインタが何処にあるかで挙動は異なるぞ
メインフォームがアクティブな時は1度目のクリックでサブフォームにポインタが移るだけ(上のオレンジで囲われた状態)
その後もう一度クリックすればマーカーが付く(サブフォームがアクティブ化する)だろ
機密事項なんでssは見せられん

>>714
何を甘っちょろいこと言っておる!ここは5chだぞ?それくらい覚悟して来い
0721名無しさん@そうだ選挙にいこう垢版2020/12/04(金) 01:18:24.56
大抵おしえてくれないからな
どんな教え方であれ解説するまで教えてくれるのはありがたい

偉そうなこと言って一切教えない、もしくは本人も知らないみたいのが邪魔ですね
0727名無しさん@そうだ選挙にいこう垢版2020/12/04(金) 16:14:44.36
>>724
見た目が古臭過ぎる、というのも
ああプロ用のソフトなんだな、って手を付けるやつが減ってそう
フォトショップやプレミアなんかは見た目使いやすそうですごい、という前評判あるからオーバースペックで不必要なやつまで使ってそうなイメージ
0734名無しさん@そうだ選挙にいこう垢版2020/12/10(木) 01:14:10.71
ACCESSって先の太さのあんまり選択肢ないですよね
どうしてもぶっといかヘアラインの二者択一になる
ヘアラインなんてモノクロレーザーじゃほぼだせないし
よわったなあ
VBAで書くというのもあるけどレポート出力時だし
エクセルで枠線引くように自由にはできないからなあ
レコードやヘッダーなどのすき間の兼ね合いで
列ごとに先の太さのズレたりするし
みんなどうやってるんですか?
0736名無しさん@そうだ選挙にいこう垢版2020/12/10(木) 05:05:12.91
他には、行の背景を一行おきに塗り潰す機能あるじゃないですか。あれを使うのもおすすめです。罫線を使わなくても見やすくなります。
0737名無しさん@そうだ選挙にいこう垢版2020/12/15(火) 13:31:55.07
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < 不正選挙の証拠まだ〜?
            \_/⊂ ⊂_ )   \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       |  愛媛みかん |/
0738名無しさん@そうだ選挙にいこう垢版2020/12/21(月) 11:39:39.89
windows10のupdateが原因だと思うけどコンボボックスの自動拡張機能が使えなくなってる。google IMEだと問題なくてMicrosoftIMEだと使えなくなる。日本語IMEの設定→全般→以前のバージョンを使うをオンにしたらMicrosoftIMEでも使える様になる
0741名無しさん@そうだ選挙にいこう垢版2020/12/24(木) 23:51:36.34
【Windows】 10 【Access】 365
【作りたいものの業務分野】
決裁書台帳
【あなたのスキル】
LV1:完全初心者,
【どのオブジェクトに関する質問か】
フォーム,レポート,サブフォーム(サブレポート)
【やりたいこと】
1.ID込みで40項目のフォームを作成したいのですが、ラベルの下にテキストボックスを設けたいのですが、フォームウィザードの編集ではできませんでしたとなります。ノースウィンドではできるのですが。ボックスは管理番号(半角英数字)、工事名、人名、数値、日付です。
2,検索フォーム。工事名で検索。
エクセルで入力フォーム造るよりアクセスの方が早かったのですが。
項目が増えたらできなくなりました。
ご教示願いますが
0743名無しさん@そうだ選挙にいこう垢版2020/12/25(金) 11:08:25.09
You Like の時点で(笑)
0744名無しさん@そうだ選挙にいこう垢版2020/12/28(月) 12:49:50.46
>>741
初めて聞きました。
前レス見ても最近、変な挙動が多いかもしれませんね。
一旦、挙動不審を無視するとして
ラベルとテキストの一括作成後の
ラベルの配置移動はラベルの左端あたりをつまんで
カーソルが上下左右矢印になったら、つまむように動かします。
(全てのオブジェクトは詳細エリアに配置されているものとします。
また、レイアウト機能でまとめられていないものとします)
0745名無しさん@そうだ選挙にいこう垢版2020/12/28(月) 12:56:56.00
>>741
2は別の質問か。
工事名を対象とした絞り込みなので、40カラム程度なり、1万データなりでも、不具合は出ないはずですが。
コンボボックスのウィザード機能で作ったものですか。
コードを自作したものですか。
工事名にワイルドカードを示す文字「*」「?」などは使われていませんか?(たぶん問題ないけど、ないほうがいい)
0746741垢版2021/01/05(火) 12:55:25.77
>>744
>>745
ありがとうございます。フォームができないのはレイアウトを削除して解決しました。検索はコマンドボタンウィザードです。
0747名無しさん@そうだ選挙にいこう垢版2021/01/06(水) 01:56:32.61
レコードの更新履歴を取りたいので
レコードを削除せずに複製して
リビジョンカウントを増やそうと思っています
そこで最新のレコード(リビジョンカウントが最大のもの)のみの一覧をだすにはどう書けばいいでしょうか?
0748名無しさん@そうだ選挙にいこう垢版2021/01/06(水) 08:17:03.30
ある選択クエリに、3つだけ追加したいデータがあります
クエリの項目は全て持っているのですが元のテーブルの項目は欠けているものがあるため、元のテーブルには追加したくありません
別のテーブルを作ってもいいのですが、テーブル一覧表示したときに邪魔なので、できればテーブルを使わずにSQLの中に記載したいのですが、どのようにすればいいか教えてください
0751名無しさん@そうだ選挙にいこう垢版2021/01/06(水) 08:29:23.95
同じ項目のテーブル1と2からまとめてデータを抽出するにはselect * from table1, table2ではだめなんですか?
どうすればいいんでしょうか
0753名無しさん@そうだ選挙にいこう垢版2021/01/06(水) 11:16:09.76
>>748
単に行データにちょっとした計算や、文字足し、判断をいれたい場合は
クエリデザインで
新カラム名:[column1]*1.1とか
新カラム名:[column1]&"様"とか
新カラム名:iif([column1]>1,0,1)
でいい。
新カラム名のあと=必要だったか忘れた。
0754名無しさん@そうだ選挙にいこう垢版2021/01/06(水) 12:35:43.86
>>753
データをいじるのではなく、別のデータを追加したいんです
1000個のリストに3つ追加して1003個にしたい
だけど3個のテーブルを別に用意するのも邪魔なので、SQL文にそのデータを書き込んで追加させたいということです
選択クエリで1000個選んでおまけの文で3個追加
0755名無しさん@そうだ選挙にいこう垢版2021/01/06(水) 17:59:33.26
>>754
accessオブシェクトの名称の呼び方に揺らぎがあり、
やりたいことがうまく伝わりません。
クエリーの実体は単なるsql文(コマンド)を保存してるだけ、という基礎知識はok?
クエリーというオブジェクトにデータを保管することはできません。

たぶん、1対多の関連性もつテーブルを作って、希望のカラム3個を設置し、クエリーで2つのテーブルの全カラムを表示すればいいよ。

↑「これはしたくありません」の
レスつけられたら、私にはお手上げです。
0757名無しさん@そうだ選挙にいこう垢版2021/01/06(水) 18:30:45.89
>>756
そうです
それで、t2の部分をSQL文の中に入れることはできないかということです
レコードが3つで今後追加や変更することはないので
0759名無しさん@そうだ選挙にいこう垢版2021/01/07(木) 01:54:27.36
>>757
1000件入ったテーブルがすてに有って、そのテーブルのデータを変更しないで見た目上3件増えた様に見せかけたいのね。
例えば、エクセルの表のピポットテーブルの合計行みたいなイメージかな?
多分、できないか非常に難しいと思われ。

同じフィールドのテーブルを作ってunionで連結するか、目印を付けて元のテーブルに追加書き込みをして使用後に削除するのがお勧め
0760名無しさん@そうだ選挙にいこう垢版2021/01/08(金) 00:05:49.73
フォームを開くと「イベントプロパティに指定 した 式 開く時でエラーが発生 しま した オブジェクトまたはクラスがこのイベントセットをサポートし てい ません。」とでます。フォームには, https://hamachan.info/win10/access/textbox.html を模したマクロと、アクセスを閉じる、次レコード、前レコード、サブフォーム印刷プレビューマクロがあります。
0761名無しさん@そうだ選挙にいこう垢版2021/01/08(金) 08:30:12.72
訳わかんないエラーでたらVBE開いて、一カ所変更して元に戻して、再コンパイルすると、なぜか正常になっちゃう
0762名無しさん@そうだ選挙にいこう垢版2021/01/08(金) 19:10:39.79
そういえば、昔はコンボボックスのウィザードなどで
特化機能を選択するとvba記述が生成されたのに
今はマクロビルダーで設定されて、
コードに変換、みたいなボタンを押してもvbaにならないよね。
マクロビルダーって裏でvba動いてないんだろうか。
なんか「マクロ」って苦手だわ。
0763名無しさん@そうだ選挙にいこう垢版2021/01/13(水) 20:12:37.27
>>757
SELECT * FROM t1
UNION ALL
SELECT TOP 1 1001 as ID, 200 as DATA FROM t1
UNION ALL
SELECT TOP 1 1002 as ID, 300 as DATA FROM t1
UNION ALL
SELECT TOP 1 1003 as ID, 400 as DATA FROM t1

これでできないかな
0764名無しさん@そうだ選挙にいこう垢版2021/01/15(金) 06:20:50.91
共有フォルダでネットワーク経由で使うと
マジで壊れまくるんだが
どーしょもねーの?
Idがうんたらかんたらと
0766名無しさん@そうだ選挙にいこう垢版2021/01/15(金) 21:08:30.52
>>764
Accessは同時アクセスすると壊れる仕様です
会社など複数人で使用する場合にはMySQLやPostgreSQLなどのまともなデータベースソフトを使うべきです
0767名無しさん@そうだ選挙にいこう垢版2021/01/16(土) 00:13:37.12
>>764
> 共有フォルダでネットワーク経由で使うと
サーバーOSはWindowsでしょうか
全社でファイルサーバが統合されたことがあったんだけど、Windows以外でまともに使えないことがあった
結局、部門サーバーを復活させた

Windowsサーバーでも、ファイルシステムのレプリケーションしてるボリュームに置いてると正しく機能しないこともあったよ
共有する必要性の低いものがAccessのままで残ってるのがあるけど、インフラが変わってダメだったことは時々ある
重要なのはSQLServerでレプリケーションしている
0769名無しさん@そうだ選挙にいこう垢版2021/01/17(日) 21:20:54.98
ここまで壊れやすいと、仕事として使うのもためらわれるよな
0770名無しさん@そうだ選挙にいこう垢版2021/01/17(日) 23:06:05.92
>>769 けっこう弱いよね。テーブルあたりの同時使用数2人が限界かな。
一般的なデータ、フロント分離方式で、3、4人同時入力させてた時には
よく矛盾が発生した。
本職が作るアプリみたいにレコード単位でローカルコピーかけて、編集後に書き戻す
方式にしてから壊れなくなったけど、とてつもないVBAコード行数になって
くっそめんどくさかった。
0771名無しさん@そうだ選挙にいこう垢版2021/01/18(月) 09:10:08.29
アクセスからエクセルにエクスポートしたテーブルをインポートしたら、チェックボックスがYesNoになりました。一括でチェックボックスにする方法はありませんか?
0772名無しさん@そうだ選挙にいこう垢版2021/01/18(月) 14:50:36.61
テーブルで通貨型フィールド作って一度保存すると
書式設定しても必ず強制的に書式が「通貨」になってしまうんだが
これどうにかならんもんかな
0773名無しさん@そうだ選挙にいこう垢版2021/01/19(火) 06:41:56.58
excelVBA使えて
accessも使える

って人は、労働者で全体で何割くらいいるんだろ?
なんの、証拠もないけど500人に一人とフォーリングで感じてるが
0774名無しさん@そうだ選挙にいこう垢版2021/01/19(火) 08:11:12.12
業務に使う共用データベースシステムをAccessで作るやつの気が知れない
外注してもAccessでよこすのがいるから本当困る
発注者も製作者も無知で数百万数千万の金が動いて検収が済み、後でトラブルが発生して問題になるのを何度も見た
0776名無しさん@そうだ選挙にいこう垢版2021/01/19(火) 12:47:51.16
>>774
さすがに1千万円以上クラスの予算だと
実行形式での納品は常識でしょ。
帳票出力のためのサブシステムとしてaccess使います、という提案を受けたことはあるけど。

私もaccess vbaを使えるなんて
社会ニーズゼロとわかってるので
時々、社内便利ツールを作る
宴会芸くらいに捉えてる。
0777名無しさん@そうだ選挙にいこう垢版2021/01/19(火) 12:56:00.76
>>773
excelVBAは、常に何行何列を
意識してなきゃならんので、すごく面倒くさい。
365だと関数も積極的に追加されてるし、excel自体が機能てんこ盛りの変態ソフトなので
なるべくvba使わないようにしてる。
0779名無しさん@そうだ選挙にいこう垢版2021/01/20(水) 13:39:56.88
桐にしとけ
0785名無しさん@そうだ選挙にいこう垢版2021/01/22(金) 11:42:47.22
Accessってレコードの同時編集や同時にExcelファイルからインポートしたら壊れますか?
365でも同じですか?
0786名無しさん@そうだ選挙にいこう垢版2021/01/22(金) 11:44:00.52
>>785追加です。
2台でインポート、編集は特に問題はありませんでした
0787名無しさん@そうだ選挙にいこう垢版2021/01/22(金) 12:28:49.33
必ず壊れるんならみんなやらないから問題ないんだよ
たまに壊れるから厄介なんだよ
だからAccessは基本的に一人で使うもの
0788名無しさん@そうだ選挙にいこう垢版2021/01/22(金) 15:40:46.70
壊れたらどうなるんですかね?開かなくなる?
0789名無しさん@そうだ選挙にいこう垢版2021/01/22(金) 16:50:35.14
開いたときにエラーになる
0790名無しさん@そうだ選挙にいこう垢版2021/01/22(金) 16:58:10.50
>>789
開けるのか、開けないのか、どっちだよw
0791名無しさん@そうだ選挙にいこう垢版2021/01/22(金) 17:24:29.82
>>790
ウインドウは開くが中身が開けない
0794名無しさん@そうだ選挙にいこう垢版2021/01/22(金) 18:51:16.58
度数分布表を作りたいのですが、クロス集計で作成すると
標本数が0の時に表示されなくなります。

_0 2 3
10 6 0 ←この0は表示されない。
20 9 2
30 3 0 ←
40 0 0 ←この行自体が無くなる。
50 2 0 ←

これを常に0も表示させる方法はありますか?
0795名無しさん@そうだ選挙にいこう垢版2021/01/22(金) 19:51:26.88
>>794
単純モデルでゼロという値を含むクロス集計を試したら
ゼロは表示されたので、クロス集計の問題ではないですね。
必ず「ゼロというデータ」が発生するよう、一次データをクエリーで細工する必要があるのではないでしょうか。
たとえば、前レスで何度も出てきた
union allを使って、強制的に固定的データをマージするとか。
0796名無しさん@そうだ選挙にいこう垢版2021/01/22(金) 20:45:10.80
Countの0は細工しようがなくないか?
元データの数を数えるんだからないものはないわけで
細工してデータ入れたら1とかになっちゃうよ
0797名無しさん@そうだ選挙にいこう垢版2021/01/23(土) 11:23:26.79
それもそうだな。ゼロもカウント1個だし。
再度試したのはかなり泥臭いやり方です。
SELECT test.caption, Count(test.number) AS CNT
FROM test
WHERE test.number >=0 And test.number)<10
GROUP BY test.caption

これを範囲ごとにクエリーとして保存します。クエリー名testCNT1,testCNT2などとします。次に、常にゼロを出力するダミーテーブルを作ります。
範囲 caption CNT
00-09 a 0
00-09 b 0
00-09 c 0
10-19 a 0(以下略)
クエリーとダミーを全てUNION ALLします。
最終的にこれを使ってクロス集計クエリー(CNTの合計ということにしておく)
をかければ、一応データなし個所にゼロは埋まります。
0798797垢版2021/01/23(土) 11:35:05.90
UNION ALLのくだりが説明不足だった。
こんな感じ。クエリーごとに範囲名を付与する。
SELECT "00-09" AS 範囲,* FROM testCNT1
UNION ALL
SELECT "10-19" AS 範囲,* FROM testCNT2
UNION ALL
SELECT "20-" AS 範囲,* FROM testCNT3
UNION ALL SELECT 範囲,caption,CNT FROM test_dummy
0799名無しさん@そうだ選挙にいこう垢版2021/01/26(火) 03:42:42.44
一日に10件ほど増えていく出退勤簿があります
年間や一週間ごとの合計勤務時間や休憩、前回の出勤から何時間空いているか、などを計算するとき
抽出したりしてレポートを作成する都度計算させるとどんどん重くなっていきますか?
0802名無しさん@そうだ選挙にいこう垢版2021/01/26(火) 06:18:06.63
たとえば一週間ごとのやつなら最初は普通に出てたのがそのうち重くなる
そしたら抽出範囲を適当に狭めれば使える
どうせ昔のは必要なくなるから
そうやって適当にしのいでれば大して問題になることはない
0803名無しさん@そうだ選挙にいこう垢版2021/01/26(火) 10:37:24.91
集計結果を社内サイトのトップページに毎回表示する
とかなら結果表を保存しとくかな?
1週間に1回しか使わないなら1分ぐらいまで待たせる
0805名無しさん@そうだ選挙にいこう垢版2021/01/26(火) 13:54:01.14
10年で36500件って、わりと小さいテーブルだと思う。
計算式直打ちでも、もたつきは出ないんじゃないかな。
前日からのインターバルだけ、
データの検索が必要になるから
出勤入力確定時に、そういった動作をプログラムして
フィールドに埋め込みしたほうがいいかも。
0809805垢版2021/01/26(火) 19:25:15.27
>>808 ええ?的外れだった?ショックw

>>807
「前回の出勤から何時間空いているか」に関する提案です。
カタカナでインターバルって言い換えただけで。
職場の自主管理や、改正労働時間設定改善法に関する項目でしょう。
「タイムレコーダー」っていうテーブルがあるとすれば、従業員全員をごっちゃに入れますよね。
recID 従業員ID (従業員名)始業時刻 終業時刻
1 1 Aさん 2021/1/25 9:00 2021/1/25 18:00
2 2 Bさん 2021/1/25 9:00 2021/1/25 18:00
3 1 Aさん 2021/1/26 9:00 2021/1/26 18:00

レコードID3からすれば、その人の直前の終業時間(レコードID1)と始業時間(レコードID3)の
差を取る必要があるわけです。
そのレコードID1を見つけるのが検索で、表示させるたびにこの動作を発生させたら
マシンスペックや、レコード数によってはもたつくかもよ、という話です。
都度、計算でクエリーに埋めるとしたら
間隔:[始業時刻]-DMAX(“[終業時刻]”,”タイムレコーダー”,”[ 従業員ID]=”&[従業員ID]&” AND [終業時刻]<#“ & [始業時刻] & “#”)
みたいな感じになるかと思います。(動作検証はしてないので自信なしdatediff関数を使うかもしれない)

表示するたびに、テーブル全体を舐めることになるので、
それよりかは、「間隔」とか名付けたフィールドを設置し、始業入力時のイベントプロシージャーで
[間隔]=[始業時刻]-DMAX(“[終業時刻]”,”タイムレコーダー”,”[ 従業員ID]=”&[従業員ID]&” AND [終業時刻]<#“ & [始業時刻] & “#”)
とでも記述したらいかがですか、という話です。
(その従業員の最初のデータでは間隔を作れないので、その処理の仕方はまだ考えてません)
0811名無しさん@そうだ選挙にいこう垢版2021/01/26(火) 20:33:21.13
差を求める必要があるのならjoinするときにwhereで絞っておけば計算量減るからそんなに重くならない
0817名無しさん@そうだ選挙にいこう垢版2021/01/27(水) 17:55:24.00
>>816
本当にしたいことが何なのかよくわかんないけど、
出勤時と退勤時の差を求めるんなら、出勤時のSELECTと退勤時のSELECTをJOINしてONで同日指定してWHEREで必要な期間だけ抽出すればいいんじゃないの
そもそも具体的な話を本人からしたことあったっけ?
0818名無しさん@そうだ選挙にいこう垢版2021/01/27(水) 20:43:25.91
>>815
会社の総務なら人員が増減する度にDBもメンテするのは当たり前だし
個々のテーブルの追加・削除などVBからやれるようにしとけば何の苦も無い
変化のあった従業員IDを抽出し、それを元にメンテもフォームメニューから
ワンタッチで出来るようなシステムにしとけば良いだけだろ
0821名無しさん@そうだ選挙にいこう垢版2021/01/30(土) 01:37:46.70
>>820
そんな感じするね
Excelでシートごとに記録するのを当たり前にしてるような嫌な感じがする
集計の仕方が変わったり、項目自体が見直されたら、全テーブル作り直すためのプログラムを書きそう

しなくて良い仕事を作ってそれが仕事だと思ってそう
0822名無しさん@そうだ選挙にいこう垢版2021/01/30(土) 14:35:43.66
excelで思い出したけど
このまえ、総合生産管理をexcelで組めって部長に言われた。
Accessとかdbサーバー使ったらダメだって。
製品マスタ、材料マスタ、使用材料展開表などからの
生産実績入力、分析、材料の在庫管理、生産予定管理、
材料必要数の展開、材料発注管理

無理です〜。
0823名無しさん@そうだ選挙にいこう垢版2021/01/30(土) 15:32:40.82
15年位前の日経パソコンにEXCELは手軽で強力な開発環境って連載があった様な。
生産管理システムをEXCELで始めて必要になったらACCESSに、みたいな記事だった気がする。
出来るって言ってる人が居るんだから自分にも理解できる(気がする)EXCELで作って欲しいのでは。
0824名無しさん@そうだ選挙にいこう垢版2021/01/30(土) 16:57:13.28
>>819
人員は毎年定期的に、そして不定期にも変化するもので
その変化に応じたメンテを当然DBでもする必要がある
要はそのメンテを如何に楽に簡単に済ませられるかが肝だろう

メンテ内容が、IDの追加/削除だけで済むなら内部構造の在り方など
管理者の好きにすれば良いだろう。
他のテーブルとリレーションさせてるレコードの編集では作業用テーブルを
書き出す必要もあるし、それをクエリから抽出させることも出来るし、
何を奇様に捉えてるのやら
0825名無しさん@そうだ選挙にいこう垢版2021/01/30(土) 17:04:01.75
>>822
パソコンのEXCELなんでしょ?
スマホ版だと無理だろうけどJETのドライバならWindowsに標準でついてるみたいだよね
Macはどうなんだろうね
エンジンが使えるならAccessでできるデータ処理はほとんどできるんじゃないか
見た目をEXCEL上で動かせば良い
EXCELが必須じゃなけりゃMSForms使えば良い
0826名無しさん@そうだ選挙にいこう垢版2021/02/01(月) 19:25:15.51
「課題テーブル」 の項目「ファイル:添付ファイル型(拡張子は.xlsx)」をSQLで取得して(1)、
そのファイル名を変更して保存(2)しようと思っています。
(2)の処理は問題ないのですが、肝心な(1)の処理が分かりません
SQLだと以下のような感じかと思うですが、これだと、「ファイル」の名称も取得すらできないようです。
なにかしらヒントをいただけないでしょうか。
検索にヒットするようなキーワードでもかまいません。
よろしくお願いいたします。
"SELECT ファイル  FROM 課題テーブル where ID = 1" (件数は1件)
0827名無しさん@そうだ選挙にいこう垢版2021/02/01(月) 20:04:12.21
項目AとBがあって、Aは必ず値があります
Bは値があるものとないものがあります
Bで値がないものだけを抽出するには、WHERE句に何と書いたらいいでしょうか?
0828827垢版2021/02/01(月) 21:35:02.04
あ、すみません、自己解決しました
ISNULLでいけました
0829名無しさん@そうだ選挙にいこう垢版2021/02/02(火) 13:32:20.24
>>828
a b間は a条件 or b条件でいいんじゃない?
isnull 使うかなあ。
あと、最近はgoogle検索っぽいのを求められるので
半角スペースを条件列挙に展開するコードを書いて
条件句じたいはlike *キーワード*
にするのがいいぞよ。
0831名無しさん@そうだ選挙にいこう垢版2021/02/13(土) 02:39:39.04
>>826
添付ファイル型は使ったことないので動作が分からないけど、一旦取り出してからファイル名を変えて登録し直さないとダメとかじゃないの
そもそも(1)ができないのに(2)はどうやって動作確認したの
大変興味深いので教えて
0832名無しさん@そうだ選挙にいこう垢版2021/02/19(金) 00:30:52.09
右端とかのプロパティの文字あたりは大きくできないの?
あれ小さすぎだろ

ところでレポート印刷してできるだけ枚数減らしたいときってフォントどのくらいまでさげてる?
7より下げるときつそうだが印刷すると問題ないかな?
最近はBIZゴ使ってる
0834名無しさん@そうだ選挙にいこう垢版2021/02/19(金) 00:59:37.09
フォームや印刷関係などは使いやすい
別途のソフト経由させてもいいんだけど
そういうのやりだすともはやプログラマの知識必要になるよね?

GUIいちからつくって全部プログラム組んで
mysqlとかやる羽目になるのね?
0835名無しさん@そうだ選挙にいこう垢版2021/02/19(金) 02:54:41.03
Windows自体のダイアログのフォントが小さすぎて変えられないから無理でしょ
小型高精細モニタなんて珍しくもない時代なのに対応しないMSは何やってんだ
0839名無しさん@そうだ選挙にいこう垢版2021/02/24(水) 15:49:33.17
請求書などでレコード数により余白が出るとき
どちらのほうが視認性がいい(または一般的)ですか?
1は表の最終ラインを固定位置にして間が空白になる
2はラインをレコード数によって上につめて、それよりしたが空白になります
1
https://i.imgur.com/vDIZtqA.jpg
2
https://i.imgur.com/bmZg91T.jpg

数値は適当にいれたので気にしないでください
0841名無しさん@そうだ選挙にいこう垢版2021/02/24(水) 16:35:50.84
>>840
1は小計のしたが空白になって用紙の下辺りに太線(表の終わりを示すもの)があるけど
2は小計の下は空白がなく上につめる、ラインの下は空白になっています
0848名無しさん@そうだ選挙にいこう垢版2021/02/26(金) 12:37:22.02
高速代が頻繁に生じる業種ならこの形でいいと思う
一般の会社でたまたま高速代が生じたのなら明細を四行にして金額は縦並び、高速代には非課税の※印を付けるかするのが普通と思う
0849名無しさん@そうだ選挙にいこう垢版2021/02/26(金) 13:25:56.37
>>846
あくまで試作だろうけど
ちょっと笑った。
なんで高速代固定なのか。
まあ、高速代としましょうよ、etcの利用明細でも参考にしてくださいな。
普通は
伝票番号、伝票日付、品名 (高速利用料なら「利用料 あic〜いic」)、数量(利用料で特に何回とかまとめない場合は不要)、単価(絶対に単価=小計の場合は不要)、
小計
みたいな感じだと思う。
0850名無しさん@そうだ選挙にいこう垢版2021/02/26(金) 13:32:18.61
>>848
頻繁に生じます
表としてそこまで矛盾しているわけでもないってことですか?
そもそも縦に小計や消費税が並ぶのも矛盾している気もしますけどね
0851名無しさん@そうだ選挙にいこう垢版2021/02/26(金) 13:32:43.32
>>849
自己レス 思ったけど高速代って
高速道路じゃなくて
特急仕上げ料金とか、配達送料みたいなもんか。
それだったらなおさら
2行にわけて1行目が品代、2行目が高速代(その他オプション料金)です。
0852名無しさん@そうだ選挙にいこう垢版2021/02/26(金) 15:40:14.54
>>849
運送屋なんで指定があれば高速代を建て替えて実費を請求するのでそうしていました
一般的な運送屋の明細書は
○○行きとかで高速代は金額だけ書いていますね
伝票や受領書になどに高速の領収書をつけておくりますし
0853名無しさん@そうだ選挙にいこう垢版2021/02/26(金) 15:42:04.93
一番気になるのは小計のところの
高速代 と 料金 が横並びになって
縦に消費税にしていますが、表組みとしてそれでいいのかな、というところです
0854名無しさん@そうだ選挙にいこう垢版2021/02/26(金) 15:49:32.66
明細はこれでいいんじゃないか
区切り線以降は
課税小計2300/消費税230/非課税小計600/合計3130
を縦に並べるのがいいかな
高速代の真下の小計600はいらない
0859名無しさん@そうだ選挙にいこう垢版2021/02/26(金) 19:52:53.95
table1にAAAとBBBという項目を持つレコードが1000個あって、BBBの各値ごとのAAA全部の平均をとるときは
SELECT Avg(AAA) FROM table1 GROUP BY BBB
とすればいいですが、BBBの各値ごとに大きいほうから10個選んで平均とりたいときはどうすればいいですか?
0860名無しさん@そうだ選挙にいこう垢版2021/02/27(土) 01:21:45.36
出勤簿でレコードを追加していくときに
日毎に「注意事項」を入力したいです
「注意事項」の内容はすでに決まっていて20あり、それをループさせ入力していきたいです(マスタからリレーションか、値からでもかまいません)
どのようにしたらいいでしょうか?
0861名無しさん@そうだ選挙にいこう垢版2021/02/27(土) 10:00:36.42
すみません、一つ相談をさせて下さい。
【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
を設定しました。
そうしますと、「このリレーションシップでは参照整合性を設定できません。」と表示されました。

【エラーメッセージに関する質問】
参照整合性を設定するにはどうすれば良いでしょうか?
何を勉強すれば良いかがわかっていない状況です。申しわけございません。
0865名無しさん@そうだ選挙にいこう垢版2021/02/28(日) 01:59:54.58
>>862
それだと項目がループで表示されるわけじゃなくかたよりがでない?

注意事項マスタつくって数字を割り振る
それと出勤簿テーブルの注意事項コードみたいなのをリレーション
VBAでテーブルにレコード追加するときに前日の注意事項フィールドをみて20以下なら+1、20なら1を入力する

あとから入力したり修正するとおかしくなるかもしれないしなんか定番のやり方あるのかもしれないけど
0866名無しさん@そうだ選挙にいこう垢版2021/03/02(火) 14:54:09.81
最近、出退勤とか出勤簿系の質問多いけど、
質問内容からSQL文も理解できなさそうだから
一般に売ってる勤怠管理系のソフト買った方が早いんじゃないの?

それとも何処かに作ってもらったけど、追加要求機能の見積が高くて
自分でやろうとしてるとかか?
0867名無しさん@そうだ選挙にいこう垢版2021/03/02(火) 15:18:16.70
ここで質問していいのかわかりませんが、
売上・在庫管理システムを

・クライアント3台:Access 2019
・サーバー1台:SQL Server 2019
・接続方法:ODBC接続

でシステムを組むとしたら、
ハードウェアやAccess、SQL Serverを除いて
ソフトウェア開発費だけで予算的にどれくらい必要ですか?
0870名無しさん@そうだ選挙にいこう垢版2021/03/02(火) 20:35:12.78
867に便乗の質問です。
867と同じ構成の場合は、これまでは行儀良く必要なデータをfetchしてローカルの同じカラム構造のテンポラリにコピーして、追加や変更はadoで、insertやupdate文を構築して投げることをやってました。
大量のコード記述が必要ですが今回、開発時間が十分とれません。

sqlserverのリンクテーブルとして、ローカルaccessもしくはデータaccdb分離と同じようにフォームのソースに直接、それらのリンクテーブルを指定したときに
更新や整合性で不具合出ませんか。
「やってるけど、別に」「不具合は起きやすい」などお聞かせください。
0872名無しさん@そうだ選挙にいこう垢版2021/03/03(水) 08:28:08.45
どのレベルの更新や整合性かわからんけど
「やってるけど、別に」かな
0873名無しさん@そうだ選挙にいこう垢版2021/03/04(木) 13:25:22.46
>>872
ありがとうございます。
今、実験中です。
insert updateなどの更新系で、テーブルにオートナンバー含むときはqdf.executeの引数に
dbseechangesが必要、ということはわかりました。
0876名無しさん@そうだ選挙にいこう垢版2021/03/08(月) 15:20:05.07
すみません、一つ相談をさせて下さい。
【Windows】 10 【Access】 2016
【作りたいものの業務分野】
労務管理
【あなたのスキル】
LV1:完全初心者,
【どのオブジェクトに関する質問か】
テーブル,リレーション
【やりたいこと】
基本情報 |ID(主キー)|氏名   |フリガナ|
詳細情報 |ID(主キー)|基本情報ID|更新回数|現所属|
出向先  |ID(主キー)|基本情報ID|出向先 |

クエリ
出向先ID、基本情報ID、氏名、フリガナ、更新回数=1、現所属、出向先

このようなクエリをつくったところ、「このレコードセットは更新できません。」とエラーが出ています。

【エラーメッセージに関する質問】
基本情報と詳細情報を分けなければクエリも動くことは分かっているのですが、何故エラーが出るのかを理解したいです。
(基本情報と詳細情報は可能な限り分けて構築をしたいと考えています。
0878名無しさん@そうだ選挙にいこう垢版2021/03/08(月) 19:17:28.66
>>877 ありがとうございます。
出向先テーブルに、「出向者(基本情報ID)」と「出向先団体」をもたせる構造自体がおかしいのですね。
出向先と出向者をどう繋げれば良いのかを考える必要があるのでしょうか。
0879名無しさん@そうだ選挙にいこう垢版2021/03/08(月) 19:31:07.44
よく見たら詳細情報テーブルにも基本情報IDが入ってるのね
テーブルの主キーを他のテーブルにも入れちゃうから値を動かせなくなってエラーになってると思う
テーブルはマスタデータだから単独で平坦化しておいてクエリで欲しい形に組み合わせるのが正しい

ということで詳細情報テーブルと出向先テーブルから基本情報IDを削除しよう
0880名無しさん@そうだ選挙にいこう垢版2021/03/08(月) 20:44:10.90
>>879 ありがとうございます。
ご指摘のようにテーブルをつくると下記のようになるかと思います。
基本情報 |ID(主キー)|氏名 |
詳細情報 |ID(主キー)|現所属|
出向  |ID(主キー)|出向先 |

その場合に、「出向者クエリー」として以下をつくりたいと考えています。
|ID(出向.ID)|出向先(出向.出向先)|氏名(基本情報.氏名)|現所属(詳細情報.現所属)|
このとき、詳細情報と出向に基本情報IDをもたせずに構築することはできるのでしょうか。

※なお、出向先と現所属は毎年変わ(り得)るので、このようなテーブル構造が必須な状況です。
0881名無しさん@そうだ選挙にいこう垢版2021/03/08(月) 22:17:36.98
なんか急に、標準モジュール領域にsubとか、functionとか書いたら
コンパイルエラー 修正候補 識別子
とか出るようになった。
0883名無しさん@そうだ選挙にいこう垢版2021/03/08(月) 23:03:36.78
>>876
Accessは一対多のクエリでも編集できる(1側を変更すると該当する行がすべて更新される)けど
SQL Server Management Studio では普通に読み取り専用になる。

Accessでも3つ以上になると、めんどくさいので追跡してくれない
そんなもんです

基本情報ベースのフォームに、詳細情報サブフォーム、出向先サブフォームを追加して
基本情報
0884切れた垢版2021/03/08(月) 23:04:46.24
...
基本情報IDで連動すればいいんじゃないでしょうか?
0885名無しさん@そうだ選挙にいこう垢版2021/03/08(月) 23:12:59.02
もしくは出向先もマスタテーブルにして
詳細情報をためていくとか
詳細情報 |ID(主キー)|基本情報ID|出向先ID|更新回数|現所属|
0886名無しさん@そうだ選挙にいこう垢版2021/03/08(月) 23:14:51.25
>>880
失礼、詳細情報テーブルにも基本情報IDは必要ですね
IDはどのテーブルのものか識別つくようにするためフィールド名を固有ID名にして説明します。


出向先テーブル
 出向先ID
 社名

基本情報テーブル
 個人ID
 氏名,フリガナ

詳細情報テーブル
 個人ID
 更新回数
 現所属
 出向先ID

とすればクエリは

SELECT 基本情報.個人ID, 基本情報.氏名, 詳細情報.更新回数, 詳細情報.現所属, 出向先.社名
FROM 基本情報 LEFT JOIN (出向先 RIGHT JOIN 詳細情報 ON 出向先.出向先ID = 詳細情報.出向先ID) ON 基本情報.個人ID = 詳細情報.個人ID;

てな感じですな。
0888名無しさん@そうだ選挙にいこう垢版2021/03/09(火) 08:05:22.83
皆様sampleまで作って戴きありがとうございます。
想定としては下記のような構造を考えていたのですが、一対多が複数あると読み取り専用になるのですね。
https://dotup.org/uploda/dotup.org2408466.png.html

詳細情報テーブルに出向先IDをもたせるのが一番楽なようですね。
(詳細情報テーブルにもたせると、関係ない者にまで出向先を書く必要があり冗長かなと思っていました。
0889名無しさん@そうだ選挙にいこう垢版2021/03/09(火) 10:10:18.59
>>888
楽ってのは単一テーブルビューでの編集が楽ってだけなので
同時に編集しないならその関係のほうがいいんじゃない?

ただしDB的には 出向先1、 出向先2ってのがケチを付けたくなってくる
出向先は
id, 基本情報ID, 開始日, 終了日, 出向先名(または出向先ID)
だな。
面倒くさくなるけどw
0890名無しさん@そうだ選挙にいこう垢版2021/03/09(火) 16:35:04.71
>>888
>詳細情報テーブルにもたせると、関係ない者にまで出向先を書く必要があり冗長かなと
出向しない社員用に出向先テーブルに「なし」とか「自社」ってレコードを一件入れておけばいいだけでしょ。
あとこれはあくまでも基本設計の概念であって、>>889の言うように現実は履歴を記録する必要があると思う。
だから実際のクエリは1社員の出向回数分、1人のレコードが複数存在することになり、更新回数は
出向記録の件数をカウントさせる形になるだろう。
0891名無しさん@そうだ選挙にいこう垢版2021/03/12(金) 04:26:28.14
家族経営レベルの零細だから自分でVBA書いて業務管理つくってます
販売記録(BtoBだし取引先も10件程度なので煩雑ではない)と請求書発行です
一般的にどの程度の規模からソフト屋に外注するものでしょうか?
下手な会社に頼むとめちゃくちゃなUIになったり倒産したりで大変な目に合いそうです

同時に複数人で入力することもないし、あったとしても10人以下なら問題ないですかね?
PC一台をサーバー役にするなりNAS導入するなりで
0894名無しさん@そうだ選挙にいこう垢版2021/03/12(金) 07:29:41.34
>>891
作り方、データ量、ネットワーク帯域に影響されます。
作り方が一番重要だと思います。(システム分離はもちろん、サーバー問い合わせを極力減らすなど)

書かれている方もいますが接続台数が多いとDBの故障リスクが上がります。
データ量に比例してクエリなどサーバー問い合わせが重くなりやすい為です。
掲示されている内容だと10台は少し心配ですかね。
0895名無しさん@そうだ選挙にいこう垢版2021/03/12(金) 08:47:00.29
>>891
よく頑張ってますね。
同時作業者がいて、頻繁に同じレコードを更新するときに
矛盾が生じるのを防止する機能(悲観的ロック)を
高額なerpは搭載、アクセスはなし、ということになります。
人数と業務内容で精査してください。
0900名無しさん@そうだ選挙にいこう垢版2021/03/12(金) 18:22:02.46
>>899
20年位前に会社でIIS使ってイントラネットのページ作って<form>の中に<input>や<button>を配置してデータベースに入力したり、
データベースから読み込んだものを<table>に表示したりしてたけど、
100人弱の人が使って何の問題もなく使えてたよ
作るのもhtml書いて<% %>でデータベースとやり取りするスクリプトちょこっと組み込むだけだから余裕だったし
もう会社辞めたけどいまだに使ってるみたい
0901名無しさん@そうだ選挙にいこう垢版2021/03/12(金) 20:50:27.66
>>899
フォームはHTML(とPHP)で作ればいいんじゃね?
そうすればクライアント側にブラウザさえあればいいから、スマホやタブレットに対応させるのがすごく楽
ブラウザって基本的にタダだし
0903名無しさん@そうだ選挙にいこう垢版2021/03/12(金) 21:17:00.66
<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なりなんなり記述すればいい
0909名無しさん@そうだ選挙にいこう垢版2021/03/14(日) 18:09:54.04
レポートのプレビュー押したとたんにブルースクリーンになるのが
何回も起きるので
64bit版が原因かと思って
糞忙しいのに32bit版にインストールしなおしたら落ちなくなった。
どうやらセキュリティパッチが原因らしい。
KB5000801
0913名無しさん@そうだ選挙にいこう垢版2021/03/31(水) 01:42:55.01
それにしてもACCESSってつくりが古臭すぎるよね
フォームなんかもすごくつくりにくい
今時の大抵のソフトって何か配置するときに他の配置されたものと比較されてガイドでたりするのになあ
0915名無しさん@そうだ選挙にいこう垢版2021/03/31(水) 02:15:23.33
請求書なんかの印刷レイアウトつくるのも一苦労だよね
かといってファイルメーカーみたいに6万もしないけどさあ
365(というかEXCEL)のおまけだしね
0918名無しさん@そうだ選挙にいこう垢版2021/03/31(水) 07:57:47.92
桐にしとけ
0919名無しさん@そうだ選挙にいこう垢版2021/03/31(水) 08:16:42.85
本職と関係ないけど時々html cssやってて
デザインの機能が合理的なのね。
字などのサイズは画面の何%にして、とか。
accessは23インチのモニターで設計して配布したら、ノートpcで「ありゃ入りきらんわ」ってのがよくある。
0921名無しさん@そうだ選挙にいこう垢版2021/03/31(水) 12:25:03.90
フォームくらいならできそうだったけどレポートとかはむずかしそうだった
そもそもDBにフリーのもの使ってそれがコマンドプロンプトみたいな画面でフィールドつくったりしてやらなきゃいけないだよね?
0925名無しさん@そうだ選挙にいこう垢版2021/03/31(水) 15:03:03.30
Azure Data StudioってSQL Server のようにODBC接続でクラサバ構築できんの?
0926名無しさん@そうだ選挙にいこう垢版2021/03/31(水) 20:46:13.56
>>916
データベース自体をサーバー上に載せる方がいい
オープン系ならLinux+apache+postgresqlとか
レイアウトのし易さとかよりも、アクセスのし易さの方が生産性に大きく影響する
0928名無しさん@そうだ選挙にいこう垢版2021/03/31(水) 22:52:44.90
>>927
てっきりデータベースサーバー的な立ち位置かと思ってたわw
確かにStudioって付いてるからSSMSのようなツール的な立ち位置ね
ありがとう
0930名無しさん@そうだ選挙にいこう垢版2021/04/01(木) 19:09:37.31
仕事でAccessは使わないなあ

個人的に完結していてデータが連携するんなら同じファイルにしておく
全く関係ないんなら別ファイル

複数人が使うならMySQLとかPostgreSQLとか使う
0931名無しさん@そうだ選挙にいこう垢版2021/04/01(木) 19:53:02.73
仕事でリアルタイムにデータ更新するのは怖いから
データ入力はエクセルにして
アクセスからエクセルファイルをリンクして使ってた
アクセスでピボットテーブルの拡張版ぽいことしたり
リポートで帳票印刷
0934名無しさん@そうだ選挙にいこう垢版2021/04/01(木) 20:18:28.52
>>929
テーブルは全部同じaccdbにしてました。
バックエンド(データ)とフロントエンドに分けて、バックエンドはネット上の共有フォルダに、フロントエンドはそれぞれのパソコンに配布してました。
今はバックエンドをSQL Server Expressにしてますが。
0937名無しさん@そうだ選挙にいこう垢版2021/04/01(木) 20:41:09.79
>>936
バックエンドは心配だったので2時間に1回くらいバックアップしてました。一度も壊れたことはありませんでいたが。
最適化(圧縮)は誰も使ってないタイミングで行う必要があって、なかなか実行出来なかったのでSS Expressに移行しました。
0938名無しさん@そうだ選挙にいこう垢版2021/04/01(木) 22:46:36.09
ADP形式って無くなってたんやね、久しく触ってなかったから知らなかった
0939名無しさん@そうだ選挙にいこう垢版2021/04/02(金) 08:28:55.75
社員番号や商品番号などの桁数の話題があるけど
あれって単純に1から増えていくんじゃだめなの?
左右どちらか寄せにしとけば印刷しても視認性はよくない?
0942名無しさん@そうだ選挙にいこう垢版2021/04/02(金) 13:57:45.83
時間ないから、先日odbcリンクテーブルで、直レコードソース指定の単票フォーム作ったけど
なんとなくもっさりしてるんだよね。
フォーム開くときとか、全部読みに行ってるんだろうか。
かといってadpみたいな作り方は
膨大な記述必要になるし、
困ったもんだ。
0944名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 02:00:27.83
出勤簿のレポートを

日付 注意事項 氏名 出勤時間 退勤時間
4/3 整理整頓 AAA
BBB
4/4 事故注意 AAA
CCC

とするにはどうしたらいいですか?
注意事項はマスタをつくり、日付が変わるたびに次の項目を標準させたいです(ループさせる)
そのループのさせ方がわかりません
0945名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 05:34:45.22
いろいろわからん。出勤簿は記録?記録用紙印刷用の空テーブル?
トイレ掃除とか警備パトロールの記録用紙でも印刷したいのかな。
0946名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 05:59:03.25
>>945
ごちゃごちゃになりそうだったので時間を省きました
注意事項も適当な内容にしたけど、取引先の要望で取引先が指定してる注意事項を守るように毎朝出勤時に従業員に声掛けをするようにいわれてます
それをちゃんとやりました、という証拠です


単純にかけば、
日付をグループとしてみて新しい日付がでる度に違う注意事項を表示(注意事項マスタをぐるぐるループさせる)させたいということです
0948名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 06:23:24.89
>>947
20ちょいだったと思います30はなかったような

日付に関連付けることも考えましたが、休日や連休などで、注意事項に偏りがでそうでやめました
建前でやっているので勝手に自動で表記されるだけでいいので、自分で都度入力することも考えてないです
(本当は車を運転する前に日常点検をしなければいけないけどやっているひとはいない、みたいなものです)
0949名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 06:33:29.30
請けの仕事はそんなもんかもね。
EXCELでコピペすれば数分の手作業で数年分の出勤簿出来そうだけど、VBAでテーブル更新してレポートで印刷、みたいな事したいですか?
0950名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 06:38:29.53
>>949
EXCELでやるほうがいいのかもしれませんね
レポートのほうが整形というか入力と印刷を別個にできるしレコード増えてもすぐにだせるから楽かな、と思ったんですが

EXCELだと印刷する形で入力しなくちゃいけませんからねえ
VBAで転記すりゃいいんでしょうけど転記って結構面倒な記述なんですよね。どこがどこだっけ?とななりがち
0951名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 06:54:44.30
入力するならレコード追加時に
1.昨日の注意事項IDを取得して、
2.注意事項IDの最大値と比較して
3.最大値と同じなら1を、そうでなければ+1を今日の注意事項IDにする
で良いんじゃないかな。
レポート出力直前にテーブル更新しても良いけど。
0957名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 17:08:26.13
日付 注意事項 氏名 出勤時間 退勤時間
4/3 整理整頓 AAA
4/3 整理整頓 BBB
4/4 事故注意 AAA
4/4 事故注意 CCC

こんなリストを1年分単位でも作っといてピボットテーブルで一覧表作りゃ済むんじゃね?
0962名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 18:56:14.29
日付と注意事項のテーブルが有れば出勤簿テーブルとのクエリで出来ますね。
日付-注意事項テーブルは数年分Excelで作ってインポートかリンクすれば良さそう。
注意事項が増やされたりする事が有ればもうひと工夫だけど。
0964名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 19:09:03.43
やりたいことの条件を詳細まで詰めないと最適な設計はできないし、後出しで条件が変わるとちょっと変えればいいというほど簡単にはいかないのでかえってめんどくさくなる
0965名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 19:14:39.80
>>944
>>960
だと後出しはしてなくない?単純に毎日出勤簿つけていってレポートにするときに日付変わるたびに注意事項をループさせて表示したいっていってるだけじゃん
そして答えは>>951に書いてある
0968名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 19:48:25.38
>>967
まあ数年分作るってのははイマイチだったかもしれません。発注先に提出する実は実施していない注意事項声がけ記録なのでアラヨッと出来れば良いんじゃね?見たいな舐めた気持ちがあったかも。すまんすまん。
0970名無しさん@そうだ選挙にいこう垢版2021/04/03(土) 19:56:24.65
実を言うとファイルメーカーというソフトではできていましたがACCESSでやる方法がわからないということです(あちらは計算フィールドというものがありEXCELに近いので簡単にできたのだと思います)
0974名無しさん@そうだ選挙にいこう垢版2021/04/04(日) 02:07:12.71
請求書番号:00001
とか書いてたんだが、翌月もそこに請求書送るときに
請求書番号:00011
とかだと、この会社取引先10件くらいしかないのか、というように、把握されることに気がついた

お構いなしにやるもの?
0975名無しさん@そうだ選挙にいこう垢版2021/04/04(日) 04:32:48.68
>>974
見た目の会社の規模と合ってれば問題無いだろ
たまに、どう考えてもそんな台数は無いはずなのに社用車に3桁や4桁の番号を振ってるとこがあるけど、そういうほうがどうかと思う
0977名無しさん@そうだ選挙にいこう垢版2021/04/04(日) 04:58:34.74
>>975
請求書番号から取引先(というか請求書の枚数)把握されて足元みられるのが心配ってことだろ
10社しかなかったら1社に切られても痛いんだから多少の値下げには応じるだろう、とか

2204-001
2205-001
とかならうちの会社は毎回何番目に請求書つくられてるんだな、とかしかわからないと思う
0978名無しさん@そうだ選挙にいこう垢版2021/04/04(日) 05:18:37.46
>>977
DMAXとかでオートナンバーのかわりやると
例えば請求書なら送付後に間違いに気がついて作り直してレコード削除したら、同じ番号になってしまうよね
0979名無しさん@そうだ選挙にいこう垢版2021/04/04(日) 06:17:16.43
無為コードにしろってのは製品番号とかマスタのことで
問い合わせに使うためにつける請求書番号なんかは
年月 + 顧客番号 + 001
とかでいいんだぞ?
0982名無しさん@そうだ選挙にいこう垢版2021/04/04(日) 23:17:31.37
MicrosoftOfficeについて教えてください。
現在2010を使っているのですが、サポート期限切れで、新しくしたほうがいいと思っています。
私の調べたところ、最新のオフィスは、買い切り版と毎月(毎年)使用料支払版があるようなんですが、
ワードエクセルだけじゃなくてアクセスも含んだものを希望するとしたら、毎月使用料支払版しか選択肢がないのでしょうか?
買切り版でアクセスも使いたいとなれば、買切り版セットとは別売りで個別に買切り版アクセスを購入するしかないのでしょうか?
0984名無しさん@そうだ選挙にいこう垢版2021/04/05(月) 04:04:42.55
引ける線が馬鹿みたいにぶっといのはどうにかできないもんかな
簡単に0.7や0.5のラインを引かせてほしい

太い黒いラインに白いラインかぶせて細くしようとしたけど調整がうまくいかない
手打ちした数値から微妙に位置がずれるよね

なんか方法ないの?

officeで一番クソなWordだけ線種類が豊富とかいやがらせだろ
めちゃくちゃ高いけどファイルメーカーに乗り換えるかなあ
0985名無しさん@そうだ選挙にいこう垢版2021/04/05(月) 04:11:42.33
>>960
お前ら偉そうなわりにこんなことも解決できないのかよ
後出しを言い訳に偉そうなこと言うばかり
>>944
後出しも何もこれ見りゃ理解できるだろ

前回の注意事項IDを参照してループの最大値でなければ+1、最大値なら1に戻せばいいだけ
0990名無しさん@そうだ選挙にいこう垢版2021/04/05(月) 08:40:42.99
Accessの罫線はラスター画像
0992名無しさん@そうだ選挙にいこう垢版2021/04/05(月) 09:47:04.55
>>986
1の太さの線を3本引いて配置したいところに置く
0.5の線がほしいなら
一つは上に0.25ずらすもう一つは下に0.25ずらす
ずらした線を白色にする

これで0.5の線ができない?
やったことないからわからんが
きっちり0.25は動かせないかもしれない
ACCESSって微妙にずれるからね

レポートなら出力時にVBAでかけば細いのかけたような気もする
やったことあるけど線の端が尖ってた気がするから
そこも白い線で上書きして直線にした気がする
0993名無しさん@そうだ選挙にいこう垢版2021/04/06(火) 13:40:07.66
1つのクエリの中でSELECTを複数回実行してLEFTJOINして、長いSQL文を書いていたのですが、
もしかしてSELECT1回ずつ実行するクエリ複数作って、別のクエリでそれらのクエリをJOINしたほうが速くなったりしますか?
0996名無しさん@そうだ選挙にいこう垢版2021/04/06(火) 18:37:25.39
中間クエリーでデータ件数がゴッソリ減る場合とか
デザイナー使うと効率の悪いクエリーが出来ることがあるけど
手書きでSQL書くなら変わらんよ
0997名無しさん@そうだ選挙にいこう垢版2021/04/06(火) 20:49:19.78
クエリ1→クエリ2って作ってクエリ2呼び出しても、呼び出すたびにクエリ1を処理してるでしょそりゃ
テーブルじゃなくてクエリなんだから
0998名無しさん@そうだ選挙にいこう垢版2021/04/07(水) 07:50:04.72
access2000で十分事足りてるからいまだに使ってんだけど、最近のやつはテンポラリテーブルとか複数行クエリとかに対応してんの?
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 561日 16時間 35分 35秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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