Access VBA 質問スレ Part2 (788レス)
上下前次1-新
4: 2018/12/13(木)18:44 ID:OtD2AZ3g(2/2) AAS
自己解決しました。
5: 2019/01/13(日)23:33 ID:c2khr5fz(1) AAS
順位が1位から20位までのデータがあったとして、
SQLを使用して、下位3件のデータを上位から取得(18位、19位、20位の順)するにはどうすればよいですか?
6(1): 2019/01/20(日)08:19 ID:cWi8furK(1) AAS
select * from (select top 3 * from テーブル名 order by 順位 desc) order by 順位 asc
7: 2019/01/20(日)19:20 ID:gJkAP+bh(1) AAS
>>6
ありがとうございます。これです。これがやりたかったんです。本当にありがとうございます!
8: 2019/01/30(水)21:17 ID:L0BPGpLZ(1) AAS
業務用mdbを眺めていたら,モジュールレベルでPublic宣言とGlobal宣言が混在している.
このPGはアホなのかな?
9: 2019/01/31(木)19:42 ID:fGTESevq(1) AAS
Excelからmdb更新するとかありなの?
10: 2019/02/01(金)21:39 ID:IN4mmcqP(1) AAS
テーブル定義いじるやつはマゾだがデータ更新なら普通だろ
11: 2019/02/02(土)15:17 ID:wM22Ef9l(1) AAS
そういえばGlobalって余り使わないけど
publicとどういう差が有るのかは知らないなぁ
12(1): 2019/02/20(水)18:39 ID:tMuImGOR(1) AAS
会社のPCがようやく7から10に切り替わり、
ついでにofficeが2010から2016になった。
そしたら・・・・・・
Accessのシステムが壊滅状態(;_;)
一番シンプルなところで、DateTimePickerがない・・・。
Access2016で日付フィールドとリンクしてない状態で、カレンダー使うのどしたらいいの・・・
2010と互換性を維持したまま
13: 2019/02/20(水)21:54 ID:oRzq8AWm(1) AAS
もうAccessを卒業するんだ
14(2): 2019/02/21(木)13:02 ID:L3EKz/Re(1) AAS
参照設定弄ってもだめなの?
15(2): 2019/02/21(木)19:38 ID:MzKG4O6f(1) AAS
>>14
情シス「VBのランタイム入れません。よくわからないから。」
(;_;)
16: 2019/02/21(木)19:55 ID:mRRRBv2X(1) AAS
>>12
カレンダー用のOCXだかDLLだかを持ってきて入れれば動くはずけど
ライセンス的にどうだか知らない
>>14
そもそもそのコンポーネントが今のACCESSに無くなってるから
2016をクリーンインストールしてれば参照設定できない
2010とかランタイム版あったはずだから、2016入れた後からインストールできるなら
省2
17: 2019/02/21(木)20:11 ID:3prgeWcz(1) AAS
そもそもAccessって、サポートあるの?
あるとしたら、SA結んだら何回までオッケーただしおま環は知らんみたいな?
18: 2019/02/23(土)08:51 ID:ILyuCfk+(1) AAS
>>15
それじゃどうしようもないじゃん
19: 2019/03/02(土)05:49 ID:6x5b9DFI(1) AAS
Accessの謎の異常終了は、永久に治らないの??
20: 2019/03/02(土)18:30 ID:AjPA8Eq0(1) AAS
microsoftはしかたなくaccessを続けているだけで
microsoftは多分本気でやる気はないよ
本気ならとっくに2G制限も越えているだろうしネットワーク処理機能搭載くらいしている
microsoftが本気ならファイルメーカーがやってる感じくらいの機能搭載や改良はしてる筈
office製品の一部だから止められないだけで
本格的な改修とかは無いと思っていた方が良い
絶対無いとは思わないけど
省1
21: 2019/03/04(月)09:50 ID:TvaJY4yu(1) AAS
そもそも元々MS製品じゃないしなあ。
22: 2019/03/04(月)19:28 ID:6LdJdRvZ(1) AAS
そうなの?
23: 2019/03/05(火)17:59 ID:sbeNr1jL(1) AAS
元々別会社が作っていた物を会社ごと買収してaccessって名前にして出した?
みたいな経緯だったと思う
確かwikipediaとかに書いてあったと思う
だからなんつーか
microsoftも余り思い入れが無いというか本気で無いというか
そういう感じの所が有るのは仕方が無いのよ
寧ろここまで続いている方が驚き
省8
24: 2019/03/05(火)22:29 ID:x8iA6KfG(1) AAS
止めたら影響大きいだろうな。電子カルテもあるし。
25: 2019/03/06(水)07:31 ID:5/Lsh2ff(1) AAS
言語仕様がほとんど変わらないおかげで20年前のシステムが今も使えている
開発コストと保守コスト考えたらAccessは素晴らしいよ
26: 936 2019/03/06(水)11:17 ID:OF16p3z1(1) AAS
ローカルでランダムアクセスできるAccessは気楽でいい
27(2): 2019/03/09(土)21:57 ID:QAZD12fZ(1) AAS
excel vbaとaccess vba
どっちの方が実用的ですか?
28: 2019/03/09(土)23:04 ID:M4mulWlp(1) AAS
>>27
必要に合わせてどっちも実用的
29(5): 2019/03/10(日)00:06 ID:PvuKZe7P(1) AAS
AA省
30(1): 2019/03/10(日)01:11 ID:W5FlChvZ(1/2) AAS
>>29
1がAかB
かつ
2がAかB
かつ
3がAかB
じゃないかな…眠くて間違ってる気もする…
省2
31: 2019/03/10(日)01:18 ID:W5FlChvZ(2/2) AAS
>>30
間違ってます。zzz
32: 2019/03/10(日)13:11 ID:FsgNmDsH(1) AAS
>>29
悪いことは言わんから、まずテーブル設計見直せ
33: 2019/03/10(日)15:10 ID:z6hGNEnV(1) AAS
馬鹿の次の質問
材料4を追加した時にはどうすれぱよいでしょうか?
34: 2019/03/10(日)17:44 ID:f/eJ/LOS(1/2) AAS
>>27
そもそもExcelでは応用効かない
35: 2019/03/10(日)17:46 ID:f/eJ/LOS(2/2) AAS
>>15
Visual Studio ExpressでDLL作れ
36: 2019/03/10(日)17:55 ID:hFpGjFbx(1/2) AAS
>>29
そのテ―ブルはちょっと…
商品のテーブルと材料のテーブルで結合じゃね?
37: 2019/03/10(日)18:51 ID:hpBR8lHx(1) AAS
accessは大昔にやってて今は持ってすらいないけど
該当行をdynasetで取り出した後
該当fieldから値を取り出して
if分で有るか調べれば出来たりしないか?
38: 2019/03/10(日)18:58 ID:9Z3HOdWo(1) AAS
いくらでも増やしていいぞ
SELECT * FROM 商品テーブル
WHERE (材料1 = ' & 材料A & ' OR 材料2 = ' & 材料A & ' OR 材料3 = ' & 材料A & ')
AND ("" = ' & 材料B & ' OR 材料1 = ' & 材料B & ' OR 材料2 = ' & 材料B & ' OR 材料3 = ' & 材料B & ')
AND ("" = ' & 材料C & ' OR 材料1 = ' & 材料C & ' OR 材料2 = ' & 材料C & ' OR 材料3 = ' & 材料C & ');
39: 2019/03/10(日)22:38 ID:mPydjeZt(1) AAS
いやぁぁぁぁぁぁぁ
40: 2019/03/10(日)23:14 ID:hFpGjFbx(2/2) AAS
だから、材料フィールドを横に並べるのは作りが悪いだろ。
フィールド1個にして縦に並べるべきじゃね?
41: 2019/03/10(日)23:50 ID:CvNRnyCH(1) AAS
unionで繋げばいいんじゃね
42: 2019/03/11(月)00:08 ID:B6nWiYCU(1) AAS
設計の問題だろ。
できるできないの問題じゃない。
なんで使い勝手の悪いもんをわざわざ作らなきゃならんのよ。
43: 2019/03/11(月)08:04 ID:fslMg+hg(1) AAS
取り敢えず動かすなら、
材料1〜4をカンマで連結した文字列の中に、AとB両方ある
と書けば人間にはわかりやすい
44(3): 2019/03/11(月)13:56 ID:IRjWKGwj(1) AAS
まぁリレーショナルデータベースだから設計を変えるべきだけど
access使うような所なんて零細なんだから
そんなリファクタリングだのテストファーストだのモダンだのオブジェクト指向だのも関係無いような人材しか居ないんだから
vbaベタベタというのでやるしかない
みたいな感じなんだろう
その人がそれしか出来ないならvbaベタベタしか方法が無かったりする
この人がそうなのかは知らないけど
45: 2019/03/12(火)00:15 ID:S+rkIDbC(1) AAS
普通の設計にしたとして
countが3以上の〜、とかやるのが正しいの?
なんか不安なんだが
46(2): 2019/03/12(火)12:34 ID:xgWEcpqA(1) AAS
なんでcountなんて話になってるの?
商品テ―ブルと材料テーブルで結合するなら、商品テーブルには材料IDのフィールドが1つしかないんだから、材料IDのフィールドに材料AのIDと材料BのIDを持つ商品を検索するだけだよ。
47(1): 2019/03/12(火)14:56 ID:4U4zzI9j(1) AAS
一つの材料IDフィールドに2つの材料IDをカンマ区切りで入れるのが正解なの?
リレーショナル全否定?
48: 2019/03/12(火)21:15 ID:0vZ7cwHu(1) AAS
リレーショナルデータベースを前提にするならどんな設計が一番使い勝手がよいんだろうかね
49(1): 2019/03/12(火)22:39 ID:o5cGPdg/(1) AAS
>>46
商品テーブル、材料テーブル、商品の材料テーブルを作って、こんな感じで
SELECT [商品] FROM 商品の材料
WHERE 材料 IN (Form!材料A, Form!材料B, Form!材料C)
GROUP BY [商品]
HAVING Count([商品]) >= Form!条件数;
材料A,B,CそれぞれのサブクエリをJIONするよりは速い気がする
50(1): 2019/03/13(水)08:11 ID:mGUeq4U2(1) AAS
AA省
51(1): 2019/03/13(水)11:51 ID:SZfR/Pu+(1) AAS
仕様が解らないからアレだけど
そのhaving countだと同じ材料が複数行登録されていた場合に
フォームに設定した別々な材料で検索した時に検索しても且つ条件にならないんじゃないかな?
同じ材料を登録できないように作ってあれば問題無いと思うけど
その辺どうなんだろうか?
まぁ作りと要求次第だと思うけど
的外れだったらごめんよ
省5
52: 2019/03/13(水)19:07 ID:0FHnOJ4A(1) AAS
最初に不安だと書いているように私もCountは邪道だと思ってるんですよね
「なんでcountなんて話になってるんだ」と怒られる程度には
それで、いろいろな方法がある中で「王道」をご指導いただけないんでしょうか?
53: 2019/03/13(水)21:35 ID:uWZ9EglX(1) AAS
>>51
基本的に、テーブルには誤りのあるデータは登録しない
逆に言うと、読み出したデータに誤りがあるかもしれないなら、全ての読み出し処理の後に全項目の妥当性チェックが必要になる
54(2): 2019/03/15(金)17:36 ID:FQsGmuzT(1) AAS
製品テーブルと素材テーブルと連結用テーブルの三つつくる
あとIDいらんから消して
55(1): 2019/03/15(金)18:33 ID:sIXN3DPH(1/3) AAS
idいらないのではってこと時々あるよね。
性別項目なんて"男"、"女"って直接入れてエエやんて思う。
56(1): 2019/03/15(金)18:46 ID:sIXN3DPH(2/3) AAS
>>54
id使わないなら 1テーブルでええんとちゃう?
57: 2019/03/15(金)18:47 ID:sIXN3DPH(3/3) AAS
>>56
余りにも近視眼でした
58: 2019/03/15(金)19:00 ID:Yw8dh4/K(1) AAS
>>55
性別はboolでいい
ただしオカマちゃんなどに対応するため
Bool 肉体の性別
Bool 精神の性別
Bool 改造後の性別
Bool 住民基本台帳の性別
省3
59: 2019/03/15(金)20:17 ID:GDnHo62/(1) AAS
SLC、MLC、TLC、QLCだな
60: 2019/03/15(金)21:26 ID:dImV5MMR(1) AAS
オカマでも、男専、バイ、女専と分けないとトイレで掘られるリスクが
61: 2019/03/16(土)08:42 ID:sYsfNqTH(1/2) AAS
Excel VBA質問スレが最後までいって終わったので、次スレ検索したらここが出てきた
Excel VBA質問スレの新スレはないのか?
62: 2019/03/16(土)08:43 ID:sYsfNqTH(2/2) AAS
Excel VBA質問スレでもAccessの話が話題に出るので、ここと統合してもいいんじゃね?
VBAメインの話だろ
63(2): 2019/03/16(土)10:08 ID:DkwCTpbs(1) AAS
>>29がダメな理由、データベースがわからない人にどう説明したら良いんだろ。
ウチの会社も、みんなこうやって作りたがるんだよな。
商品 1月売上 2月売上 3月売上 4月売上 ・・・
64(1): 2019/03/16(土)13:39 ID:zPyGim4X(1) AAS
難しいだろうね
リレーショナルデータベースにおける正規化って
コンピューター的な都合でテーブルを分けてる
でも実際には依頼伝票と明細というものは
人間の感覚的には一体として扱う方が感覚的に自然だからそういう風になってしまう
何の為にリレーショナルで正規化をするのか?
というのをデータの不整合が起きないようにを集中化させる為である事を教えるしかないけど
省11
65(2): 2019/03/16(土)17:31 ID:3KVWdS7r(1) AAS
>>54
横槍ど素人でごめん。
連結用テーブルってのは>>50みたいなのでおkってことですか?
最近ACCESS初めて同じようなことしようと思ってます。
66(1): 2019/03/16(土)19:49 ID:3keflQuI(1) AAS
>>65
そそ。
あそこに並んでる表を入れておくのが連結テーブル
あれがなぜ必要かはわかると思うので略
商品、材料テーブルの内容から、自ずと連結テーブルも必要になり、そういうテーブル構成になることは別に特殊なことではありません
67: 2019/03/17(日)08:42 ID:n1sOdbaQ(1) AAS
こんなスレがあるぞ
VBAに関する質問はこちらへどうぞ
Excel、Access、Outlook分ける必要ないだろ
VBAなんでも質問スレ Part2 [転載禁止](c)2ch.net
2chスレ:tech
68(1): 2019/03/17(日)10:57 ID:j70B1v+S(1) AAS
>>66
ありがとうございます。
実際は、製品のそれぞれの材料をどれくらい使ったかを管理する必要があるのですが、その場合、
製品テーブル
材料テーブル
製品と材料の連結テーブル
連結テーブルと使用量の入力用テーブルが必要になるイメージですかね?
省1
69: 2019/03/17(日)13:57 ID:2pkDyHvs(1) AAS
excelとaccessはアプリケーションとして随分違うから分けた方が良い
excelの方が進みが速いし
access相談系ってここ以外に案外質問スレが見当たらないし(自分が知らないだけで実際には有るかも知れないけど)
分量で分けるなら
excel
access,word,outlook,その他?
みたいに二つに分けた方が良い
省9
70: 2019/03/17(日)17:33 ID:5mJrF7aW(1) AAS
>>63
Excelに慣れて表を想像するから。
DBはリレーションを想像すべきで表を想像すべきじゃない。
>>64
リレーションに慣れてれば自然に正規化しようとするようになる。
71: 2019/03/17(日)23:33 ID:L17xYYyd(1/2) AAS
>>68
まず、製品、材料、連結テーブルの中で使用量を格納できる(格納するのがふさわしいか)のはどのテーブルかを考える。
ふさわしいテーブルがなければ新テーブルを追加するが、使用量は連結テーブルに格納すればいいのではと理論建てて考えられるようになりましょう。
書籍は近所に大きめの書店があれば、自分の好みで選びましょう。図が多いとかカラフルなのが見やすいとか。
初級本は2、3回見ればあまり出番なくなると思いますが、どんなことができるのかとか効率よく知るのに有効です。
他は、逆引きとか、テクニック本とかがいろいろな処理を書く上で有効で、長く役立ってくれるでしょう。
72: 2019/03/17(日)23:53 ID:L17xYYyd(2/2) AAS
>>63
データベースに限ったことではないが、最小限の入力(手間)で最大限の結果(伝票だけでなく売上集計や分析など)を得ることが目標。
平たく言えば、楽(効率アップ)しようと思わない人、そのために努力しようと思わない人には伝わらない。
オレは説得するのは諦めた。残業代増やしたい奴ばっかりだから
73: 2019/03/18(月)00:03 ID:01/djhoo(1) AAS
馬鹿には無理
これが真実
74: 2019/03/18(月)19:45 ID:WjETnlu5(1) AAS
構造ならSQLとかDBのアンチパターン解説本
>>65
他にも連結用テーブルはプライマリをフィールド二つの複合にして
それぞれに元テーブルとの外部キーつくること
75: 2019/03/19(火)06:30 ID:4N2t7FIS(1) AAS
みんなこっちにいるよ
2chスレ:tech
76: 2019/03/19(火)23:41 ID:PLWGdEFL(1) AAS
馬鹿でも仕事をしなきゃならない
そういう人は材料1,材料2,...でやれるなら
それでやってもらうしかない
頭いい奴だけで後は生活保護で構わない
とかで良いなら話は別だけど?
その辺を理解出来ないアホが多くて困る
正規化を理解しないでaccess使っている人間と種類的には同じ
省1
77(1): 2019/04/25(木)10:33 ID:I6sE8Jku(1/3) AAS
32bitのAccess2016を使っています。
いままではinteger型で済むものはlong型にしてはいけない。メモリーの無駄遣いと思ってきました。
しかし、ベンチマークをとるとlong型の方が速いという主張を頻繁に見るようになりました。
数字は全部long型にした方がいいのでしょうかね?
78(1): 2019/04/25(木)11:52 ID:vKKospK1(1) AAS
>>77
昔々はそうだった
しかし、今はあり余るメモリをたらふく使って、高速にとか、プログラム書きやすくとかになってる。
(もちろん限度ってものはある)
昔は8bitや 16bit CPUだから、長い桁は時間かかった。今は 64bitなので、それ以下に収まれば充分高速。
(数億回ループするのは稀なので、あるなら都度ベンチ取ってロジックなど決めるといい)
SIMDにより多く詰め込めるとかもあるけど、VBAでは多分使われてないから気にしなくていい
省1
79: 2019/04/25(木)15:22 ID:I6sE8Jku(2/3) AAS
>>78
でも、longに直したくなりますよねw
標準モジュールは一括置換→保存で問題ありませんでしたが、
フォームでやってみたら、すぐにメモリー不足やら、フォーム破損が生じてしまいましたw
80: 2019/04/25(木)17:43 ID:ImBWEqP9(1) AAS
馬鹿に教えるとロクなことをしない例
81(2): 2019/04/25(木)18:18 ID:I6sE8Jku(3/3) AAS
実験用のコピーだよ。
楽しく実験するのがプログラミング上達の近道だと思うんだよね。
82: 2019/04/25(木)20:40 ID:JpEf0ZAX(1) AAS
>>81
実験は大切。失敗もベンチ取るのも身になる。
実験ソースや結果も Accessのテーブルに分類して残しとくんだぞ
(オレは、ソースはモジュールに置いて、コメントに結果を書いてたりもする。もちろん他言語などはテーブルやプロジェクトにしてなど)
カンペ作ったときみたいに忘れないもんだが、将来の追試や数値が役に立つ(まれに)
83(1): 2019/04/25(木)22:25 ID:CJM7ooRn(1) AAS
>>81
後付けの言い訳乙
実験するよう連中はこんなところで質問なんかせんわ
84: 2019/04/26(金)05:09 ID:ebeJOjHo(1) AAS
>>83
Access界隈っこういう人が多い気がするなあ。
実験用コピーじゃなかったら真っ青になってるだろうなw
上下前次1-新書関写板覧索設栞歴
あと 704 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.019s