[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2ch.scのread.cgiへ]
Update time : 07/20 17:29 / Filesize : 230 KB / Number-of Response : 792
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Access VBA 質問スレ Part2



1 名前:デフォルトの名無しさん [2018/12/12(水) 22:14:39.18 ID:GF6Qf3Td.net]
Access の VBA に関する質問スレです

質問テンプレ(雛形)は用意しませんが、OSとAccessのバージョンぐらいは必ず書きましょう


前回のスレッド
Access VBA 質問スレ Part1
https://mevius.5ch.net/test/read.cgi/tech/1328536426/

152 名前:デフォルトの名無しさん mailto:sage [2020/05/23(土) 05:21:27.38 ID:GBVQ4WJe.net]
jetbeensのDataGripってアクセスでも使えるの?

153 名前:デフォルトの名無しさん mailto:sage [2020/05/24(日) 14:56:41.74 ID:nvA4FLS/.net]
>>152
jetbrainsでしょ

154 名前:デフォルトの名無しさん mailto:sage [2020/05/24(日) 14:58:32.86 ID:nvA4FLS/.net]
>>152
https://stackoverflow.com/questions/36820072/how-do-i-connect-a-ms-access-database-to-jetbrains-datagrip

155 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 10:16:26.06 ID:wVr6YfiN.net]
全然ネットにもあがっていないけれど、Access2019の最新版で、DAOでレコードセットを作成して操作しようとすると
Accesが落ちるっていう現象を経験している人っていませんか?
32ビット版も64ビット版も同じ。

156 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 00:26:56.61 ID:0QXppYe5.net]
Excelが2013というオチではなくて?

157 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 23:26:59.26 ID:qOp00dJL.net]
そうでなくて、今まで動いていたのに最新のビルドになったら突然落ちるようになった。
前のビルと番号に戻したら動くのよ。
ADOでレコードセットを作成したときはどのビルド番号でも問題なし。

158 名前:デフォルトの名無しさん mailto:sage [2020/06/19(金) 09:37:07.67 ID:N2hJl/gn.net]
Application.SetOptionの引数一覧が知りたいのですが、誰か知りませんか

159 名前:デフォルトの名無しさん mailto:sage [2020/07/31(金) 18:27:45 ID:2hxJK6g2.net]
ヘルプデスクがスキルアップするため、プログラミング経験積むのにAccessVBAって合ってますか?

160 名前:デフォルトの名無しさん mailto:sage [2020/07/31(金) 18:46:19.97 ID:z2KmuaKZ.net]
まずヘルプデスクという職場でプログラミング経験積めるの?



161 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 22:26:21.99 ID:kuObS2ra.net]
合ってるかどうかはわからんけど、それはありだな。
DBとPG、両方の知識が増える。

162 名前:デフォルトの名無しさん mailto:sage [2020/08/02(日) 01:27:11.88 ID:S6RTQlHT.net]
お前らどうやって勉強したの?
おいらADO勉強したいけどどの本読んでいいかわからないから勉強できてない。

163 名前:デフォルトの名無しさん mailto:sage [2020/08/02(日) 04:08:31 ID:dor5CoCv.net]
覚えるなら実務が一番早いと思いますが
独学なら簡単なものを作ってみると良いですよ
持ち物リストとか

164 名前:デフォルトの名無しさん mailto:sage [2020/08/04(火) 22:22:12.96 ID:j2qbL1qD.net]
持ち物リストですか、わかりました

165 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 09:09:10.88 ID:QUQQ3BC/.net]
>>162
Google。
本で勉強したのは20年前かな。

166 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 13:55:25.74 ID:aicjgH/E.net]
最近のAccessは条件付き書式の条件数が3つまでという制限がなくなったと聞いて、vbaで4つ条件を書いたら、怒られた。
条件数の上限の件はどうなっているの?

167 名前:デフォルトの名無しさん mailto:sage [2020/10/12(月) 19:42:49.57 ID:SLKy4GhN.net]
https://hamachan.info/win8/access/and.html#st-toc-h-3
なんだろ?もっかい見直してみ

168 名前:デフォルトの名無しさん mailto:sage [2020/10/12(月) 20:44:51.07 ID:XW9upEZ9.net]
>>167
こんなことがかいてありましたね。
>>参考Access2010以降は、条件付き書式を3つ以上追加することができます。Access2007では、3つまでです。

もしかしたら、メニューからなら可能でVBAでは不可能なのかもしれませんね。そうだとしたら変な仕様ですね。

169 名前:デフォルトの名無しさん mailto:sage [2020/10/12(月) 22:03:49.00 ID:SLKy4GhN.net]
不可能とみるか、未対応と思うか 人それぞれ
クレバーなら文句を付けてるヒマ有ったら今できるベストな対応をして次に進んでる

170 名前:デフォルトの名無しさん mailto:sage [2020/10/12(月) 22:18:07.44 ID:XW9upEZ9.net]
おお、AccessとかVBAを勉強し始めた頃を思い出しますね。
ネットで誰かが質問すると必ず上から目線で罵詈雑言だったなあ。
知恵袋とかも酷かったなあ。



171 名前:デフォルトの名無しさん mailto:sage [2020/10/13(火) 20:22:52.03 ID:Jo0My/9g.net]
>そうだとしたら変な仕様ですね。
これが無かったら小言書かなかったけどな MS相手にどっちが上から目線なんだか
かてて加えて減らず口叩かれるとは いやはや

チラとWeb巡ったら難問袋小路問題で以前からあった疑問なのは判った
条件付き書式をVBAで制御するときに注意すること でググれば一番上に出てくるであろうサイトでは
2013をベースに「・・・すること」とか断言してるが、どうなんだ?
hatena さんのサイトでは別問題として画面がチラつくと仰ってる
そのサイトの途中にあるリンク先 ↓ (アドレス貼ると書き込みできないから省略
YU-TANG さんは既にアーカイブでしか見られないしVerも古いが
3つしかできないのを工夫で5つまで可能にしてる(らしい 詳細は未チェック)
そのサイトの最下段にあるリンク先 ↓ (ry
で、そこから誘導されたこちらもアーカイブなLebans 氏のサンプル(らしい 詳細は未チェック)
帳票フォームをサブクラス化して 云々 悪魔の技とYU-TANGさんは大絶賛してる
驚くことにアーカイブだがファイル落とせる

自分では必要に迫られたこと無かったから無頓着だったが、なるほどね みなさん悪戦苦闘してるんですね

172 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 02:48:02.48 ID:zZVeC8zp.net]
accessは質問者に小言を言う人が多い印象。
いわゆるIT土方が多いからかねえ。
余談だけど世間に流通している商品のVBAを覗くとひどいコードの多さに驚く。そういうコードを書く人が質問者相手にがストレス発散してる気がするなあ。

173 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 06:46:57.60 ID:RpHsdUuc.net]
ACCESSは後継者が少ないから先輩面したくても出来ないって人が多いのでは。
私も後輩が欲しい。育成では無く先輩面目的で(だからダメなんだろうね)。

174 名前:デフォルトの名無しさん mailto:sage [2020/10/23(金) 06:48:31.50 ID:LIFEWQB+.net]
Access2016を使っています
VBAを使いcsvファイルを取り込もうとしているのですが取り込み先のファイルの名前全てにピリオドが入っており、例1333.T.csv ピリオドが邪魔でファイル名を指定してもうまく取り込めません
何か良いアイデアはないでしょうか?

175 名前:デフォルトの名無しさん mailto:sage [2020/10/23(金) 17:06:19.46 ID:jTOWYlOX.net]
csvファイルに名前付けのルールとかがあって、規則性があるなら Left Mid Right
辺りを交えて工夫  全く一貫性が無いとかなら . を ppp とかにリネームする工夫
https://soudan1.biglobe.ne.jp/qa2877385.html  ←これってこと?
tsware.seesaa.net/article/214574472.html ←ここにもヒントが

176 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 06:13:20.49 ID:3Br09s+m.net]
>>174
私はファイル選択、コピー、インポート、コピーしたファイルの削除、と言う手順でデータを取り込んでます。

177 名前:173 mailto:sage [2020/10/24(土) 23:19:53.94 ID:s9oXa8gi.net]
>>175
ありがとうございます
ファイル名は規則性があるのでLeft Mid Rightを使ってドットをスルーして取り込みをするやり方を探してみます
>>176
こちらはファイルコピーをしてドットのない名前に変換してからインポートといった感じでしょうか初心者すぎてまだ色々理解できていないですが道筋がみえましたありがとうございます

178 名前:デフォルトの名無しさん mailto:sage [2020/11/21(土) 02:09:02.77 ID:OkL4O3GG.net]
ACCESS365?でadoの話。
昨日、テーブルメンテナンス用にプログラム書いて、テストでupdateメソッド行をコメントアウトして実行したのにレコードが更新されて焦った。幸い意図した通りの更新が出来たので問題は無かったのだが、こんな事有る?

179 名前:デフォルトの名無しさん mailto:sage [2020/11/21(土) 19:58:38.03 ID:4nufVV0K.net]
通常ではあり得ない動作ですから
accdbが破損しているか
思い違いしているか
じゃないですかねぇ

180 名前:デフォルトの名無しさん mailto:sage [2020/11/22(日) 23:10:13.61 ID:DuDUZZqW.net]
だよね、自分の事じゃなければ私もそう思う。明後日に追試してみます。



181 名前:デフォルトの名無しさん mailto:sage [2020/11/25(水) 18:43:23.08 ID:q3XRT9ff.net]
>178
ADOだと、Updateメソッド実行しなくてもレコードが保存される条件があったはず

https://docs.microsoft.com/ja-jp/office/client-developer/access/desktop-database-reference/update-method-ado
>Update メソッドを呼び出すより前に追加中または編集中のレコードから移動すると、ADO によって自動的に Update が呼び出されて変更内容が保存されます。

182 名前:デフォルトの名無しさん mailto:sage [2020/11/26(木) 22:16:38.24 ID:jD11+CM5.net]
>>181
これか、ありがとう。
だとしたらupdateメソッド要らなくね?よく分からんが。

183 名前:デフォルトの名無しさん mailto:sage [2020/11/27(金) 16:20:14.12 ID:j3fR6c+j.net]
レコード移動しないけど変更を保存したいときに必要だろう

184 名前:デフォルトの名無しさん mailto:sage [2020/11/29(日) 20:06:15.16 ID:k+jvWZ30.net]
>>183
それはそうね

185 名前:デフォルトの名無しさん mailto:sage [2021/01/11(月) 16:27:04.20 ID:HFGgd7VU.net]
ACCESSのSQLでビット比較ってどうすればいいですか
(value & 0x10) == 0x10 みたいに特定のビットが立ってるか比較したいのですが

186 名前:デフォルトの名無しさん mailto:sage [2021/01/11(月) 17:56:37.60 ID:qzYYjSUA.net]
できるかわかりませんが、
(value and &H10) = &H10
だとダメですか?

187 名前:デフォルトの名無しさん mailto:sage [2021/01/12(火) 19:10:42.78 ID:f1Ulh51r.net]
>>186
試してみます、ありがとうございます

188 名前:デフォルトの名無しさん mailto:sage [2021/01/12(火) 19:16:56.91 ID:f1Ulh51r.net]
ダメでした
andを&に変えてもダメでした

189 名前:185 mailto:sage [2021/01/12(火) 19:30:22.83 ID:sGnBc5NV.net]
そっか、SQLのAND演算子になっちゃうのか… &も文字列の結合演算子とみなされちゃうのかな?

&H10のビット限定なら、
(value \ 16) MOD 2
でいけそうですが、他にもパターンがあるでしょうから…

190 名前:185 mailto:sage [2021/01/12(火) 19:34:25.38 ID:sGnBc5NV.net]
何より分かりにくいですねw
整数除算(\)で該当のビット位置を一番右にずらして、MODでそのビットを取り出します



191 名前:185 mailto:sage [2021/01/12(火) 19:49:06.45 ID:sGnBc5NV.net]
16 じゃなくて &H10 と書く方が取り出すビットと一緒で分かりやすいですね(うまくゆくかはわかりませんが)

(value \ &H10) MOD 2

192 名前:185 mailto:sage [2021/01/13(水) 02:15:13.93 ID:+GyFVgd4.net]
連投すみません
188案は value が long型だとして、値が負数のとき正しい結果にならないことがあります
ごめんなさい

193 名前:デフォルトの名無しさん mailto:sage [2021/01/13(水) 17:32:20.96 ID:Mb95xbD5.net]
>>189-192
親切にありがとうございます。
\とか使えるのは知りませんでした。
試してみます

194 名前:デフォルトの名無しさん mailto:sage [2021/01/13(水) 17:50:48.61 ID:+yZZ5ziS.net]
Windows10、Access365です。

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

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

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

試しに手動でAccessのインポート機能を使用して1ヶ月分のデータを取り込んでみたのですが、時間はかからなかったのですが、F20、F21など、空白の列まで要求されました。
そのためこの手段はあまり良くないと思っています。

レコードセットを一気にInsertする方法とかないでしょうか。
よろしくお願いします。

195 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 01:33:57.64 ID:yNTWs1ET.net]
一件一件Updateするんじゃなくて、UpdateBatchでバッチ更新してみるとか

196 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 01:41:15.38 ID:yNTWs1ET.net]
>>188
ふつうに>>186でできるはずだけど

valueの型が数値じゃないんじゃ?

197 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 03:34:32.57 ID:eeXKDacn.net]
>>194
レコードセットで要求の動作はできないと思われます
以下はレコードセットを使わない方法になります
前提として
・現在取込時にレコードセットを編集していない
・SQL が書ける

INSERT 文で
・「IN 句」に Excel ファイルを指定
・追加先テーブルに Access テーブルを指定
これでインポートと同等のパフォーマンスになると思います

詳細は MS のリファレンスを参照
https://docs.microsoft.com/ja-jp/office/vba/access/concepts/miscellaneous/in-clause-microsoft-access-sql
今(.xlsx)だと EXCEL 12.0 になります

198 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 05:18:36.84 ID:ecyWCD0F.net]
知恵袋はあてにならんくて

199 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 12:53:46.92 ID:kpvbRWbL.net]
>>197
ありがとうございます
試しに1行をInsertしてみたところ、3分程度で処理できました。
ただ、.AddNewの方も、同じデータで3分-7分のくらいで処理できたので、思ったよりも処理速度は改善しませんでした。
あと、Nullだけのレコードが入ってしまうことも難点でした。

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

ただ、今後も同じようなデータの取り込みがありそうです。
他に効率的なデータ入れ込み方法がありましたら、お教えいただけると幸いです。

200 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 16:43:18.02 ID:eeXKDacn.net]
>>199
ループ中の AddNew を SQL の INSERT に置き換えたのでしょうか?
インポート対象(9万件程度)を1度の INSERT で行います
Null レコードは Where で除外可能かと思います

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

効率というのは人によって変わります
普段からコードに触れている人なら VBA からの SQL 発行が効率的
コードは書かないが Access を使い慣れている人ならインポート機能やクエリ定義が効率的
両者の方法とも取り込み実行時間はほぼ同じです



201 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 18:14:16.61 ID:EmIfgllR.net]
>200
いえ、INSERT SELECTからの列指定をして一気に入れ込みました。実験的に1列のみを。

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

DoCmd.TransferSpreadsheet はぜひ使えるようになっておきたいですね。
エラーがよくわからないので今まで使っていませんでした。

202 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 21:01:21.37 ID:yNTWs1ET.net]
>>201
全体で1トランザクションになるようにトランザクション張るか
UpdateBatchで更新するか試してみてくれ

203 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 23:19:32.20 ID:KOTB1sbE.net]
>>202
ありがとうございます
参考にしながらやってみます。
https://www.google.co.jp/amp/s/foolexp.wordpress.com/2011/11/07/%25E5%2588%2587%25E6%2596%25AD%25E3%2581%2597%25E3%2581%259F%25E3%2583%25AC%25E3%2582%25B3%25E3%2583%25BC%25E3%2583%2589%25E3%2582%25BB%25E3%2583%2583%25E3%2583%2588%25E3%2581%25A8%25E3%2583%2590%25E3%2583%2583%25E3%2583%2581%25E6%259B%25B4%25E6%2596%25B0%25E3%2583%25A2%25E3%2583%25BC%25E3%2583%2589/amp/

https://docs.microsoft.com/ja-jp/sql/ado/guide/data/sending-the-updates-updatebatch-method?view=sql-server-ver15

あと、トランザクションの以下のコードですが、参考にしようと思うのですがこれは全体で1トランザクションになっていますか?
https://excel-excel.com/tips/vba_299.html

204 名前:デフォルトの名無しさん mailto:sage [2021/01/15(金) 12:06:52.83 ID:Z+pTsb/B.net]
>>200
もう一度SQLでやってみたところ、インポートと同じ時間で処理できました。
ありがとうございます

>>202
UpdateBatchでは処理時間に違いがありませんでした
レコードセットへの書き込みに時間がかかっているのかもしれません。
ありがとうございます

205 名前:デフォルトの名無しさん mailto:sage [2021/01/16(土) 21:45:45.19 ID:wM/4uvwh.net]
>>162
資格をモチベにしてる

206 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 12:20:07.19 ID:pY3ojVqI.net]
ウチの社内の情報システムの制限でwindowsカメラアプリが制限されてるんだけど、VBAで無理矢理動かせないだろうか、、、
いろいろ検索してみても古い情報しかなくて、、
64bit版でも出来るようなプログラムの見本とか有れば助かる。

207 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 12:31:00.16 ID:bIVSUY/u.net]
そんな事してバレたら懲戒処分にならない?

208 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 21:32:09.76 ID:0moyOenU.net]
>>207
少し言い方が悪かったかな。

端末でWEB会議してるから、カメラを使うのは問題無いんだけど、静止画を撮るソフトが入っていないもんで、静止画を撮ってDBと紐づけたいってなると、できなくて。
小規模グループでAccess使ってるから、システムに相談しても本気でかけあってくれなくて、、
それだったらVBAでどうにかならないかと思って。

209 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 22:49:05.99 ID:5iMVHv+0.net]
>>208
より悪いんだけど

210 名前:204 mailto:sage [2021/01/27(水) 17:26:57.82 ID:Nmg5vWMl.net]
スタンダード受かった(^ω^)v



211 名前:デフォルトの名無しさん mailto:sage [2021/01/29(金) 13:44:54.10 ID:Xkyf+iIu.net]
>>210
もめでとう!
資格は財産!
凄いなスタンダードは

212 名前:デフォルトの名無しさん mailto:sage [2021/01/29(金) 16:32:16.97 ID:SG5MocSx.net]
>>211
ありがとう。マイナー資格のせいか、
テキストは悪評にも関わらず他に選択肢ないし、
そのテキストもアプリもやたら高いけど、
一発合格のために全部ちゃんと買ったわー。

213 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 10:42:42.16 ID:/4jghnKY.net]
VB自体マイナーよりなのがね。。。
参考書の著者は名のある人(武藤玄さん?)だから安心でしょ

214 名前:デフォルトの名無しさん [2021/02/01(月) 19:30:44.14 ID:JChayj2G.net]
「課題テーブル」 の項目「ファイル:添付ファイル型(拡張子は.xlsx)」をSQLで取得して(1)、
そのファイル名を変更して保存(2)しようと思っています。
(2)の処理は問題ないのですが、肝心な(1)の処理が分かりません
SQLだと以下のような感じかと思うですが、これだと、「ファイル」の名称も取得すらできないようです。
なにかしらヒントをいただけないでしょうか。
検索にヒットするようなキーワードでもかまいません。
よろしくお願いいたします。
"SELECT ファイル  FROM 課題テーブル where ID = 1" (件数は1件)

215 名前:デフォルトの名無しさん [2021/02/01(月) 20:47:30.12 ID:g0s2XOHS.net]
ファイルを取り出したいのか、ファイル名を変えたいだけなのか、何がしたいのかがわからない。

216 名前:デフォルトの名無しさん [2021/02/01(月) 20:48:57.97 ID:g0s2XOHS.net]
ファイルをSELECTするとファイルが出てくるというのは奇妙な発想だな

217 名前:デフォルトの名無しさん [2021/02/01(月) 20:52:05.66 ID:1CLvOTQ1.net]
>>215
ファイルを取り出したいんだけど、
SQLでなくクエリーでやるべきなの?
先日Access始めたから見様見真似。

添付ファイルを取得すれば、renameして保存するところはわかるんだけど。

218 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 20:58:59.00 ID:90ziZ1xl.net]
エクセルファイルはAccessには入ってないだろ
フォルダから取り出すのか?

219 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 20:59:30.52 ID:90ziZ1xl.net]
何がしたいのかマジで分からんw

220 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 20:59:46.61 ID:1CLvOTQ1.net]
Accessのテーブルの添付ファイル型の項目に入っている



221 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 21:01:37.65 ID:90ziZ1xl.net]
そのアドレスをエクセルで開いてリネーム保存すればいいじゃん

222 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 21:03:39.26 ID:90ziZ1xl.net]
Dim MyExcel As New Excel.Application

とか使って

223 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 21:12:34.68 ID:1CLvOTQ1.net]
>>222
それ使ってるんですけど添付ファイル型ってchar型とかと同じように扱えれるんですかね、
よろしければもう少しヒントを。

224 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 21:22:03.72 ID:1CLvOTQ1.net]
ファイルをディスクのどこかに保存するのは、SaveToFile メソッドですかね?
なんか使えそうに思うけどいかがですか?

225 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 21:43:47.01 ID:FgW8bRhe.net]
そんな新しいAccessなんて持ってないから知らん

226 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 21:44:43.65 ID:90ziZ1xl.net]
https://oshiete.goo.ne.jp/qa/8167605.html

添付ファイル型はレコードセットになっていて
その中のフィールドのひとつ(3つ目。つまりF(2))がファイルネームになっていて、
それを取得する。らしい。

227 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 21:45:48.50 ID:90ziZ1xl.net]
>>224
普通にSaveAsじゃあかんの?

228 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 21:48:22.88 ID:c76bdQcs.net]
ありがとうございます。
少しヒントが得られたかも。
明日試してみます。

229 名前:213 [2021/02/02(火) 11:31:56.15 ID:UTRQGX0/.net]
添付ファイル型データのデータとファイル名取得が出来たので
参考に記載します。ありがとうございました。

www.proton.jp/main/windows/access-vba.html
(参考URL)添付ファイル型フィールドのファイルを開くには

コーディング抜粋
----------------------------------------------------------------
Dim SQL, fileName As String
Dim DB As DAO.Database
Dim RS,RS2 As DAO.Recordset

Set DB = CurrentDb
'なお、下記「フアイル」は「.xlsx」形式のデータ
SQL = "SELECT ファイル FROM テストテーブル where ID = 1 ; "
Set RS = DB.OpenRecordset(SQL)

'「ファイル」データ取得
Set RS2 = RS.Fields(0).Value

'「ファイル」データファイル名称取得
fileName = RS2.Fields("FileName").Value

------------------------------------------------------------------------------------

230 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 14:27:49.60 ID:CQc47MX2.net]
それ、SQLとRSは無駄にVariantになってないか?



231 名前:デフォルトの名無しさん [2021/02/04(木) 15:46:42.10 ID:QbGo6q9b.net]
OLEオブジェクト型はどうやってSQL(select 文)で抽出するの?

232 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 20:11:15.64 ID:XRB3PpKu.net]
select文は普通に列名とテーブル指定するだけじゃないのか?
そっからどうやってデータ取得するかはどうやってDBアクセスしてるかによるんじゃね
とりあえずDAOかADOかとバージョンぐらい書け

233 名前:デフォルトの名無しさん [2021/02/04(木) 20:23:44.53 ID:w6PAg1HV.net]
>>229
ファイルを取得したいと言っていたのに、ファイル内のデータでよかったのか?

234 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 00:26:34.08 ID:OHtcWSU6.net]
VBSでmdbに接続してaddnewしてupdateするだけの簡単なスクリプトの挙動がおかしい。

sub や Functionにして callすると成功するくせに、subじゃなくて素のスクリプトだと何もしない。
ちなみに読込みはどっちでも成功する。
なぜ、addnewのときだけ、プロシジャーである必要があるのだろうか?

235 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 00:34:27.19 ID:OHtcWSU6.net]
vbseditがおかしいらしい。
適当なディレクトリに保存して実行したら素のスクリプトでも成功した。
わけわらん。

236 名前:230 [2021/02/05(金) 10:13:06.16 ID:s99X7duh.net]
SELECT文でOLE型のファイル(拡張子.docx)を読み込んで保存しようとしています。
処理を行ったところ、「ファイル『temp.xls』は内容に問題があるため、開けませんでした。」という
メッセージが出ますが、「開いて修復」すれば元のファイルと同じに見えるので
SELECT文で項目だして、書き出すまである程度できているようなんですが、
どこがおかしいのでしょうか、ご意見をいただけたら幸いです。

参考サイト
https://www.moug.net/tech/acvba/0080032.html
画像を読み込む(GetChunkメソッド)

ソース一部抜粋

'OLE型用変数
Dim bytFile() As Byte
Dim nFileNo As Integer
Dim nSize As Long
Dim olename As String

Set DB = CurrentDb
    '項目「OLE型データテスト」抽出のSELECT文の実行
Set rs = DB.OpenRecordset(sqlText)

nSize = rs.Fields("OLE型データテスト").FieldSize
bytFile() = rs.Fields("OLE型データテスト").GetChunk(0, nSize)

nFileNo = FreeFile
Open "C:\Users\testuser\Documents\test.docx" For Binary As #nFileNo
Put #nFileNo, , bytImage()
Close #nFileNo

237 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 13:09:23.30 ID:7kBPI4G7.net]
VBS って、まだシステムで使えるのか?

保守されてる?

238 名前:デフォルトの名無しさん [2021/02/06(土) 11:30:21.47 ID:PohEB++t.net]
bytImage() の中身は docx に直接上書き保存できるものなのか?

239 名前:デフォルトの名無しさん [2021/02/07(日) 12:21:08.72 ID:EDRo6Y49.net]
>>237
Windows 10そのものがまだ使っています。

240 名前:デフォルトの名無しさん [2021/02/26(金) 16:49:44.25 ID:v+ay/MML3]
70億円調達のネットショップ作成サービスhey、「我の弱い人同士の組織力」武器にEC市場シェア拡大目指す
https://www.businessinsider.jp/post-219205
【劇団ノーミーツ1】役者も客も会わないオンライン演劇で7000人動員。制作チームは全員20代、半分は会社員
https://www.businessinsider.jp/post-219184
利用、無料。日本版衛星データプラットフォーム「Tellus」がすごい理由…“宇宙の視点”でビジネスはこう変わる
https://www.businessinsider.jp/post-219279
「起業ブーム」が新たなフェーズに 大学発ベンチャーへの想い
https://forbesjapan.com/articles/detail/35527
かつて学者がやっていたことを、今は起業家がやっている
https://diamond.jp/articles/-/232874
番号やアドレス不要の無料通話アプリRe-mo登場 ドワンゴが配信開始
https://japanese.engadget.com/ios-dwango-re-mo-072853620.html
10年間使い続けた WordPress を辞めた理由  a-blog cms を選んだユーザーのお話
https://webtan.impress.co.jp/u/2020/09/14/37485
ノロケツイートがバズって起業! カップル・夫婦向けサービス「ふたり会議」が反響を呼ぶワケ
https://www.itmedia.co.jp/business/articles/2008/23/news012.html
コロナで細る“起業”を手助け。クラウド会計freee、スマホアプリで設立書類を作成できるサービス
https://www.businessinsider.jp/post-219220



241 名前:デフォルトの名無しさん [2021/02/26(金) 20:55:30.10 ID:BHdQltm/.net]
AccessからOracleに接続して、テーブル定義を取得しようとした場合、Currentdbにリンクテーブル作成してtabledefで取得するしかないですかね?

242 名前:デフォルトの名無しさん [2021/02/26(金) 23:30:20.77 ID:aSS4VuLP.net]
>>241
そんな訳ないだろ
お前の頭には無理ってだけだ

243 名前:デフォルトの名無しさん [2021/02/26(金) 23:38:57.64 ID:JyNwBwDQ.net]
>>242
どうやってやっているんですか?
そんなに人に偉そうにいうくらいならお詳しいんですよね?

244 名前:デフォルトの名無しさん [2021/02/27(土) 00:39:35.09 ID:lzDnqtNz.net]
一応言っとくが、あわしろ氏は権威だぞ。

245 名前:デフォルトの名無しさん [2021/02/27(土) 03:37:26.48 ID:oWYDZ6ol.net]
>>243
だからお前みたいな馬鹿には無理ってだけだ

246 名前:デフォルトの名無しさん [2021/02/27(土) 09:00:35.16 ID:kkUl7IkZ.net]
わからないんだろ?
教えられないのに質問スレでマウント取って
かっこいいね!

247 名前:デフォルトの名無しさん [2021/02/27(土) 13:52:55.39 ID:oWYDZ6ol.net]
馬鹿が聞き出そうとして必死だな
元の質問が、
「しかないですかね?」
だから、
「他にある。馬鹿にはわからないだけ」
これで完結

248 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 04:20:10.68 ID:U5Mc6cIw.net]
クライアントPC複数台にコピーしてあるaccdbの更新を自動化したいのですが、上手い方法が有ったらアドバイス下さい。
今は、終了時に更新版があればコピー専用のaccdbを開く、という方法です。
時々コピーに失敗したり、更新後の起動が出来なかったり、なんかスマートに出来ません。

249 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 07:03:59.49 ID:bg4PRHHU.net]
それぞれのPCに共有サーバーでクライアント各々に1つのものを使ってもらえば?

250 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 07:47:36.33 ID:vZYfq0zb.net]
え?



251 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 15:03:23.20 ID:6lWZMdzy.net]
>>249 コメントありがとうございます。

共有フォルダに置いたテーブルだけのバックエンドや、データベースサーバーにテーブルがあり、フロントエンドにリンクして使ってます。
各クライアントのフロントエンドを更新したいのです。
フロントエンドを共有フォルダに置いて皆んなで使うと壊れやすい、50台のクライアント全て閉じてもらわないと更新できないなどの問題があり、現在のかたちで運用しています。

252 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 16:26:24.53 ID:ZUwUvURf.net]
基本的には別ブログラム(Accessでなくてもいい)で上書きしてもらうしかないけど
タスクに登録して再起動してもらうとか

さがせばそれ用のツールとかありそうだけどな






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<230KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef