Access VBA 質問スレ Part2 (788レス)
1-

120: 2019/10/05(土)14:25 ID:pEFp3YWl(1/2) AAS
""とclearcontentsの違いが明らかになったな
121: 2019/10/05(土)14:25 ID:pEFp3YWl(2/2) AAS
誤爆です
122: 2019/10/22(火)14:54 ID:Si05vw2X(1) AAS
俺なら
SELECT [部門] & [果実] AS 式1, Count("HOGE") AS DUMMY
FROM テーブル1
GROUP BY [部門] & [果実];
123
(1): 2019/10/30(水)06:50 ID:q0119UkA(1) AAS
普通の関数を使ったSQLがコンパイルエラーで通らなくなるのは、ずっとあるバグなの?
文字列中に含まれるスペースをなくした列同士を比較したいだけなのに
124: 2019/10/30(水)08:05 ID:QrHO4Al6(1) AAS
DBに上げる前のデータ加工はExcelとPowerBIについてくるPowerQueryで完結させる
DB自体は何でも良い
Accessはフロントエンド

こういう感じの運用が一番融通が利いて楽
125: 2019/10/31(木)14:53 ID:3aW6/Vt0(1) AAS
>>123
通ってたのが通らなくなったなら参照設定確認が最初の一歩
126: 2019/10/31(木)16:05 ID:IlVblaPX(1/2) AAS
optionala argumentについて教えてください。
外部リンク[htm]:tsware.jp では 引数を Optional かつ バリアント型で宣言する と書いてありますが、
総本山の 外部リンク:docs.microsoft.com では
あっさりと string型 で宣言しています。どっちが正しいのでしょうか?

それと、プロパティーシートから 関数を呼び出すときに引数を省略できますか?エラーばっかり出てしまうので,不可能という気がしてきますが、実際はどうでしょうか?
127
(1): 2019/10/31(木)16:14 ID:IlVblaPX(2/2) AAS
ひとつ解決しました。
ここ 外部リンク[htm]:bettersolutions.com に Remember that IsMissing will only work with the Variant datatype. と書いてあるので、
IsMissingを使いたい場合にvariant型である必要があるだと思います。

プロパティーシートからcallするときに省略可能かどうかはまだわかりませんね。
128: 2019/10/31(木)23:30 ID:IK0T1jez(1) AAS
>>127
プロパティシートからでも省略できると思うよ
標準で使える関数でも省略できるから
129: 2019/11/06(水)06:37 ID:jiZZUv+M(1/2) AAS
IsNumeric 関数 VBA 外部リンク:vba-auto.com

9CF
130: 2019/11/06(水)06:37 ID:jiZZUv+M(2/2) AAS
IsNumeric 関数 VBA 外部リンク:vba-auto.com

9CF
131
(2): 2019/11/12(火)08:08 ID:n8VUgOjj(1/2) AAS
スレチですまん。
俺はVBAをやってるが上司から言われました。(うちの部署、10名のうち、VBAを作れる人は二人だけ、、、)

AIが集計をしてくれるからEXCELは必要ない時代が来るねと言ってた。

反論出来る?
132: 2019/11/12(火)09:07 ID:umlGYBnb(1) AAS
高度なAIにVBAとか集計なんかやらせちゃ駄目だ。他に何もできない俺たちがやらなきゃな
133: 2019/11/12(火)10:13 ID:n8VUgOjj(2/2) AAS
>>131の者です。
EXCELとACCESSを間違えた、、、。
すみません。
134: 2019/11/12(火)18:47 ID:ZiPBwNA/(1) AAS
ここって禿げのおっさん来てるの?
135: 2019/11/12(火)21:13 ID:hnHZ9bm+(1) AAS
>>131
〉AIが集計をしてくれるからACCESSは必要ない時代が来るねと言ってた。

来ませんけど、未来のことなので証明はできません
なので、その理由を何かをしないことに最大限反論に活用するのが最も有効です

私がプログラムを始めた数十年前から、「コンピュータが発達したらプログラマーはいらなくなる」と言われていましたが、今でも慢性的に不足してますし、更には小学校(?)からプログラムを教えると

ちなみに自社でai使うことになっても、おそらく数百万円かかって、大して使い物にならないでしょう
ITに詳しくない人は、知識もないのに夢見過ぎです
省1
136: 2019/11/17(日)21:57 ID:qBLyum9y(1) AAS
エクセルに比べて、アクセスは過疎ってるなあ
137: 2019/11/18(月)09:09 ID:8BxAA3e8(1) AAS
あなたの禿にacc(ry
138: 2019/12/19(木)22:11 ID:lRu+t2VS(1) AAS
Access2010
印刷プレビューのリボンで「PDFまたはXPS」を押した際に出てくる
「PDFまたはXPS形式で発行」のダイアログを出すVBAコード教えてください。
139: 2019/12/20(金)21:12 ID:NX/gzbot(1) AAS
とりあえず自分でマクロの記録でそれらの操作をなぞって
それでできたブツを思う存分手直しして
そこで発生した問題を質問した方がいいかもな

Access遣いはおばーちゃんやおじーちゃん多いから
「イチからかよ」って思われると、誰も面倒がって答えたがらない
140
(1): 2020/01/25(土)09:08 ID:Ib3xGLkp(1) AAS
Windows10、Office365のAccess16なんだけど、レポートプレビュー画面にボタンでもおいて、そこにイベントプロシジャーを設定したいんだけど、どうするのかな?
Access2003では簡単にできたんだけど、リボンがでてきたAccess2007以降出来なくなった気がするんだけど、どうなんだろう?
141: 2020/01/25(土)10:20 ID:lx4KYteI(1) AAS
あなたのハゲにサクセスしたい
142
(1): 2020/01/25(土)23:41 ID:Tl89GTzc(1) AAS
>>140
ちょっと2003でそれをやるコード上げてみ
143: 2020/01/26(日)13:49 ID:63OckB6o(1) AAS
>>142
確か、カスタムメニューだったか、カスタムボタンを設定して、それにイベントプロシジャーを設定していた気がする。
アクセスキーを設定してプレビューを印刷して、プレビュー画面を閉じて、特定のフォームを起動して、特定のボタンやらテキストボックスにフォーカスを与えるとかやっていた気がする。
あれは実に便利だった。
Windows7が動いているPCが物置にあった気がするから確かめてみる。
144
(3): 2020/02/06(木)19:57 ID:djhx8w46(1) AAS
会社で役割柄ツールを作ることになりまして、アクセスに入門しました
xlsxをインポート、それと同時にテーブルを作成するVBAは組めたのですが、同時にレコードが勝手にソートされてしまい、元データとレコードの順番が異なってしまうという問題に直面しています。
この場合、テーブル作成と同時にオートナンバーを設定するようにしたいのですが、docmd〜acimportdelimでは定義付けができません。
何か方法はありますでしょうか

インポートするxlsxは毎回ファイル名が異なる想定なので、保存したインポートを使うのは極力避けたいです
145
(1): 2020/02/06(木)22:52 ID:BV2yIT+0(1) AAS
>>144
元データに順序列付けとき
146
(1): 144 2020/02/07(金)06:55 ID:uUICGF6D(1/2) AAS
>>145
そうですよね…
最終手段としてはそれを考えています
147: 144 2020/02/07(金)06:56 ID:uUICGF6D(2/2) AAS
ありがとうございます!
148: 2020/02/07(金)12:31 ID:etaMDs5Y(1) AAS
>>146
最終手段というか、RDBの行の順序に意味を持たしちゃ行けないと言う基本理念
149: 2020/02/09(日)18:52 ID:ISiAk6Az(1) AAS
あなたのハゲにサクセスしたい
150: 2020/05/03(日)05:34 ID:oxUHZhz1(1) AAS
おはようございました
新型コロナでACCESSどころでは無いですね
151
(2): 2020/05/23(土)05:21 ID:GBVQ4WJe(1) AAS
jetbeensのDataGripってアクセスでも使えるの?
152: 2020/05/24(日)14:56 ID:nvA4FLS/(1/2) AAS
>>151
jetbrainsでしょ
153: 2020/05/24(日)14:58 ID:nvA4FLS/(2/2) AAS
>>151
外部リンク:stackoverflow.com
154: 2020/06/12(金)10:16 ID:wVr6YfiN(1) AAS
全然ネットにもあがっていないけれど、Access2019の最新版で、DAOでレコードセットを作成して操作しようとすると
Accesが落ちるっていう現象を経験している人っていませんか?
32ビット版も64ビット版も同じ。
155: 2020/06/13(土)00:26 ID:0QXppYe5(1) AAS
Excelが2013というオチではなくて?
156: 2020/06/13(土)23:26 ID:qOp00dJL(1) AAS
そうでなくて、今まで動いていたのに最新のビルドになったら突然落ちるようになった。
前のビルと番号に戻したら動くのよ。
ADOでレコードセットを作成したときはどのビルド番号でも問題なし。
157: 2020/06/19(金)09:37 ID:N2hJl/gn(1) AAS
Application.SetOptionの引数一覧が知りたいのですが、誰か知りませんか
158: 2020/07/31(金)18:27 ID:2hxJK6g2(1) AAS
ヘルプデスクがスキルアップするため、プログラミング経験積むのにAccessVBAって合ってますか?
159: 2020/07/31(金)18:46 ID:z2KmuaKZ(1) AAS
まずヘルプデスクという職場でプログラミング経験積めるの?
160: 2020/08/01(土)22:26 ID:kuObS2ra(1) AAS
合ってるかどうかはわからんけど、それはありだな。
DBとPG、両方の知識が増える。
161
(2): 2020/08/02(日)01:27 ID:S6RTQlHT(1) AAS
お前らどうやって勉強したの?
おいらADO勉強したいけどどの本読んでいいかわからないから勉強できてない。
162: 2020/08/02(日)04:08 ID:dor5CoCv(1) AAS
覚えるなら実務が一番早いと思いますが
独学なら簡単なものを作ってみると良いですよ
持ち物リストとか
163: 2020/08/04(火)22:22 ID:j2qbL1qD(1) AAS
持ち物リストですか、わかりました
164: 2020/08/07(金)09:09 ID:QUQQ3BC/(1) AAS
>>161
Google。
本で勉強したのは20年前かな。
165: 2020/10/10(土)13:55 ID:aicjgH/E(1) AAS
最近のAccessは条件付き書式の条件数が3つまでという制限がなくなったと聞いて、vbaで4つ条件を書いたら、怒られた。
条件数の上限の件はどうなっているの?
166
(1): 2020/10/12(月)19:42 ID:SLKy4GhN(1/2) AAS
外部リンク[html]:hamachan.info
なんだろ?もっかい見直してみ
167: 2020/10/12(月)20:44 ID:XW9upEZ9(1/2) AAS
>>166
こんなことがかいてありましたね。
>>参考Access2010以降は、条件付き書式を3つ以上追加することができます。Access2007では、3つまでです。

もしかしたら、メニューからなら可能でVBAでは不可能なのかもしれませんね。そうだとしたら変な仕様ですね。
168: 2020/10/12(月)22:03 ID:SLKy4GhN(2/2) AAS
不可能とみるか、未対応と思うか 人それぞれ
クレバーなら文句を付けてるヒマ有ったら今できるベストな対応をして次に進んでる
169: 2020/10/12(月)22:18 ID:XW9upEZ9(2/2) AAS
おお、AccessとかVBAを勉強し始めた頃を思い出しますね。
ネットで誰かが質問すると必ず上から目線で罵詈雑言だったなあ。
知恵袋とかも酷かったなあ。
170: 2020/10/13(火)20:22 ID:Jo0My/9g(1) AAS
>そうだとしたら変な仕様ですね。
これが無かったら小言書かなかったけどな MS相手にどっちが上から目線なんだか
かてて加えて減らず口叩かれるとは いやはや

チラとWeb巡ったら難問袋小路問題で以前からあった疑問なのは判った
条件付き書式をVBAで制御するときに注意すること でググれば一番上に出てくるであろうサイトでは
2013をベースに「・・・すること」とか断言してるが、どうなんだ?
hatena さんのサイトでは別問題として画面がチラつくと仰ってる
省8
171: 2020/10/14(水)02:48 ID:zZVeC8zp(1) AAS
accessは質問者に小言を言う人が多い印象。
いわゆるIT土方が多いからかねえ。
余談だけど世間に流通している商品のVBAを覗くとひどいコードの多さに驚く。そういうコードを書く人が質問者相手にがストレス発散してる気がするなあ。
172: 2020/10/20(火)06:46 ID:RpHsdUuc(1) AAS
ACCESSは後継者が少ないから先輩面したくても出来ないって人が多いのでは。
私も後輩が欲しい。育成では無く先輩面目的で(だからダメなんだろうね)。
173
(2): 2020/10/23(金)06:48 ID:LIFEWQB+(1) AAS
Access2016を使っています
VBAを使いcsvファイルを取り込もうとしているのですが取り込み先のファイルの名前全てにピリオドが入っており、例1333.T.csv ピリオドが邪魔でファイル名を指定してもうまく取り込めません
何か良いアイデアはないでしょうか?
174
(1): 2020/10/23(金)17:06 ID:jTOWYlOX(1) AAS
csvファイルに名前付けのルールとかがあって、規則性があるなら Left Mid Right
辺りを交えて工夫  全く一貫性が無いとかなら . を ppp とかにリネームする工夫
外部リンク[html]:soudan1.biglobe.ne.jp  ←これってこと?
外部リンク[html]:tsware.seesaa.net ←ここにもヒントが
175
(1): 2020/10/24(土)06:13 ID:3Br09s+m(1) AAS
>>173
私はファイル選択、コピー、インポート、コピーしたファイルの削除、と言う手順でデータを取り込んでます。
176: 173 2020/10/24(土)23:19 ID:s9oXa8gi(1) AAS
>>174
ありがとうございます
ファイル名は規則性があるのでLeft Mid Rightを使ってドットをスルーして取り込みをするやり方を探してみます
>>175
こちらはファイルコピーをしてドットのない名前に変換してからインポートといった感じでしょうか初心者すぎてまだ色々理解できていないですが道筋がみえましたありがとうございます
177
(1): 2020/11/21(土)02:09 ID:OkL4O3GG(1) AAS
ACCESS365?でadoの話。
昨日、テーブルメンテナンス用にプログラム書いて、テストでupdateメソッド行をコメントアウトして実行したのにレコードが更新されて焦った。幸い意図した通りの更新が出来たので問題は無かったのだが、こんな事有る?
178: 2020/11/21(土)19:58 ID:4nufVV0K(1) AAS
通常ではあり得ない動作ですから
accdbが破損しているか
思い違いしているか
じゃないですかねぇ
179: 2020/11/22(日)23:10 ID:DuDUZZqW(1) AAS
だよね、自分の事じゃなければ私もそう思う。明後日に追試してみます。
180
(1): 2020/11/25(水)18:43 ID:q3XRT9ff(1) AAS
>177
ADOだと、Updateメソッド実行しなくてもレコードが保存される条件があったはず

外部リンク:docs.microsoft.com
>Update メソッドを呼び出すより前に追加中または編集中のレコードから移動すると、ADO によって自動的に Update が呼び出されて変更内容が保存されます。
181: 2020/11/26(木)22:16 ID:jD11+CM5(1) AAS
>>180
これか、ありがとう。
だとしたらupdateメソッド要らなくね?よく分からんが。
182
(1): 2020/11/27(金)16:20 ID:j3fR6c+j(1) AAS
レコード移動しないけど変更を保存したいときに必要だろう
183: 2020/11/29(日)20:06 ID:k+jvWZ30(1) AAS
>>182
それはそうね
184: 2021/01/11(月)16:27 ID:HFGgd7VU(1) AAS
ACCESSのSQLでビット比較ってどうすればいいですか
(value & 0x10) == 0x10 みたいに特定のビットが立ってるか比較したいのですが
185
(6): 2021/01/11(月)17:56 ID:qzYYjSUA(1) AAS
できるかわかりませんが、
(value and &H10) = &H10
だとダメですか?
186: 2021/01/12(火)19:10 ID:f1Ulh51r(1/2) AAS
>>185
試してみます、ありがとうございます
187
(1): 2021/01/12(火)19:16 ID:f1Ulh51r(2/2) AAS
ダメでした
andを&に変えてもダメでした
188
(1): 185 2021/01/12(火)19:30 ID:sGnBc5NV(1/3) AAS
そっか、SQLのAND演算子になっちゃうのか… &も文字列の結合演算子とみなされちゃうのかな?

&H10のビット限定なら、
(value \ 16) MOD 2
でいけそうですが、他にもパターンがあるでしょうから…
189
(1): 185 2021/01/12(火)19:34 ID:sGnBc5NV(2/3) AAS
何より分かりにくいですねw
整数除算(\)で該当のビット位置を一番右にずらして、MODでそのビットを取り出します
190
(1): 185 2021/01/12(火)19:49 ID:sGnBc5NV(3/3) AAS
16 じゃなくて &H10 と書く方が取り出すビットと一緒で分かりやすいですね(うまくゆくかはわかりませんが)

(value \ &H10) MOD 2
191
(1): 185 2021/01/13(水)02:15 ID:+GyFVgd4(1) AAS
連投すみません
188案は value が long型だとして、値が負数のとき正しい結果にならないことがあります
ごめんなさい
192: 2021/01/13(水)17:32 ID:Mb95xbD5(1) AAS
>>188-191
親切にありがとうございます。
\とか使えるのは知りませんでした。
試してみます
193
(1): 2021/01/13(水)17:50 ID:+yZZ5ziS(1) AAS
Windows10、Access365です。

Excelファイル上のデータに対して、ADOでアクセスして、データを取り込んでいるのですが、時間がかかります。
時間を短縮する方法はないでしょうか。

データは1ヶ月分9万件程度ですが、Accessのテーブルに取り込むのに、7分程度かかります。

テーブルのレコードの追加は、データ1件1件に対して、ADOのAddNewメソッド、Updateメソッドで追加しています。

試しに手動でAccessのインポート機能を使用して1ヶ月分のデータを取り込んでみたのですが、時間はかからなかったのですが、F20、F21など、空白の列まで要求されました。
そのためこの手段はあまり良くないと思っています。
省2
194: 2021/01/14(木)01:33 ID:yNTWs1ET(1/3) AAS
一件一件Updateするんじゃなくて、UpdateBatchでバッチ更新してみるとか
195: 2021/01/14(木)01:41 ID:yNTWs1ET(2/3) AAS
>>187
ふつうに>>185でできるはずだけど

valueの型が数値じゃないんじゃ?
196
(1): 2021/01/14(木)03:34 ID:eeXKDacn(1/2) AAS
>>193
レコードセットで要求の動作はできないと思われます
以下はレコードセットを使わない方法になります
前提として
・現在取込時にレコードセットを編集していない
・SQL が書ける

INSERT 文で
省6
197: 2021/01/14(木)05:18 ID:ecyWCD0F(1) AAS
知恵袋はあてにならんくて
198
(1): 2021/01/14(木)12:53 ID:kpvbRWbL(1) AAS
>>196
ありがとうございます
試しに1行をInsertしてみたところ、3分程度で処理できました。
ただ、.AddNewの方も、同じデータで3分-7分のくらいで処理できたので、思ったよりも処理速度は改善しませんでした。
あと、Nullだけのレコードが入ってしまうことも難点でした。

取り込みたいデータを取り込めたのと、列が30列くらいあり書き換えに時間がかかるので、一旦は今のままでいこうと思います。

ただ、今後も同じようなデータの取り込みがありそうです。
省1
199
(2): 2021/01/14(木)16:43 ID:eeXKDacn(2/2) AAS
>>198
ループ中の AddNew を SQL の INSERT に置き換えたのでしょうか?
インポート対象(9万件程度)を1度の INSERT で行います
Null レコードは Where で除外可能かと思います

現実的なのは SQL 直発行かインポート機能の2択かと思います
インポート機能も定義を固めれば使い物になります

効率というのは人によって変わります
省3
200
(1): 2021/01/14(木)18:14 ID:EmIfgllR(1) AAS
>199
いえ、INSERT SELECTからの列指定をして一気に入れ込みました。実験的に1列のみを。

インポート機能とSQLでの処理は速度が違う気がするのですが本当でしょうか?
テーブルへの書き込み方が根本的に異なるような気がします。

DoCmd.TransferSpreadsheet はぜひ使えるようになっておきたいですね。
エラーがよくわからないので今まで使っていませんでした。
1-
あと 588 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.022s