2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

Access総合相談所 29

1 :名無しさん@そうだ選挙にいこう:2019/09/23(月) 20:02:25.84 .net
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/

232 :名無しさん@そうだ選挙にいこう:2019/12/06(金) 18:03:01 .net
>>231
自分はフォームのコントロール同士で計算させるってのが考えるに面倒なので
レコードソースのクエリで計算させて
フォームはただそれを表示するだけにしてる

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

コントロールの表示って泡沫のようなもので
実態はテーブルにのみあるわけですからね

233 :名無しさん@そうだ選挙にいこう:2019/12/07(土) 19:09:02.22 .net
PCリカバリしたいんだけど
サポート終了したOffice再インストールすると
サポート期間中にリリースされたアップデートも
OfficeUpdateで取得できなくなっちゃうんろうか?

234 :名無しさん@そうだ選挙にいこう:2019/12/07(土) 20:07:44.65 .net
認証でハネられる インストール完了しない

235 :221:2019/12/07(土) 22:23:44.54 .net
ごめん見つけた

Windows XP/Office 2003サポート終了後の「世界」:「XPサポート終了」の具体的影響 - @IT
https://www.atmarkit.co.jp/ait/articles/1402/19/news116.html
> ●サポート終了日以前にリリースされたパッチは引き続き適用できる
> ●アクティベーション(ライセンス認証)も引き続き実行できる

236 :名無しさん@そうだ選挙にいこう:2019/12/10(火) 08:14:02.92 .net
>>233
アップデートファイルのダウンロードページが消える事もあるので
それらもバックアップしてるよ
>>235
はダウンロードページの閉鎖はしないとは言ってない

237 :名無しさん@そうだ選挙にいこう:2019/12/12(木) 08:56:52.28 .net
リンクテーブルで
「テーブルのみデータファイル:accdb、プログラファイル:accdb」
の組み合わせより
「テーブルのみデータファイル:mdb、プログラファイル:accdb」
の組み合わせのほうが処理速度が断然早いね
少量規模(数百件)のデータでもすごい体感できるくらいに早い
テーブルのみだったらmdbでも十分ですね

238 :名無しさん@そうだ選挙にいこう:2019/12/12(木) 09:25:32.22 .net
Win10Pro 64bit Access2016 32bit

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

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

◆数百件のデータをADOでテーブルに追加しレコードソース付きのフォームを開くまで
・accdb: 0.625秒
・mdb: 0.109秒

239 :名無しさん@そうだ選挙にいこう:2019/12/12(木) 14:56:42.98 .net
なんでADO?

240 :名無しさん@そうだ選挙にいこう:2019/12/12(木) 16:48:26.36 .net
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

241 :名無しさん@そうだ選挙にいこう:2019/12/12(木) 19:54:08.57 .net
accdbになってからDAO推薦だろ

242 :名無しさん@そうだ選挙にいこう:2019/12/13(金) 19:07:30.49 .net
で実害はあるの?
1000回も開かないと体感できないとか

243 :名無しさん@そうだ選挙にいこう:2019/12/13(金) 19:28:08.48 .net
すみません、初歩的なことで申し訳ないです

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

「連結フォーム VBA」で検索しても「非連結フォーム VBA」の結果ばかりでて困ってます…

244 :名無しさん@そうだ選挙にいこう:2019/12/13(金) 19:40:48.10 .net
>>243
私の言葉でゴチャゴチャ書くより
素晴らしい解説があるので。
T's wareさんはaccessでやれることのほぼ全てを網羅してます。
https://tsware.jp/study/vol16/vbabegin_43.htm

245 :名無しさん@そうだ選挙にいこう:2019/12/14(土) 09:37:44.02 .net
>>244
ありがとうございます、閲覧してみます!
毎度助かっております

246 :名無しさん@そうだ選挙にいこう:2019/12/15(日) 13:17:10 .net
>>240
Win7 Access2010
50万件レコードに部分一致検索10回して平均値取ってみたけど変わらんかった

2013以降でaccdbの仕様って変わったの?

247 :名無しさん@そうだ選挙にいこう:2019/12/15(日) 21:07:15.21 .net
たしかにテーブルのみとのリンクのファイル形式はmdbのほうが処理速度がはるかに速い
リンクする処理だけでも差が出るが、何故だ?

248 :名無しさん@そうだ選挙にいこう:2019/12/16(月) 09:39:49.82 .net
【 システム環境  】 Windows10, Access2019

コントロールソースに=Format(Now(),"yyyy/mm/dd")のあるテキストボックスのフォームを
2019でaccde化したファイルを2013で開くと#NAMEと表示され正常に表示されません。
2013でaccde化すると問題なく表示されます。
2019は前バージョンとの互換性がないのでしょうか?

249 :名無しさん@そうだ選挙にいこう:2019/12/16(月) 10:05:17.35 .net
vba画面開いて、どっかに1文字足して、また1文字引いて元に戻して、再コンパイルすると、直る予感

250 :名無しさん@そうだ選挙にいこう:2019/12/16(月) 15:35:52 .net
<<237
再コンパイルもダメで、mdbに変換しmde化もしてみましたがダメでした

251 :名無しさん@そうだ選挙にいこう:2019/12/16(月) 19:48:47.61 .net
関係ないけど、now使うんだ?
日付だけ拾うならdate()をよく使うけど。

252 :226:2019/12/16(月) 23:48:08.63 .net
リンクテーブルのファイル形式で処理速度に差が出る件、
パスワードの有無で差が出るこが判明!

>>240
のコードを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にあるテーブルとのリンクは極端に処理が遅くなる。

253 :名無しさん@そうだ選挙にいこう:2019/12/17(火) 10:00:49.25 .net
>>251
はい、以前Access95や97の時代にDate()で
#Nameエラーが多発したのでそれ以来Now()を使い続けています。
ちなみに今回のソースをDate()に変えてもダメでした。

254 :名無しさん@そうだ選挙にいこう:2019/12/17(火) 14:28:09.45 .net
>>253
試し方が、結構access使いなれてる感じですね。
軽くググったら
これは釈迦に説法だけど、フィールド名、ユーザー定義関数に
まんまdate nowと名付けたらエラー、
あとvb6ランタイムの
mscomctr.dll msctrctr2.dllというワードが出てきた。

255 :名無しさん@そうだ選挙にいこう:2019/12/17(火) 18:46:52.22 .net
>>252
それ、どっかに書いてあったで、hatenaなんとかかな

256 :名無しさん@そうだ選挙にいこう:2019/12/17(火) 22:24:14.74 .net
hatenaのはパスワードかけるとそのファイル内の削除クエリが遅くなるやつじゃね?
それならMicrosoft Security Essentialsが原因とか書いてたが...
>>252
はMicrosoft Security Essentials関係なく遅くなる。
どちらにせよaccdbの暗号化(パスワード化)は色々と問題ありそうだ

257 :名無しさん@そうだ選挙にいこう:2019/12/18(水) 07:49:56 .net
>>254
ありがとうございます。
それは、参照設定で参照不可が発生している問題ですね
その辺も全部チェックしましたが問題ありません。
結局2010でaccde化して配布することにしました。

258 :名無しさん@そうだ選挙にいこう:2019/12/21(土) 16:47:47.98 .net
Office2010で使ってましてQRコード使いたくてAccessだけ2016にしてたのですが
20日のアップデートでQRコード使えなくなりました
2016だけ再インスコで回避できたのですが
参照設定のBarCode Controlが14.0のままで
レポートのActiveXコントロールが16.0になってる辺りを疑ってるのですが
解決策ご存じの方おられませんでしょうか

259 :名無しさん@そうだ選挙にいこう:2019/12/22(日) 02:51:29.08 .net
>>1
https://hayabusa9.5ch.net/test/read.cgi/news/1576460939/110

260 :名無しさん@そうだ選挙にいこう:2020/01/10(金) 18:17:58.66 .net
Office2019personalがインストールされた環境にoffce365access runtimeはインストール出来ますか?

261 :名無しさん@そうだ選挙にいこう:2020/01/11(土) 16:57:13.83 .net
>>260
可能
ただしExcelの参照設定をいじる必要あるかも

262 :名無しさん@そうだ選挙にいこう:2020/01/12(日) 17:20:29.55 .net
>>260
確か、office2013が入ってるところに、access2016runtime入れるな
って注意書きがあったけど、
特に問題は起きていない。
ただ、VBAコード書いてruntimeに配布するときは、
on errorなんちゃらの処理をちゃんと書かないと、バッサリ落ちるので
ユーザーである社内の人間から白い目で見られるから、
面倒くさいんだよね。
製品版だと問題行で一時停止するんだけど。
わかってるつもりだが、いまだに忘れがち。

263 :名無しさん@そうだ選挙にいこう:2020/01/16(木) 15:50:02.36 .net
ナビゲーション ウィンドウをF11キーで表示した後、
再度F11キーで最小化されますが、
最小化ではなく非表示にする方法はないでしょうか?
VBA・マクロ以外の方法が見つかりません。

264 :名無しさん@そうだ選挙にいこう:2020/01/16(木) 21:38:58 .net
ACCESS2013だけど、クエリで選択した複数のレコードを1件のデータで管理したい場合どうすればいいですか?

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

何か良いアイデアありますか?

265 :名無しさん@そうだ選挙にいこう:2020/01/17(金) 03:46:11.58 .net
>>264
フォームのレイアウトを表形式にして、フォームのプロパティの既定のビューを帳票フォームに変更すればいい

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

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

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

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

よろしくお願いします。

267 :名無しさん@そうだ選挙にいこう:2020/01/18(土) 16:18:03.73 .net
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

誰にも言うなよ

268 :名無しさん@そうだ選挙にいこう:2020/01/18(土) 16:40:54.31 .net
知ってた、次期Accessでは無くなるし

269 :名無しさん@そうだ選挙にいこう:2020/01/18(土) 16:51:54.24 .net
>>266
連鎖更新で同期は可能だけどリレーションシップまで理解してるなら分かるよね。

270 :名無しさん@そうだ選挙にいこう:2020/01/18(土) 16:56:52.16 .net
>>268
こういう挙動とかサイレント修正されると困る事ってあるよね

2003の頃と2010以降でレポート開く時のWhereconditionの違いとか

271 :名無しさん@そうだ選挙にいこう:2020/01/18(土) 17:41:49.57 .net
ヘルプに記載無い挙動は、しょっちゅう変わるし

272 :名無しさん@そうだ選挙にいこう:2020/01/18(土) 18:02:52.64 .net
>>270
マクロなら動くけどVBAで組んだイベントプロシージャが動かなくなったことは良くある

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

>>259
ヘルプに無い挙動っていうと、単項式の評価は0以外はTRUEなんだけど、
たぶんそれ明示されていないんだよね。それを使った処理は危険だな
きちんと比較演算子で評価させよう

273 :名無しさん@そうだ選挙にいこう:2020/01/18(土) 19:33:32.37 .net
普通に開いたフォームと
New Form_フォーム名で開いたフォーム
識別方法ってある?
Openイベントで処理変えたいんだわ
Visibleが使えるかと思ったがダメだった

274 :名無しさん@そうだ選挙にいこう:2020/01/18(土) 19:36:33 .net
ごめん
テーブルやグローバル変数にメモるの以外で
です

275 :名無しさん@そうだ選挙にいこう:2020/01/18(土) 21:35:03.82 .net
「白いネコでも黒いネコでもネズミを取ってくるのがいいネコだ」@ケ小平
よって、共産党としてはフォームを開いた後に区別する方法は用意していない

276 :名無しさん@そうだ選挙にいこう:2020/01/19(日) 16:10:38 .net
本社と支社間のように離れた場所と共有する場合に、簡単で無料でする方法ってある?
テーブルデータ(バックエンド)がwebやクラウドにあるイメージ。
最大でも3〜4人しか同時に使わない。

277 :名無しさん@そうだ選挙にいこう:2020/01/19(日) 22:44:28 .net
Azure でドウゾ

278 :名無しさん@そうだ選挙にいこう:2020/01/19(日) 23:40:55.11 .net
>>273
http://www.accessclub.jp/bbs2/0105/beginter31915.html
古いがこれでいけるんじゃね?

>>276
無料で通信ができるとでも?
そのテーブルは更新するん?
それとも参照するだけ?

279 :名無しさん@そうだ選挙にいこう:2020/01/21(火) 08:25:15 .net
VPNルーターで拠点間通信

280 :名無しさん@そうだ選挙にいこう:2020/01/23(木) 20:03:56.96 .net
この前Win10にアップグレードしたんだけど
VBエディターで縦スクロールすると
分割ウィンドウにした時のような横線が入って
画面が乱れるときあるの俺だけ?
スクロールバーを上に向かって動かすとなりやすい

281 :名無しさん@そうだ選挙にいこう:2020/01/24(金) 06:50:18 .net
>>280
別にそういうふうにならないが
グラフィックドライバからみの問題な気がする
GPUとドライバのバージョンは?

282 :名無しさん@そうだ選挙にいこう:2020/01/24(金) 13:07:06 .net
>>281
Intel HD Graphics 2000
15.28.24.64.4229 (9.17.10.4229)

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

あと1つのIfにEnd Ifが2行続いてるので
あれっ?と思ってその行クリックすると1行になる

283 :名無しさん@そうだ選挙にいこう:2020/01/24(金) 17:48:59 .net
質問よろしいでしょうか

フォームでマイクロソフトアカウントの情報(表示名やメールアドレス)を取得することは可能ですか?

284 :名無しさん@そうだ選挙にいこう:2020/01/25(土) 04:08:48 .net
>>283
環境変数 USERDOMAIN かUSERNAMEをEnviron関数で取得でいけるかと

285 :名無しさん@そうだ選挙にいこう:2020/01/25(土) 06:57:24 .net
>>283
メールアドレスって環境変数には無いなあ。
そもそもメーラーは何使ってるの?

286 :名無しさん@そうだ選挙にいこう:2020/01/25(土) 09:36:06 .net
>>283
レジストリのどっかに書いてあるんじゃね?

287 :名無しさん@そうだ選挙にいこう:2020/01/25(土) 14:18:27 .net
>>283です
皆様ありがとうございます

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

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

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

>>286
レジストリの情報を読み出せるんですね
探してみます

288 :名無しさん@そうだ選挙にいこう:2020/01/26(日) 00:04:31.30 .net
accessでテーブル設計の参考になるような本やサイトを教えていただけませんか?
仕事でaccessを使わなければならなそうで、勉強がてら自分で趣味のデータベース作ったのですが、テーブル設計がエクセル的でダメと言われました。

289 :名無しさん@そうだ選挙にいこう:2020/01/26(日) 11:06:44 .net
ダメ出しした人から教わるのが一番

290 :名無しさん@そうだ選挙にいこう:2020/01/26(日) 17:05:27 .net
>>287
そういうことなら、例えば
https://hamachan.info/win8/access/user.html
が参考になるかと
必要なライブラリとその参照設定もググってみて

291 :名無しさん@そうだ選挙にいこう:2020/01/26(日) 17:21:47.76 .net
>>288
エクセル的ってのは曖昧な表現だけど、おそらくは正規化してないってことだと思うよ。
端的な言い方すると、Excelでテーブルらしきものを作って、それをコピペして
Accessがエラーなくテーブルとして取り込めるかどうかで判断しても良い。
エラーになったら、その原因を調べて直すでも、学習になるかも
とはいえ、エラーでなければ十分かというと違うんだけどね。
正規化という作業が待っているのです。

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

学習に向くのは
https://www.accessdbstudy.net/entry/20140930/p1
ですかね。
魔法使いの開発工房さんも参考になりますよ。

292 :名無しさん@そうだ選挙にいこう:2020/01/27(月) 01:37:37 .net
>>291
ありがとうございます。
まさにご指摘の通りです。リンク先の商品1、商品2・・・と全く同じことをやってしまいました。
正規化の勉強してみます。また分からなかったら質問させて頂きます。
仕事の方は前任者が作ったデータベースがあるためクエリで簡単な抽出はできたのですが、前任者がこの世にいないのでいずれ1から作らないとならないと思い趣味の方で作成した次第です。

293 :名無しさん@そうだ選挙にいこう:2020/01/27(月) 07:53:08 .net
これ見てふと思ったけど、顧客や取引先情報で住所・電話番号なんか
ごく普通に登録するけど、相手によっては住所や電話番号が空欄になる
こともあるのなら、これもやっぱり正規化すべき?
電話番号なんか特に空欄だけじゃなく複数あったりするけど

294 :名無しさん@そうだ選挙にいこう:2020/01/27(月) 08:17:15 .net
顧客マスタで住所や電話番号のフィールドが複数あるのはDB設計では一般的だぞ
問題は際限なく住所や電話番号が増えていくようなシナリオが想定される場合で、大体の場合、顧客の支社や工場の情報とか担当者個人の情報とかが追加されていくパターン
そういうのはChildでまとめるなりしてエンティティの階層を整理しないと駄目

295 :名無しさん@そうだ選挙にいこう:2020/01/27(月) 13:01:20 .net
>>294
サンクス
過去のDBを引き継いで使っているけど、顧客店舗テーブル眺めてると
電話番号の項目が3つあって、そのうち2、3は大体空欄なのが気になってたのです

296 :名無しさん@そうだ選挙にいこう:2020/01/28(火) 22:51:21.91 .net
たとえば、顧客名簿テーブルが
顧客名簿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

297 :名無しさん@そうだ選挙にいこう:2020/02/08(土) 17:07:45 .net
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 ×
ってクエリで結合させてポンと表示できないですか?

298 :名無しさん@そうだ選挙にいこう:2020/02/08(土) 17:43:43 .net
すみません、>>297ですがユニオンクエリがそのものでして無事解決しました

299 :名無しさん@そうだ選挙にいこう:2020/02/15(土) 17:23:27 .net
フォームやレポートでラベルとかを作ると
ラベル××って連番つくじゃないですか
あの連番こっちで操作できないんですかね

間違えて作成して元に戻すをやっても
連番は進んでるし…

300 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 10:47:02.53 .net
あれは便宜上自動で付けられている名前で
そのまま使用するのではなく設定し直すのが本筋なのです

301 :名無しさん@そうだ選挙にいこう:2020/02/17(月) 07:34:04 .net
>>299
ラベル自体を操作する
例えば.visibleで表示 非表示を制御する
Circleで丸囲みする
といった理由が無いなら放置してええかと

302 :名無しさん@そうだ選挙にいこう:2020/02/17(月) 11:47:07 .net
ありがとうございます。

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

テキストボックスの名前を読み込み時に変えようかなとも思ったんですけど

303 :名無しさん@そうだ選挙にいこう:2020/02/17(月) 18:15:41.05 .net
>>302
>12個の項目が複数
???
意味が分かりません。

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

単票レポートですか?
帳票レポートですか?

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

みたいな感じ。

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

306 :名無しさん@そうだ選挙にいこう:2020/02/19(水) 16:19:30 .net
OfficeH&B2019にOffice365AccessRuntimeを入れたら、Officeが無断で削除されたよ!気をつけてね!

307 :名無しさん@そうだ選挙にいこう:2020/02/19(水) 19:59:11 .net
>>306
おバカ自慢は要りません

308 :名無しさん@そうだ選挙にいこう:2020/02/20(木) 17:16:03.18 .net
>>303-304

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

01位 誰々 数値



10位 誰々 数値

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

フォーム読み込み時にVBAで最初に一括でtextbox.nameで名前を変えるのが一番楽そうですね

309 :名無しさん@そうだ選挙にいこう:2020/02/20(木) 19:53:05.85 .net
>>308
に、してもよ、レポートのグループ化とかそういうの使ってる?
私だったら、queryの段階で
ランキングタイトル:なんとかのやつ、誰々:誰々データ列、合計:sum(データ列)
といった形式でごく少量の列数に縛ったやつを作って
union allで束ねたものをデータソースにするけど。

B4とかA3に、「壁新聞みたいに自由に綺麗にレイアウトしたいの」
というニーズは、知らん。

310 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 10:37:17.87 .net
>>309
ユニオンオールで一つのクエリにしちゃうというのは全く発想になかったです!
確かにそうすると楽になる気がする…

ありがとうございます

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

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

素人故、根本的な考え方が間違っているかもしれませんが、アドバイスをいただければと思います。
よろしくお願いします。

312 :名無しさん@そうだ選挙にいこう:2020/02/26(水) 15:26:09.10 .net
自身が多いと思うのであれば素直にテーブル分割すればよろしいかと
挙げられている項目を一まとめに扱う事が多いのであれば分割しない方が開発は楽でしょう
ただフィールド数が多いとパフォーマンスに影響も出ます

正規化はシステムや顧客によって答えが変わって来ます
100%の分け方というものはないです
頑張ってください

313 :名無しさん@そうだ選挙にいこう:2020/02/26(水) 23:42:57 .net
第三正規形って初めて知った。
コングロマリット的展開をされてるのによく
EXCEL一本でやってましたな。
グループ企業全体のCRMを果たして素人コンピューティングで
実現できるのか、というのは難しいところで。

314 :名無しさん@そうだ選挙にいこう:2020/02/27(木) 09:23:58.65 .net
>>305
これからまさにこの環境を構築する必要があるんだけど
Access2019のランタイムって無いから、365用のランタイムになるよね?

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

開発が終わったら、上記環境にランタイムで稼働させる予定だから面倒だ・・・

315 :名無しさん@そうだ選挙にいこう:2020/02/27(木) 09:25:13.90 .net
>>314
>>306の間違いでした

316 :名無しさん@そうだ選挙にいこう:2020/02/27(木) 12:16:44.86 .net
数年前からグリッと方向転換してるのが良い面もあり弊害も起こし な状況なのかな
マシン本体の性能もいよいよ向上して、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/

317 :名無しさん@そうだ選挙にいこう:2020/02/28(金) 06:57:23 .net
>>311
例示された項目を見て、テーブルを分けろと言いたくなりますが、Accessでやれというお達しなら
顧客に関する情報は全部顧客マスタへ、という方法もいいかも。

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

ExcelのままよりはいいのでAccess版をプロトタイプにして巨大な顧客マスタで作り、SQL Serverに移行するとよい。
Transact-SQLは楽やで仕事がはかどる。
第三正規形とやらの意味は調べていない。第六文明人。

318 :名無しさん@そうだ選挙にいこう:2020/02/29(土) 22:42:56 .net
相談です。

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

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


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

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


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


ちなみにフォントはプロポーショナルフォントを使うため、文字数をカウントする方法は使えません。

319 :名無しさん@そうだ選挙にいこう:2020/02/29(土) 23:13:19.78 .net
>>318
小型ラベルを作るために、それ系の情報集めて実装したけど
かなり面倒くさいよ。googleで「twip」で検索。
今、見直したらQiitaの記事が秀逸。
文字列をtwip長に変換かけて、はみ出すようなら(限界値は自分で調査)
フォントサイズを1段階
落として、もう一回twip長を測って、はみ出すようなら以下同。

320 :306:2020/03/01(日) 00:06:31 .net
>>319
まさに、ラベルを作っています。

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

テキスト全体の幅/テキストボックスの幅では、禁則処理の関係もあり、正確な行数が出せません。

321 :名無しさん@そうだ選挙にいこう:2020/03/01(日) 01:20:01.67 .net
1番簡単なのはワードの差し込み印刷使うことかも
なんでもアクセスで済ませようとするとものすごく大変だけどデータ作成ソフトとして使って最後の処理や加工をワードやエクセルに任せれば結構簡単に色んな事が出来るよ

322 :306:2020/03/01(日) 14:25:53 .net
>>321
他ソフトと連携する際に、選択した特定のレコードだけ差し込むとかできるといいのですが、自分のスキルではなかなか難しいです。

パートのおばちゃんがラベルを印刷するのてファイルを選択したりとか難しいんです。

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

324 :306:2020/03/01(日) 22:50:09.30 .net
みなさん、いろいろありがとうございます。
>323 のやり方でやるのが現実的のようですね。

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

複数行のテキストボックスの文字配置なんですが、左揃えにすると右端がガタガタになってしまい、非常に見栄えが悪いのです。かといって均等割付にすると、最終行の文字数が少ないときに間延びしてしまいます。
ACCESSには、wordのあるような両端揃えはないようなのですが、何か他のうまい方法で同様のことは実現できないでしょうか?

325 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 08:17:57 .net
>>324
単純には後ろにスペース入れたら?
しかし、折り返しの自動処理(仕様)は意図した通りにならない。
均等割り付けはタイトルなど、一行のごく短文を想定したもの。
Accessはあくまで「まかない飯ソフト」 だ。レポートを客に渡したり、行頭に句読点がきたら怒り狂う上司を想定していない。
やりたければ
1 wordへの差し込み
(エクスポートはどこまでのものか知らん)
2 csvにしたあと、ラベルマイティ的なやつに読ませる
3 htmlを生成してcssをあてる

326 :名無しさん@そうだ選挙にいこう:2020/03/03(火) 07:31:07.72 .net
ACCESS runtime 2010 のダウンロードリンクがリンク切れになっているぞ
プロジェクトファイル(adp,ade)が開ける最後のバージョンだった。

327 :名無しさん@そうだ選挙にいこう:2020/03/03(火) 21:03:50.78 .net
>>324
プロポーショナルフォントだと打つ手はありません。
等幅フォントなら左揃えにすれば希望のとおりの文字配置になります。

328 :名無しさん@そうだ選挙にいこう:2020/03/09(月) 18:22:43 .net
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.

329 :名無しさん@そうだ選挙にいこう:2020/03/09(月) 20:01:51.74 .net
Accessで、ニューフィーチャーズは暫く見ていないような。
昨年、タブの見た目が変わったくらいか。
ネイティブでjsonとれるやつ、付けてくれ。
あと組み込みブラウザのエンジン、どうするつもりなんだ。

330 :302:2020/03/10(火) 15:55:17 .net
やはりOfficeH&B2019の環境にAccess365用ランタイムをインストしたら
Officeの方が消えた。ちなみにランタイムのバージョンはなぜか2016になっていた。

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

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

との事だったので、2013ランタイムを入れたらあっさり動いたので報告しておくよ。

331 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 20:07:47.63 .net
>>330 会社は、ほとんどの端末がバンドル版の2013 ACCESS
なしで、2013runtimeか2016runtimeを入れても、
特に問題は起きていない。
今後、法人端末はバンドルにしないで、365運用にしたほうが
省力化できるように思う。

総レス数 1015
360 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200