[表示 : 全て 最新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/

477 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 11:00:59.24 ID:JmI4xSUc.net]
初歩的な質問でお恥ずかしいのですが教えて下さい
面倒な計算や処理をして値を返す関数Aがあった場合

その戻り値を判定したい場合

If A = 1 or A = 2 then

と記述するとaccessは 2回処理することになるのでしょうか

それでしたら仮に変数(V)を用意して、一旦
V = A

のように格納してから
If V = 1 or V = 2 then

と記述したほうが処理的には一回で済むという解釈になりますでしょうか
すみませんがご教示頂けたらと思います

478 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 11:49:10.60 ID:JmI4xSUc.net]
すみません、試してわかりました。
後者は一回で済みました。

質問することでその後すぐ簡単な確認方法を思いつくことがよくあります
お恥ずかしい。スレ汚し失礼しました;

479 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 12:38:27.12 ID:jOzz1fM6.net]
どんまい 気付きや学びに成りゃ無駄じゃ無い

480 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 12:41:50.52 ID:frLBMESq.net]
ちょっと違う話だけど、VBAにもOrElseやAndAlsoが欲しいなと思うときはある

481 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 15:10:37.27 ID:R+n9Kzax.net]
SQLの勉強をさいきんはじめました

動的SQLによる数独の超高速解法
というのを読みました

動的にSQLを生成するため
・一つはJDBCを使う方法
・もう一つはストアド・プロシージャを用いた方法
云々って書いてあります

これらって、アクセスのSQLでもできそうなものでしょうか?
(過去に話題として出てたらごめんなさい)
できそうならやってみようかと
茨の道ならあきらめます

482 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 16:34:17.90 ID:TgGQVPNx.net]
2つとも分からんけど、VBAが使える環境なら動的SQLは可能なはず

483 名前:479 mailto:sage [2022/03/06(日) 17:10:27.06 ID:R+n9Kzax.net]
SQLとは、使用人から経営者になることだ
今まで自分で作業してたのをしなくてよくなる
使用人に、「こういうのを出してくれ」と
言うだけでよい

数独についてであれば、今まで
総当りするプログラムとか
条件判定とかを自分で考えていたが
SQLならそうしたものは自分で考えなくてよい
勝手に総当りして勝手に判定してくれる

・・・ということが書いてありました
これって、既存のプログラムの要件を
SQLで表現できれば中身は考えなくてよい
ってことですよね けっこうおもしろいかも

484 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 07:14:29.39 ID:xVPINsIe.net]
経営しなくてもお金が稼げるSQLがどこかに書いてあると良いのに。

485 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 12:53:13.63 ID:+OeG3Wfd.net]
>>481
JDBC Driver で Access MDB に接続できる

つまりワカラン



486 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 13:11:37.42 ID:3lxJ/2QX.net]
これかな?
https://codezine.jp/article/detail/1627
https://codezine.jp/article/detail/1628
https://codezine.jp/article/detail/1629
記事中においてJavaでSQLを生成している部分はVBAで書けるだろうけれど、
他のRDBMSで使えるSQLの全てがAccessでも使えるわけじゃないから
その辺をうまく置き換えたりVBAで補ったりする必要はあると思う

487 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 14:07:14.74 ID:tjPYNfUL.net]
各DBで使えるSQL構文一覧表
(ROLLUPは jet使えない oracleはokとか)
のページが昔あったのに
今見たら見あたらなかったわ

488 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 06:28:34.40 ID:fGzXxwFZ.net]
総あたりする場合、SQLはどうやって
候補を管理してるんだろ?
ふつうにメモリ上に持ってたら
メモリが足りないような

489 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 20:13:50.94 ID:fGzXxwFZ.net]
数字の書かれたパネルがあります
このパネルのマスをいくつか
ぬりつぶし、残った数字の積が、
たて・横のどの列も12になるように
してください

2523
6257
5262
2334

これぐらいの規模の問題で
練習したほうがいいかも
ぬりつぶしは1に置き換える

490 名前:デフォルトの名無しさん mailto:sage [2022/03/09(水) 11:17:27.88 ID:wDARNtYc.net]
動的SQLっていうから

DBエンジンにSQL投げる

その結果を受けて自分を書き換えて
再度新しいSQL投げる

望む結果になるまで繰り返す

みたいな話を期待したら
拍子抜けだった

491 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 18:36:45.22 ID:y/Xk/sN2.net]
>>489
SELECT 解答
FROM すべてのあり得る盤面
WHERE 今回の条件
だから
まず盤面を1行にして
2523625752622334
と表す

すべてのあり得る盤面は
2523625752622334
2523625752622331
2523625752622314
2523625752622311
 〜
1111111111111111
だけどこれをどうSQL文の中で
表現すればいいのかわからん

492 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 12:30:05.01 ID:+z9vFN5I.net]
>>491
>>486の記事を1から読んでこい

493 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 00:28:53.70 ID:uZ+uV6s8.net]
VBAのコード内の文字を置換するプログラムをVBAで行うことはできるでしょうか?
置換の組合せが複数あるので一つずつCtrl+Hで操作すると間違いそうなので,
置換前文字列と置換後文字列の配列を書いて,それを順に実行するようにしたいのです.

自分のコード内に当該置換文字列をがでてくるので,その回避も考えないといけないですが

よろしくお願いします

494 名前:デフォルトの名無しさん [2022/05/01(日) 07:29:11 ID:1HGTgNe1.net]
>>493
できるよ

495 名前:デフォルトの名無しさん [2022/05/01(日) 07:36:23 ID:1HGTgNe1.net]
ごめん、AccessVBAスレだった
知らん



496 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 16:14:10 ID:4P2yloMu.net]
ACCESSにもApplication.VBEがあるっぽいから、エクセルとかと同じようにできるんじゃね
そもそもコード内をそうそう置換するって状況がよくわからんがな

497 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 20:13:11.92 ID:uZ+uV6s8.net]
>>496
オブジェクト名を修正すると,名前の自動修正機能で,オブジェクト間の整合性は保たれます.
例えば,Aクエリー内でBテーブルを使用していて,Bの名前をCに変更するとA内のBテーブル名もCに自動的に修正されます.
ところが,コード内でオブジェクト名を引数に使用している場合(DoCmd.OpenQuery()やQeryDef()など)は,自動的に修正されないので
コード内の文字置換で修正するしかありません.
オブジェクト名をより統一的にしたいとか,あるルールで短くしたいなどの事情です.

でも本当にコードを使ってコード内の文字置換できますか?
「エクセルとかと同じようにできる」とのことですが,エクセルのVBAでできる方法を知りません.

498 名前:デフォルトの名無しさん [2022/05/01(日) 20:33:27.28 ID:XyObubkl.net]
>>496がApplication.VBEってヒント出してくれてるのに自分で調べる気は無いの?

499 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 20:51:07.35 ID:uZ+uV6s8.net]
>>498
いままでApplication.VBEとVBAの違いをしりませんでした.
Application.VBEで検索して,オブジェクトであることをしりました.
できそうな気がしてきました.
調べます

500 名前:デフォルトの名無しさん [2022/05/01(日) 21:27:48.04 ID:q0kLnjNb.net]
>>499
お前みたいな馬鹿は、方法自体間違えていると思うよ

501 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 22:36:20.05 ID:uZ+uV6s8.net]
>>500
正しい方法言ってみな。
言えなきゃ超バカ決定。

502 名前:デフォルトの名無しさん [2022/05/01(日) 23:10:31.48 ID:q0kLnjNb.net]
やっぱり馬鹿だったか
馬鹿に馬鹿と指摘すると怒りだす

503 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 18:13:45.75 ID:hABwtxOZ.net]
>>496>>498
497ですが、
Application.VBE.ActiveVBProject.VBComponents(i).codemodule.ReplaceLine(j,"修正後コード文字列")
を使ってできました。

504 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 21:57:49.43 ID:uVFGqhpy.net]
>>503
ありがとう。勉強になります。

505 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 23:56:04.39 ID:9Zz7qGMa.net]
コードとデータは分離しなさーい!



506 名前:デフォルトの名無しさん mailto:sage [2022/05/04(水) 01:12:27 ID:L2QcoKdh.net]
>>505
オブジェクト名はデータにできない

507 名前:デフォルトの名無しさん mailto:sage [2022/05/04(水) 01:29:47 ID:T57Ht3+D.net]
名前は文字列だろ!
VBAの提供するオブジェクトは大抵コレクションで管理されているだろ!
お前の作ったオブジェクトも管理できるようにしろ!
初歩だぞ初歩!

508 名前:デフォルトの名無しさん mailto:sage [2022/05/04(水) 01:39:45.29 ID:L2QcoKdh.net]
つまらん
もういいよ

509 名前:デフォルトの名無しさん [2022/05/04(水) 03:22:14 ID:bSJdUNny.net]
やっぱり馬鹿だった

510 名前:デフォルトの名無しさん mailto:sage [2022/05/04(水) 08:25:20.61 ID:L2QcoKdh.net]
>>509
人のこと馬鹿、馬鹿ってほんとにうるさい奴だな

今回のアプリは俺しか使わずオブジェクト名変更も今回限りが確定しているんで、
オブジェクト名をデータ化できるCreateQueryDefなどを使う手間を省いてクエリデザイナーを使っているだけ。

そういう事情も含めて「もういいよ」と書いたんだけど、読み取れんわな。

お前は実生活で他人の事情を汲み取る力が弱くて他人から避けられてるだろう。
実生活では流石に馬鹿と面罵しないとは思うが態度にはでてると思うよ。

エクセルVBAのようにワッチョイ付きならNG登録するんだが。

511 名前:デフォルトの名無しさん mailto:sage [2022/05/04(水) 12:11:33.62 ID:T57Ht3+D.net]
何人登録するつもり?

512 名前:デフォルトの名無しさん mailto:sage [2022/05/06(金) 14:43:39.68 ID:HOAU3QSN.net]
>>510
もういいから馬鹿は黙ってろ

513 名前:デフォルトの名無しさん [2022/05/11(水) 09:14:31.47 ID:+mNN1hZ/.net]
ここはBKのあつまりでつか?

514 名前:44 mailto:sage [2022/06/18(土) 22:47:23 ID:yLkug1TW.net]
味噌も糞もいるのがこういう掲示板の特徴
それが面白ければ来るし退屈なら来ない
文句言うのはカッコ悪い

515 名前:デフォルトの名無しさん [2022/06/19(日) 06:53:58.66 ID:R9q2ZnJn.net]
>>514
こういうのかっこ悪い



516 名前:44 mailto:sage [2022/06/19(日) 07:49:57.69 ID:ZfwUc+SV.net]
>>515
いやいや本当のイケメンだろうな

517 名前:デフォルトの名無しさん mailto:sage [2022/06/21(火) 16:34:11.41 ID:q4pJaYn5.net]
test

518 名前:デフォルトの名無しさん mailto:sage [2022/06/21(火) 16:34:30.21 ID:q4pJaYn5.net]
アプリケーションタイトルについて質問です。
今使ってるmdbのタイトルが2種類あって、「Access」のものと「ファイル名:データベース-フルパス-Access」のものがあります。

全部後者のタイトルにしたいのですが、設定の仕方がわかりません。
ヤフー知恵袋の「Accessのタイトルバーにファイル名を表示させることはできますか。
Excelでは表示されるのですがAccessでは”Access”としか表示されず少し不便なので、、」
を読むと何の設定もしなくても後者のようになると書いている人がいます。
どうしたらそうなるのでしょうか?

後者のやつは別にAppTitleとかで設定していませんので不思議です。

519 名前:516 mailto:sage [2022/06/21(火) 17:34:19.49 ID:q4pJaYn5.net]
解決しました。

520 名前:デフォルトの名無しさん [2022/06/21(火) 19:20:51.51 ID:EkCiEQiW.net]
>>519
どうやって?
知りたい

521 名前:516 mailto:sage [2022/06/21(火) 19:44:50.71 ID:q4pJaYn5.net]
>>520
いろいろ試したけど、結論は超簡単。
ファイル→オプション→現在のデータバース→アプリケーションオプション→ドキュメントウィンドオプション→タブ付ドキュメントをon

これでファイル名とパス名が表示されて複数のmdbを起動しても混乱しなくなりました。

522 名前:デフォルトの名無しさん [2022/06/21(火) 20:23:15.71 ID:QtwFSmmg.net]
OS:win10
Ver:365 16.0

フォルダの中に複数のExcelファイルがあります
accessで全てのエクセルの同一セルの文字をテーブルにまとめたいのです
Accecc vba エクセルの特定のセル
などで検索してみましたが解決に至っていません
どうかお力添えお願いします

523 名前:デフォルトの名無しさん mailto:sage [2022/06/21(火) 20:46:00.64 ID:kU7/2TZz.net]
何がしたいかと、どこまで出来て何がわからないのか詳しくかけ

524 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 10:12:43 ID:N/5JiATv.net]
>>522
Excelシート全てインポートすればクエリー加工出来ると思うが、、

525 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 10:16:19 ID:N/5JiATv.net]
>>522
Excelシートリンクでも良いぞ



526 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 10:27:56.84 ID:lUHG2pSs.net]
ネ申エクセルからデータを拾いたいとかそんな話じゃね?
CreateObject("Excel.Application")
使って対象ファイル開いて、そっからさきはExcel VBAの範疇やろ

527 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 12:36:20.21 ID:N/5JiATv.net]
なんだ
Accessでテーブル化したい、のでは無いのか?
何やりたいのか分からんな

528 名前:デフォルトの名無しさん [2022/06/22(水) 15:16:59.53 ID:Z6mZqai9.net]
「AccessVBAからexcelファイルのセル参照ってどうやるの?」ていう質問でしょ

529 名前:デフォルトの名無しさん [2022/06/22(水) 20:19:24.91 ID:rLKMJdnt.net]
質問には答えられるけど
答えるとまた次の質問が来るのが予測出来るからまんどくせ

530 名前:デフォルトの名無しさん mailto:sage [2022/06/23(木) 06:46:56.49 ID:nErcbU9U.net]
>>529
スレに来ないと良いよ

531 名前:デフォルトの名無しさん mailto:sage [2022/06/23(木) 07:36:49.86 ID:xe+L83Np.net]
>>523-525
なにをやりないか再度確認してコード見直していたら不具合点見つかって前進しました…
>>527
やりたいのはこれで30個程度のエクセルがあって全てフォームは統一されています
a3とb4とw30の値をテーブルにズドンと引っ張りたいのです

もうちょっと頑張ってみます
遅くなってごめんなさい

532 名前:デフォルトの名無しさん mailto:sage [2022/06/23(木) 12:13:27.06 ID:jwJvRDT9.net]
ACCESS VBA EXCEL CELLでクグルと沢山出て来ますね。
ACCESSからEXCEL開いて操作できると便利です、頑張ってください。

533 名前:デフォルトの名無しさん mailto:sage [2022/06/23(木) 12:56:15.59 ID:uoofWh9e.net]
>>531
CreateObject("Excel.Application")でエクセルを操作できるようにする

対象とするシートからa3とb4とw30の値を取得して変数 X Y Z に格納する
変数 X Y Z の値をAccess のテーブルに追加する
この二つの処理を全てのシートにループで行う

釣りが終わったExcel オブジェクトを閉じる
Access のオブジェクトの閉じる

これでいけるんじゃね?

534 名前:デフォルトの名無しさん mailto:sage [2022/06/24(金) 06:07:38.19 ID:X+tgL9yK.net]
>>533-534
ありがとうございます
こう書くとすごくわかりやすいですね

テーブル追加やLOOPは調べて書き方を学べそうなのでやってみます!

535 名前:デフォルトの名無しさん [2022/06/26(日) 13:37:45.11 ID:DTfGvOZF.net]
https://www.youtube.com/watch?v=jppnWu6am3Q



536 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 22:59:47.94 ID:Ter0iV/V.net]
たびたびすみません
ばしっとフォルダ内のファイル名を取得することはできました
>CreateObject("Excel.Application")でエクセルを操作できるようにする
これの意味がようやくわかりました ありがとうございます

C:\Users\sanae\Desktop\vba\Book1.xlsx というExcelファイルのa3を変数に入れようとしているのですが
ぐぐったところファイルパスをつける書きかたが参考にできるページがみあたらず詰まっています
(このあたりにファイルパスとかシートとかを指定して)range(3.1) みたいなやり方かなあなんて思っているのですがどれもエラーになっちゃいました
参考になるページでもご教示いただければ幸いでございます

537 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 00:21:56.25 ID:LR8Jvthl.net]
>>536
officetanaka.net/excel/vba/file/file01.htm

を参考にしてください。

Sub Sample1

set mybook=myexel.Workbooks.Open "C:\Users\sanae\Desktop\vba\Book1.xlsx"
x=mybook.worksheets(1).range("A 3")

X の値をテーブルに書き込む

End Sub

myexelはクリエイトオブジェクトで作ったエクセルオブジェクトね
あと変数は適当に定義しておいてね。

538 名前:デフォルトの名無しさん [2022/06/27(月) 01:42:38.20 ID:Yed1CrTu.net]
>>537
おおお
できてきました とても進みました
・フォルダを指定してファイル名を取得
・変数XYZに特定のセルの値を取得


539 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 01:45:22.88 ID:Yed1CrTu.net]
すみませんCTRL+エンターで送信になってしまいました
・フォルダを指定してファイル名を取得
・指定したシートから変数XYZに特定のセルの値を取得
・XYZの値をテーブルに追加
超進みました

後は指定したシート名を持たないファイルに遭遇した時にどんなエラーになるのかが気になりますので
近々時間みつけて頑張ろうと思います

ありがとうございました!超ハッピー!

540 名前:デフォルトの名無しさん [2022/06/27(月) 01:59:55.53 ID:YAQt7RYR.net]
馬鹿は二度と来るなよ

541 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 08:41:44.29 ID:yeeW9wqV.net]
VBAでやらなくてもテーブルimportで出来るやろ
無駄な努力だな

542 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 11:56:31.55 ID:LR8Jvthl.net]
>>541
ブック数が多いから VBA でやりたいんじゃないの?
インポートでできる量だったら手でコピペの方が早いだろ

543 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 15:59:24.18 ID:jKYPD+Yx.net]
対象のExcelファイルが固定なのか、頻繁に入れ替わるかどうかにもよるわな

544 名前:デフォルトの名無しさん [2022/06/27(月) 20:22:09.19 ID:UdQiWAN3.net]
どなたか教えてください。

売掛金消し込みのマクロを作成しています。VBAでソルバーを自動化したいと思っています。

目的セル、制約条件の参照セルの開始行が40行ごとに下がっていき、指定値は数値ではなく、セルを指定したいです。

とりあえず、全部の変数をvariant型にしてますが、なかなか上手くいきません。

545 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 20:42:56.65 ID:NFVjaUBh.net]
なんでAccessVBAスレにまで書いてるんだよ



546 名前:デフォルトの名無しさん [2022/06/28(火) 12:01:23.56 ID:W8L8uteA.net]
こんな奴が作るプログラムで金勘定とか笑えるわ
己を知らないって馬鹿の特徴なんだよな

547 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 12:08:16.40 ID:S7aFTH1N.net]
>>544
Access VBAスレでExcelの質問するなよ

548 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 12:53:23.92 ID:illrnTHm.net]
EXCELで記録したVBAをACCESSで実行するとEXCELはXlmxにしなくても良いからじゃないの?
ソルバーは使い方わからんのでなんにも言えなくてスマン。

549 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 13:14:48.17 ID:v0i+TmEN.net]
>>548
Excel VBAスレみればなにがあったのか分かるよ

550 名前:デフォルトの名無しさん [2022/06/28(火) 21:08:59 ID:i28fB/zi.net]
昨日アホな質問した541です。

accessスレにexcel VBAについて投稿してしまい、すみませんでした。

VBA初心者なので、よくわからずに投稿してしまいました。

551 名前:デフォルトの名無しさん [2022/06/29(水) 10:01:41.27 ID:Es0nfTu8.net]
初心者を言い訳にする香具師は同じ失敗を繰り返す

552 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 12:18:55.14 ID:C7zOwXa/.net]
狭量にすぎる

553 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 12:31:17.45 ID:WL8L6KaP.net]
スレを間違ったことではなくマルチが問題なのだがな

554 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 13:27:42.53 ID:tPok425v.net]
>>553
それだけ焦ってたんでしょ。Excel VBA で反応がなければ藁をもすがる気持ちで アクセス VBA で聞いたんじゃない。
広い気持ちで

555 名前:デフォルトの名無しさん [2022/06/29(水) 13:50:40.09 ID:Es0nfTu8.net]
x VBA初心者
o 5ch初心者
o パソコン初心者
o コミュ障入門者(上級)



556 名前:516 mailto:sage [2022/06/30(木) 01:00:46.93 ID:1OP/W/CA.net]
DoCmd.OpenReport "レポート名", acViewPreview
DoCmd.PrintOut acPrintAll, , , acHigh, 枚数

新規レポートにラベルを貼っただけものだと希望どおりの枚数が印刷される.
しかし,別のレポートだと常に1枚しか印刷されない.
ネットでも同じ報告を確認した.バグ説もある.

皆さんはどうですか?やっぱりバグですかね?

557 名前:516 mailto:sage [2022/06/30(木) 16:01:17.27 ID:1OP/W/CA.net]
解決した.
デコンパイルとコンパクトしたらいつの間にか設定した枚数が印刷されるようになった.
accessはマジで面倒くさいなあ.
デコンパイルとコンパクトの待ち時間をを返して欲しいよ

558 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 19:00:33.50 ID:PX9/MxY9.net]
デコンパイル、知りませんでした。

559 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 20:22:38.17 ID:1+oYjPxt.net]
デコンパイル、昔は割と鉄板の解決方法だったんだけどね
それでだめなら新規作成して全モジュールインポートとかもあったな

最近は必要性が減ったけど、まだたまにはあるんだな

560 名前:516 mailto:sage [2022/06/30(木) 22:53:16.59 ID:1OP/W/CA.net]
コンパクトだけでも良かったのかも知れないが,習慣で両方やることにしている
ついいましがたも.Docmd.OpenReportのOpenArgsがレポートに渡らなくて困っていたが,コンパクトをしたら作動した.
終了時にコンパクトするオプションがあるくらいだから頻繁にやるべきなんだろうね.
コード書いているときは非常に頻繁に破損するからね.

561 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 23:46:30.14 ID:1+oYjPxt.net]
あれはデータ領域を圧縮するのが主で、コード部分にはあまり影響しなかった気がするが
最近のアクセスでコードが破損するのはだいぶ減ったと思うが
VBEからコンパイルするだけで解決してたんじゃないか?

562 名前:516 mailto:sage [2022/07/01(金) 00:40:02.55 ID:SILFs/Ha.net]
くわしいことはわからないが,挙動不審が治ることがあるんだよねえ
とにかく,試行錯誤していると必ずと言っていいほど,壊れるよねえ.
メモリーが不足していますとか出始めると,その日のうちに全フォーム消失とか起こるからなあ.

563 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 10:45:11.72 ID:x9gnk4T5.net]
試行錯誤の過程のほとんどを貯め込むからな 設定で「終了時に最適化」で、都度終了を心掛けるか
大幅な改修の度にコンパイルのクセを付けるか ファイルサイズに気を付けて、「こんなサイズのはずは無い」ってな時は要注意
 で、それは、お道具の使い方が雑、間違ってるってだけで、すぐAccessのせいにする連中はお里が知れる ってこと

564 名前:516 mailto:sage [2022/07/07(木) 15:33:38.95 ID:9tJXVGoG.net]
下のコードでmdbのディレクトリが表示されると思いきや、
ディレクトリ Documents
フルパス C:\Users\MyName\Documents

が表示された。vbsならscriptの存在するディレクトリだからmdbの存在するディレクトリが表示されると思ったのに、違う。
このことを説明してある資料ありますかね?


Sub test()
Dim fso
Dim objfolder
Set fso = CreateObject("Scripting.FileSystemObject")
Set objfolder = fso.GetFolder(".")
Debug.Print "ディレクトリ", objfolder.Name
Debug.Print "フルパス", objfolder.Path
End Sub

565 名前:デフォルトの名無しさん mailto:sage [2022/07/07(木) 16:12:50.20 ID:N4ENiOaQ.net]
>>564
mdb/accdbファイルの場所が欲しいのなら
CurrentProject.Path
を使おう
CurDir$や>>564の例なんかで返されるカレントディレクトリはファイルダイアログとかで開いたフォルダになるっぽい
その辺の仕様に関する資料は知らんけど



566 名前:デフォルトの名無しさん mailto:sage [2022/07/07(木) 19:57:05.70 ID:V/fQnZ1U.net]
そもそも、
>vbsならscriptの存在するディレクトリ
が間違ってる気がするが

カレントディレクトリの概念って最近は説明されてるの見ないなぁ
GetFolder(".")が返してるのはカレントディレクトリ(からの相対パスで自分自身)
カレントディレクトリはACCESS.EXEの場所や.MDBファイルの場所とは別に存在する

まあMDB開くときはそこをカレントにする場合が多いけどな
つねに一致してるとは限らん

567 名前:516 mailto:sage [2022/07/07(木) 20:26:42.06 ID:9tJXVGoG.net]
>>566
> そもそも、
> >vbsならscriptの存在するディレクトリ
> が間違ってる気がするが

VBSで稼働していたスクリプトをVBAに移植している際に気づいたので、正しいと思います。
スクリプトを任意のフォルダにコピーしてそのフォルダ内のファイルを一括処理するのに使っていましたので。

568 名前:デフォルトの名無しさん mailto:sage [2022/07/07(木) 20:31:06.22 ID:ty1oWU7C.net]
chdirで変えられちゃうけど

569 名前:516 mailto:sage [2022/07/07(木) 20:55:49.31 ID:9tJXVGoG.net]
ユーザはおいら1人だからいいのです。

570 名前:デフォルトの名無しさん mailto:sage [2022/07/07(木) 21:30:15.27 ID:V/fQnZ1U.net]
いやだから、scriptの存在するディレクトリじゃなくて、
カレントディレクトリが表示されてるって話なんだがな
たまたまそれが同じだっただけだ

ここ理解しないと思ったディレクトリが表示されない理由が理解できないぞ

571 名前:デフォルトの名無しさん [2022/07/07(木) 22:24:24.15 ID:rKn8i4wF.net]
馬鹿に何を言っても無駄な例だぞ

572 名前:デフォルトの名無しさん mailto:sage [2022/07/08(金) 10:33:00.73 ID:aHYxM19P.net]
>>567
そのスクリプトをショートカットにして、
作業フォルダを変えて動かしてみたい

573 名前:デフォルトの名無しさん mailto:sage [2022/07/08(金) 12:10:02.96 ID:/znuHP85.net]
カレントディレクトリみたいな、あやふやなものを使ってはいけない。
これが使えるのは、絶対に変化しない場合だけ

起動時に、特定のフォルダを指定するとか、
あらかじめ定数などに保存しておく

574 名前:デフォルトの名無しさん mailto:sage [2022/07/08(金) 12:16:33.93 ID:/znuHP85.net]
例えばデスクトップに、以下のショートカットを作ると、

WSL2 で、Ubuntu 18.04 を起動して、
その /home/ユーザー名/test ディレクトリを、VSCode で開く

リンク先
C:\Windows\System32\wsl.exe code .

作業フォルダ
\\wsl$\Ubuntu-18.04\home\ユーザー名\test

575 名前:デフォルトの名無しさん mailto:sage [2022/07/08(金) 12:30:53 ID:PreZKXp3.net]
もはやAccess VBAとは関係ない話になってるし、元質問者は聞く耳持たないみたいだから
これ以上続ける意味無いよ



576 名前:デフォルトの名無しさん [2022/07/11(月) 11:04:56.16 ID:1W23UOpt.net]
>>564
fso使ってるんだから当たり前

577 名前:デフォルトの名無しさん mailto:sage [2022/07/12(火) 17:20:09.84 ID:xDQ7ywi9.net]
>>576
なぜ「fsoを使うと」なにが、「当たり前」なんだい?






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

前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