Access VBA 質問スレ Part2 (788レス)
Access VBA 質問スレ Part2 http://mevius.5ch.net/test/read.cgi/tech/1544620479/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
562: 516 [sage] 2022/07/07(木) 15:33:38.95 ID:9tJXVGoG 下のコードで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 http://mevius.5ch.net/test/read.cgi/tech/1544620479/562
563: デフォルトの名無しさん [sage] 2022/07/07(木) 16:12:50.20 ID:N4ENiOaQ >>562 mdb/accdbファイルの場所が欲しいのなら CurrentProject.Path を使おう CurDir$や>>562の例なんかで返されるカレントディレクトリはファイルダイアログとかで開いたフォルダになるっぽい その辺の仕様に関する資料は知らんけど http://mevius.5ch.net/test/read.cgi/tech/1544620479/563
564: デフォルトの名無しさん [sage] 2022/07/07(木) 19:57:05.70 ID:V/fQnZ1U そもそも、 >vbsならscriptの存在するディレクトリ が間違ってる気がするが カレントディレクトリの概念って最近は説明されてるの見ないなぁ GetFolder(".")が返してるのはカレントディレクトリ(からの相対パスで自分自身) カレントディレクトリはACCESS.EXEの場所や.MDBファイルの場所とは別に存在する まあMDB開くときはそこをカレントにする場合が多いけどな つねに一致してるとは限らん http://mevius.5ch.net/test/read.cgi/tech/1544620479/564
565: 516 [sage] 2022/07/07(木) 20:26:42.06 ID:9tJXVGoG >>564 > そもそも、 > >vbsならscriptの存在するディレクトリ > が間違ってる気がするが VBSで稼働していたスクリプトをVBAに移植している際に気づいたので、正しいと思います。 スクリプトを任意のフォルダにコピーしてそのフォルダ内のファイルを一括処理するのに使っていましたので。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/565
566: デフォルトの名無しさん [sage] 2022/07/07(木) 20:31:06.22 ID:ty1oWU7C chdirで変えられちゃうけど http://mevius.5ch.net/test/read.cgi/tech/1544620479/566
567: 516 [sage] 2022/07/07(木) 20:55:49.31 ID:9tJXVGoG ユーザはおいら1人だからいいのです。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/567
568: デフォルトの名無しさん [sage] 2022/07/07(木) 21:30:15.27 ID:V/fQnZ1U いやだから、scriptの存在するディレクトリじゃなくて、 カレントディレクトリが表示されてるって話なんだがな たまたまそれが同じだっただけだ ここ理解しないと思ったディレクトリが表示されない理由が理解できないぞ http://mevius.5ch.net/test/read.cgi/tech/1544620479/568
569: デフォルトの名無しさん [] 2022/07/07(木) 22:24:24.15 ID:rKn8i4wF 馬鹿に何を言っても無駄な例だぞ http://mevius.5ch.net/test/read.cgi/tech/1544620479/569
570: デフォルトの名無しさん [sage] 2022/07/08(金) 10:33:00.73 ID:aHYxM19P >>565 そのスクリプトをショートカットにして、 作業フォルダを変えて動かしてみたい http://mevius.5ch.net/test/read.cgi/tech/1544620479/570
571: デフォルトの名無しさん [sage] 2022/07/08(金) 12:10:02.96 ID:/znuHP85 カレントディレクトリみたいな、あやふやなものを使ってはいけない。 これが使えるのは、絶対に変化しない場合だけ 起動時に、特定のフォルダを指定するとか、 あらかじめ定数などに保存しておく http://mevius.5ch.net/test/read.cgi/tech/1544620479/571
572: デフォルトの名無しさん [sage] 2022/07/08(金) 12:16:33.93 ID:/znuHP85 例えばデスクトップに、以下のショートカットを作ると、 WSL2 で、Ubuntu 18.04 を起動して、 その /home/ユーザー名/test ディレクトリを、VSCode で開く リンク先 C:\Windows\System32\wsl.exe code . 作業フォルダ \\wsl$\Ubuntu-18.04\home\ユーザー名\test http://mevius.5ch.net/test/read.cgi/tech/1544620479/572
573: デフォルトの名無しさん [sage] 2022/07/08(金) 12:30:53.39 ID:PreZKXp3 もはやAccess VBAとは関係ない話になってるし、元質問者は聞く耳持たないみたいだから これ以上続ける意味無いよ http://mevius.5ch.net/test/read.cgi/tech/1544620479/573
574: デフォルトの名無しさん [] 2022/07/11(月) 11:04:56.16 ID:1W23UOpt >>562 fso使ってるんだから当たり前 http://mevius.5ch.net/test/read.cgi/tech/1544620479/574
575: デフォルトの名無しさん [sage] 2022/07/12(火) 17:20:09.84 ID:xDQ7ywi9 >>574 なぜ「fsoを使うと」なにが、「当たり前」なんだい? http://mevius.5ch.net/test/read.cgi/tech/1544620479/575
576: デフォルトの名無しさん [] 2022/07/13(水) 18:08:17.37 ID:sooqvjiy 7月12日のWindows Updateを実施した端末で軒並み「要求されたタイプ ライブラリまたはウィザードは VBA プロジェクトではありません。」 というエラーが出てAccessで作ったものが起動できない症状が出てるんだけど、何か知ってる? ちなみにAccess Runtimeを再インストールすると直る。修復ではダメ。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/576
577: デフォルトの名無しさん [] 2022/07/13(水) 18:15:29.57 ID:sooqvjiy >>576 書き忘れたけど手元で問題が発生しているのはAccess Runtime 2013 32bitの端末。 OSはWin8.1とWin10の両方で発生してる。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/577
578: デフォルトの名無しさん [sage] 2022/07/13(水) 19:12:40.99 ID:PtV2v+lq うちの環境とほぼ同じですね、まだ発生してないけど明日あたり起きるのかな。 runtimeの入れ直しですね、了解っす。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/578
579: デフォルトの名無しさん [] 2022/07/14(木) 09:57:45.69 ID:gGJjrJSy >>576 特定した。 KB5002121を入れると症状が発生する。 Access Runtimeを再インストールしても再度Windows Updateを実施すると元に戻るから KB5002121をブロックしないとダメだ。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/579
580: 44 [sage] 2022/07/14(木) 12:52:21.90 ID:Fq9OF9ol 迷惑な話ですねえ。 MSのプログラマーがアホなのは今に始まったことじゃないけど http://mevius.5ch.net/test/read.cgi/tech/1544620479/580
581: デフォルトの名無しさん [sage] 2022/07/14(木) 18:41:39.80 ID:Zi9qyvS+ 昔EXCELのVBAで似たような話が合った気がするな その時はテンポラリディレクトリの掃除したら起動するようになったはずだから いちど試してみては http://mevius.5ch.net/test/read.cgi/tech/1544620479/581
582: デフォルトの名無しさん [] 2022/07/18(月) 12:31:42.55 ID:1omE+gQa MSは自社製品のテスト駆動開発すらしてない テストが面倒になるとサポート打ち切り http://mevius.5ch.net/test/read.cgi/tech/1544620479/582
583: デフォルトの名無しさん [] 2022/07/18(月) 13:02:03.33 ID:dNd6yRIh >>582 それソースあるの? http://mevius.5ch.net/test/read.cgi/tech/1544620479/583
584: デフォルトの名無しさん [sage] 2022/07/19(火) 13:18:07.18 ID:4mWHj4S5 2022年7月パッチで「Microsoft Access」に問題、バージョンが異なるとファイルが開けない https://forest.watch.impress.co.jp/docs/news/1425748.html >異なるバージョンの「Microsoft Access」で作成されたデータベースファイル(ACCDE/MDE)を開こうとすると、「要求されたタイプ ライブラリまたはウィザードは VBA プロジェクトではありません」というエラーが発生する場合がある http://mevius.5ch.net/test/read.cgi/tech/1544620479/584
585: デフォルトの名無しさん [sage] 2022/07/20(水) 10:36:39.60 ID:Rwr2SDqT Formを変数にSetするとき下の二つのやり方のどちらが速いか試したら、結構まちまちなんですよね。 後者はEarly Bindingだと思うんだけど、ループさせると前者が速いことも結構あって不思議だ。 だれかこのあたりの事情をご存じの方いますか? Dim F As Form Set F = Forms!FormName Dim F As Form_FormName Set F = Forms!FormName http://mevius.5ch.net/test/read.cgi/tech/1544620479/585
586: デフォルトの名無しさん [] 2022/07/20(水) 11:16:41.39 ID:2HHkZJi9 >>584 runtime版でそれ出たな、試行錯誤でruntime2016からruntime365に変えたら動いたw事がある。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/586
587: デフォルトの名無しさん [] 2022/07/20(水) 15:41:40.93 ID:qJwz0nM8 runtimeは糞 http://mevius.5ch.net/test/read.cgi/tech/1544620479/587
588: デフォルトの名無しさん [sage] 2022/07/20(水) 18:29:58.22 ID:BaO5YoZA >>585 あってるかどうかは知らんが !は実行時に列挙する気がするんだが 後者は型チェックと変換が入るから後者のほうが遅いと思う 前者も入るかもしれんが、そうなるとForm型とForm_FormName型でどっちのキャストが早いかで 結局やっぱり後者が遅い気がする どっちにしたってFは型指定されているので事前バインドだが、 それが差に出るのはFのメンバーを使うときだぜ まあ、なんにしても誤差レベルだと思うが http://mevius.5ch.net/test/read.cgi/tech/1544620479/588
589: デフォルトの名無しさん [] 2022/10/28(金) 11:06:17.52 ID:L4jXkRvB PC画面のスクショを撮って、印刷させたいのですが とっかかりすら分からない初心者です 検索しても該当サイトはなかったので よろしければご教授願いたいです http://mevius.5ch.net/test/read.cgi/tech/1544620479/589
590: デフォルトの名無しさん [sage] 2022/10/28(金) 12:19:16.61 ID:QXDDHW1b >>589 Windows標準の切り取り&スケッチを使えばできます ACCESSからコントロールしたいのですか? http://mevius.5ch.net/test/read.cgi/tech/1544620479/590
591: デフォルトの名無しさん [] 2022/10/28(金) 12:33:34.88 ID:L4jXkRvB >>590 はい、ExcelかAccessでとのことで、 今後の勉強含めAccessに挑んでいます。 不特定多数が使用する環境で (リテラシーが低い人も混在) ボタン一つで全画面スクショ印刷と アクティブウィンドウのみスクショ印刷 の2通りできるようにしたいです (スクショしたデータは印刷後削除される仕様にしたい) 今のところ全画面スクショはできたのですが アクティブウィンドウと その後の印刷と削除で、つまづいてます。 ド初心者なので、見当違いな質問をしていたら 申し訳ありません http://mevius.5ch.net/test/read.cgi/tech/1544620479/591
592: デフォルトの名無しさん [sage] 2022/10/28(金) 12:48:59.54 ID:14o/00kf API経由で[PrtSc](全画面)、[Alt]+[PrtSc](アクティブウィンドウのみ)を押せばクリップボードに画面キャプチャができるだろうから それをレポート上のImageに突っ込んで印刷すればいいんじゃないのかな? 試してないから実際にできるかは知らんけど http://mevius.5ch.net/test/read.cgi/tech/1544620479/592
593: デフォルトの名無しさん [] 2022/10/28(金) 18:23:03.59 ID:ivdM6iIS >>592 ありがとうございます 土日に試してみます! http://mevius.5ch.net/test/read.cgi/tech/1544620479/593
594: デフォルトの名無しさん [] 2022/12/09(金) 21:17:19.25 ID:XI7rGRQs サーバーから検索したいのに上手くいかない どこか修正するとこありますか? Private Sub CommandButton1_Click() Const BASE_PATH = "\\L\設計\図面"Dim myPath As String, myName As String Dim FSO As Object, oFolder As Object, oSubFolder As Object, oFile As Object On Error Resume Next If TextBox1.Value = ""Then Exit Sub ListBox1.Clear Set FSO = CreateObject("Scripting.FileSystemObject") Set oFolder = FSO.GetFolder(BASE_PATH) For Each oSubFolder In oFolder.SubFolders For Each oFile In oSubFolder.Files If LCase(oFile.Name) Like LCase(TextBox1.Value) &"*.pdf"Then Debug.Print oFile.Path myPath = oFile.ParentFolder &"\"myName = oFile.Name ListBox1.AddItem myName ListBox1.List(ListBox1.ListCount - 1, 1) = myPath End If Next Next Set FSO = Nothing End Sub http://mevius.5ch.net/test/read.cgi/tech/1544620479/594
595: デフォルトの名無しさん [sage] 2022/12/10(土) 17:10:55.98 ID:HwePKFIg 何がどううまくいかないんだ? On Error Resume Next外して、エラー内容かけ http://mevius.5ch.net/test/read.cgi/tech/1544620479/595
596: デフォルトの名無しさん [sage] 2022/12/11(日) 02:53:35.00 ID:08xatqWx 知らんけど、コマンドプロンプトで取得した方が速いと思うぞ。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/596
597: デフォルトの名無しさん [sage] 2022/12/11(日) 14:47:06.06 ID:BK2dpDEr ネットワークだとビックリするほど遅いよね http://mevius.5ch.net/test/read.cgi/tech/1544620479/597
598: デフォルトの名無しさん [sage] 2022/12/21(水) 12:29:44.27 ID:29nQbkr4 表形式にしたフォーム上の一行一行に対して、そのレコードのID.pdfが指定のフォルダにあれば○、無ければ空白って文字を連結したテキストボックスに入れたいんだけど。 Dir使って判定させるところまでは出来たけど、vbaを実行させるタイミングの問題なのかな? 詳細セクションの描画時選んだら代入出来ませんって出た。 試しに詳細セクションダブルクリックだと該当レコードだけは入ったけど。。 一括で全レコード対象にする方法あるんでしょうか。。? http://mevius.5ch.net/test/read.cgi/tech/1544620479/598
599: デフォルトの名無しさん [sage] 2022/12/21(水) 13:19:20.60 ID:oTvIdtcL データシートビューのソースの段階でクエリ使ってる? 〇や(空白)を入力するフィールドは確保されてる? 元のソースにpdfファイルがあるか無いかを画面上で比較しながらひとつずつ入力するつもり? 仮のテーブル作ってフォルダ内のpdfのファイル名をDir使ってそのテーブルに代入すれば 簡単に元のソースにも反映出来ると思うけど どうしてもデータシートビューで比較しながら入れたい? pdfが入ってるフォルダ内がしょっちゅう追加・変更・削除がある場合だとしても、仮のテーブル使っとけば 都度最新の状況での比較が可能だと思えるし、不足してるからpdf作らなきゃ、の指針にも成るような気がする でも、元のソースに〇のフィールド作っちゃうと、pdf削除されても〇のまま消えない可能性もあるから対策必要か つまり、一括で全レコード対象にするなら、Dir結果をcsvなりtxtなりに落とし込んで、それと元ソースで更新クエリがいちばん早い http://mevius.5ch.net/test/read.cgi/tech/1544620479/599
600: デフォルトの名無しさん [sage] 2022/12/21(水) 14:08:13.72 ID:29nQbkr4 >>599 ありがとうございます 一旦別のテーブルなりCSVなりにファイル一覧作ってみる事にします! 思い付きもしませんでした http://mevius.5ch.net/test/read.cgi/tech/1544620479/600
601: デフォルトの名無しさん [sage] 2023/03/02(木) 17:30:45.61 ID:oTm0acsN 値にtrueやfalseが含まれるexcelファイルをDocmd.TransferSpreadsheetを使ってテーブルに取り込むと、 数値として反映されてしまうんですが、理論値のまま取り込む方法はありますか? 変換かけるしかないのかな http://mevius.5ch.net/test/read.cgi/tech/1544620479/601
602: デフォルトの名無しさん [sage] 2023/03/05(日) 12:31:16.13 ID:Yb2sf8rL >>601 取り込んだ後でクエリーで値変えれば良かろうに http://mevius.5ch.net/test/read.cgi/tech/1544620479/602
603: デフォルトの名無しさん [sage] 2023/03/24(金) 00:30:10.12 ID:higFVnZ+ recordset.Fields.Append "フィールド名", adChar, 200 とかでフィールドを新規設定するといろいろと挙動不審になって、エラーが頻発した。 俺が気がついたのはLen関数がおかしな数字を返すこと。スペースの数を返す。 これのおかげなのか、DictionaryのKeyが変なことになり、ただしいItemが取得出来なくて2日潰したわ。 Trim関数に入れたらまともに動き出した。よけいなスペースが付加されていたため、本来の値と異なっていた。 このあたりの事情を書いたものあるのかなあ? http://mevius.5ch.net/test/read.cgi/tech/1544620479/603
604: デフォルトの名無しさん [sage] 2023/03/24(金) 10:46:32.87 ID:pyQciQm5 Recordsetの作成(DAO編) http://www7b.biglobe.ne.jp/~cbcnet/DAO/database.html レコードセットの作成(ADO編) http://www7b.biglobe.ne.jp/~cbcnet/ADO/append.html 第4話 DAOとADOの違い https://www.r-staffing.co.jp/engineer/entry/20210806_1 同一システム内でDAOとADOを併用しないよう留意 とか? http://mevius.5ch.net/test/read.cgi/tech/1544620479/604
605: デフォルトの名無しさん [sage] 2023/03/25(土) 11:49:45.50 ID:zs10i3Ml エラーが出るもんだから、VarType関数使って疑わしい変数を調べたら、18が返ってきた。 しかし、そんな定数ないんだよなあ。これはどういうことだ? http://mevius.5ch.net/test/read.cgi/tech/1544620479/605
606: デフォルトの名無しさん [sage] 2023/03/25(土) 11:59:33.48 ID:nHkGBQf7 値の合計なので、10と8とか 5と6と7とか 思い当たるのをひとつずつ潰してく http://mevius.5ch.net/test/read.cgi/tech/1544620479/606
607: デフォルトの名無しさん [sage] 2023/03/25(土) 13:37:32.34 ID:zs10i3Ml >>606 ありがとう。 Msgboxでそような定数の合計をしますね。 ところで、そのような知識は私の持っているVBA、VBS、Accessの本には記載されていない様な気がします。 もしかしたら、Visual Basicでは常識なのでしょうか?それとも一般的なプログラミングの世界での常識ですか? 私は仕事でVBAをいじるだけで、一般的なプログラミングはほとんど知らないのでお尋ね致します。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/607
608: デフォルトの名無しさん [sage] 2023/03/25(土) 14:20:16.26 ID:nHkGBQf7 本はあくまでも全体のほんの一部を抽出して購買欲そそるタイトル付けて売ってるだけ MSのリファレンスに頼るのが本筋 https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/vartype-function https://learn.microsoft.com/ja-jp/office/vba/api/overview/access ネットの情報でも、ご丁寧にスクショ混ぜて説明してるのに、すでにUI変わってて役に立たないとかも多い 紛らわしい情報が氾濫する中で、どれがじぶんの求めるお宝なのかを見極める目を養うのもだいじ http://mevius.5ch.net/test/read.cgi/tech/1544620479/608
609: デフォルトの名無しさん [sage] 2023/03/27(月) 19:32:00.21 ID:zT0GYsm+ >>603 CHARとVARCHARの違い まあ、SQLの型の基本なんだが、ACCESS関連であまりちゃんと解説してるのみたことないな https://learn.microsoft.com/ja-jp/office/client-developer/access/desktop-database-reference/datatypeenum OLE DB プログラマリファレンスの第 13 章および付録 A を参照してください、らしい http://mevius.5ch.net/test/read.cgi/tech/1544620479/609
610: デフォルトの名無しさん [sage] 2023/03/27(月) 19:43:31.02 ID:zT0GYsm+ >>607 ビットマスクって考え方があって、別にVBAに限った話じゃない が、VarTypeで18ってリファレンス見る限りないな。 どんな変数がその値だったんだ? http://mevius.5ch.net/test/read.cgi/tech/1544620479/610
611: デフォルトの名無しさん [sage] 2023/03/29(水) 07:20:36.71 ID:P3Zmpymz AIに書いてほしいコードを聞くと正しく動くコードが返ってくる bingとchatGPTは頼れる、かも http://mevius.5ch.net/test/read.cgi/tech/1544620479/611
612: デフォルトの名無しさん [sage] 2023/04/04(火) 10:14:28.50 ID:Az13f9J9 最近の VisualStudio に搭載されたコード補完は おせっかいなくらいにコードの続き出てくるな http://mevius.5ch.net/test/read.cgi/tech/1544620479/612
613: デフォルトの名無しさん [sage] 2023/04/04(火) 16:33:58.07 ID:vSpSLcg3 >>611 俺はChat GPTに嘘ばかり教えられている。 用語の定義から間違えている。 Chat GPTの吐いた嘘を貼り付けるページがあったら参加したいわ。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/613
614: デフォルトの名無しさん [sage] 2023/04/04(火) 17:16:46.37 ID:SG+vqM06 >>613 確かに鵜呑みには出来ないね、よく嘘を言ってくる。ある程度自力で捌けないとヤバいね http://mevius.5ch.net/test/read.cgi/tech/1544620479/614
615: デフォルトの名無しさん [sage] 2023/04/05(水) 00:48:28.57 ID:wtS5Em1S 嘘を嘘と見抜けない人の利用はお勧めできない、か どっかで聞いた話だな http://mevius.5ch.net/test/read.cgi/tech/1544620479/615
616: デフォルトの名無しさん [sage] 2023/04/05(水) 19:08:02.04 ID:iYloijFa GPTのウソ、具体例有ったら教えて http://mevius.5ch.net/test/read.cgi/tech/1544620479/616
617: デフォルトの名無しさん [sage] 2023/04/08(土) 23:18:08.84 ID:m5gy6cDu Excelスレに貼られていたWebview2のコードはワロタ http://mevius.5ch.net/test/read.cgi/tech/1544620479/617
618: デフォルトの名無しさん [sage] 2023/04/10(月) 19:36:08.19 ID:YifXJ3Ct 今日も大嘘をつかれました。 質問 MS Accessのvbaで既に存在するプログラム中に宣言されていない変数があります。これを探して,宣言するvba プロシジャーを教えて。 回答 MS AccessのVBAで、プログラム中で宣言されていない変数を検出して、宣言するための手順を説明します。 MS Accessを開き、VBAエディターを起動します。 検索機能を使用して、すべてのモジュール内の未宣言の変数を検索します。 未宣言の変数を検索するには、VBAエディターで「Ctrl + F」を押して、「検索」ダイアログボックスを開きます。ダイアログボックスで「未定義の」または「未宣言の」を検索キーワードとして入力し、「検索」または「次へ」ボタンをクリックします。これにより、未宣言の変数が使用されている場所がすべて検索されます。 未宣言の変数を見つけたら、変数の宣言を追加します。 例えば、未宣言の変数「myVariable」が使用されている場合、以下のように宣言を追加できます。 Dim myVariable As DataType ' 変数の宣言 DataTypeは変数のデータ型を指定するために使用されます。例えば、myVariableが数値である場合、データ型はLong、Integer、Doubleなどになります。文字列である場合は、データ型はStringになります。 全ての未宣言の変数を宣言したら、プログラムを保存して実行してください。 これにより、未宣言の変数エラーが回避され、プログラムが正常に実行されるようになります。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/618
619: デフォルトの名無しさん [sage] 2023/04/12(水) 18:35:03.42 ID:b8lcjBjc 未宣言の変数が300種類くらいあるポンコツ業務用mdbがある。Option Explicit化して手作業で未宣言変数を探すとものすごく時間がかかる。ローカル変数だけならテキストに対しての構文解析だけで出来そうだけど、誰かやり方知ってますか? Access用の解析ツールは時間がかかりすぎるので諦めました http://mevius.5ch.net/test/read.cgi/tech/1544620479/619
620: デフォルトの名無しさん [sage] 2023/04/14(金) 12:20:23.58 ID:ooEkRg5K 全角数字を含むフォームは普通VBEのプロジェクトエクスプローラでも全角数字で表示される。 しかし、俺の持っているmdbはなぜかフォームによってはVBEで半角の場合がある。 つまりForm1番→Form1番 というように半角になっている。 フォームのもっている名前とモジュールの名前が異なるので検索漏れが発生して何かと不便。 解決策ありますかね? http://mevius.5ch.net/test/read.cgi/tech/1544620479/620
621: デフォルトの名無しさん [sage] 2023/04/19(水) 15:36:15.06 ID:hTeej4zs >>620 Accessのバージョンによって全半角を同一視されるのとされないのがあったよーな 半角に統一して、置換するしかないんじゃね http://mevius.5ch.net/test/read.cgi/tech/1544620479/621
622: デフォルトの名無しさん [sage] 2023/04/19(水) 21:07:01.70 ID:UiOYL9zn >>621 VBEはクラスオブジェクトのリネームはできないんですよねえ Text化してファイル名を統一してから読み込みますかねえ?それでなおるか未確認ですが。 今は検索文字列のパターンを増やして対応してますが、邪道だなあと思いながらやってます。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/622
623: デフォルトの名無しさん [sage] 2023/04/20(木) 00:39:31.09 ID:Ck2wYtqO ACCESS側で名前変更しても、VBE側が変わらないことがあるっぽいな フォームの コード保持 を いいえ にして保存してから はい にしたら同じになったぞ まあ、コード全部いったん消えるがな http://mevius.5ch.net/test/read.cgi/tech/1544620479/623
624: デフォルトの名無しさん [sage] 2023/04/20(木) 10:07:33.88 ID:b7y+tf5m >>623 テキスト化してフォームと同じ全角のファイル名にしてからLoadしたらVBEのクラスオブジェクトの名前と一致させることが出来ました。 思うに、このプログラムを書いた人はテキスト化して、お好みのエディタで書いていたんでしょうね。 だからOption Explicitなんてしてなくて、問題なく書けるので、変数のスペルミスがあります。 今回はファイル名の全角半角を間違えてままLoadしてフォーム名とクラスオブジェクト名が一致しないということになったと思います。 よほどVBEを使いたくなかったんでしょうね。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/624
625: デフォルトの名無しさん [sage] 2023/04/28(金) 05:20:11.81 ID:d0ZMhP2N やけにエラーが出るので調べたら、クラスオブジェクトの名前のカッコが前側が半角、後側が全角のものを発見。しかも複数。 俺はプロじゃないけど、このデータベースに毎月金を払っている。金取るならちゃんとしたものを作って欲しいわ。 宣言だけして読み書きしない変数が約2000個、呼び出されないプロシジャーと空のプロシジャーが100個以上がもあるし、どうなっているんだ? 戻り値のないプロシジャーをFunctionにして,呼び出すだけのために変数を使ったりしてアホかと思うことばかり http://mevius.5ch.net/test/read.cgi/tech/1544620479/625
626: デフォルトの名無しさん [sage] 2023/05/03(水) 21:33:01.68 ID:u6AyBhT9 クエリがいくつかあってそのなかであるテーブルを使ってるかどうか検索する方法ないですか http://mevius.5ch.net/test/read.cgi/tech/1544620479/626
627: デフォルトの名無しさん [sage] 2023/05/03(水) 21:34:54.38 ID:u6AyBhT9 これVBA関係ないな http://mevius.5ch.net/test/read.cgi/tech/1544620479/627
628: デフォルトの名無しさん [sage] 2023/05/04(木) 13:12:55.46 ID:xnh5NJU8 関係無いけど、ヒマだから https://www.feedsoft.net/access/tips/tips211.html この手順でコツコツ「リレーションシップ」を出力してけば把握できる http://mevius.5ch.net/test/read.cgi/tech/1544620479/628
629: デフォルトの名無しさん [sage] 2023/05/04(木) 20:33:29.74 ID:i/jCXYvG QueryDefsのSQLプロパティをinstringで調べる それをループ かな http://mevius.5ch.net/test/read.cgi/tech/1544620479/629
630: デフォルトの名無しさん [sage] 2023/05/10(水) 00:24:35.45 ID:qaMHPguU >>629 これがベストだね http://mevius.5ch.net/test/read.cgi/tech/1544620479/630
631: デフォルトの名無しさん [sage] 2023/05/12(金) 20:45:34.35 ID:nGf/Bj/G 流行りのChatGPTをACCESSで使えるようにしてみた BingやBardもレスポンス良く使えるようになったのであまり意味はなかったが面白かった VBAコードはChatGPTに書かせたのをほぼコピペで動くようにできた http://mevius.5ch.net/test/read.cgi/tech/1544620479/631
632: デフォルトの名無しさん [sage] 2023/05/13(土) 09:19:13.17 ID:uR6hVfud スレの意図を無視するがAccessは出来るだけVBA使わず作成する方がバージョンアップにも対応し易い http://mevius.5ch.net/test/read.cgi/tech/1544620479/632
633: デフォルトの名無しさん [sage] 2023/05/13(土) 13:15:28.85 ID:JkElVRfp お客様に納品するならそういう気遣いも要りますね 自家用なので気の済むまで作り込みます 自社の50人くらいが快適なように http://mevius.5ch.net/test/read.cgi/tech/1544620479/633
634: デフォルトの名無しさん [sage] 2023/05/13(土) 16:13:18.44 ID:74jfRr8+ どうした? 総合で同意が得られなかったから改めてコッチに書いたのか? Accessをインストールだけして使わないでいればバージョンアップもへったくれも無いから、そうした方がいいぞ? http://mevius.5ch.net/test/read.cgi/tech/1544620479/634
635: デフォルトの名無しさん [sage] 2023/05/14(日) 08:52:04.69 ID:UU9sI9hc Rubberduckは大きいデータベースだとパース中にエラーが出て使い物にならないねえ 数年前よりはるかにマシになったけど。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/635
636: デフォルトの名無しさん [sage] 2023/05/16(火) 21:12:36.24 ID:dmITDlP3 msgboxの戻り値を格納する変数の型をvbMsgboxResultにするかLongにするか悩んだので、 時間を計ろうと思って、古い本を引っ張り出して、二つを比較するプロシジャーを書いた。 ふと、全く同じテストをしたらどうなるのか気になったので、やってみたら、全く同じプロシジャー同士の比較なのに30%位スピードに差が出る。さっきやったら最大で37%速度差があった。 一方が速いこともあれば、もう一方が速いときもある。こんなのでスピード比較する意味あるのかなあ? 時間測定はGetTickCountを使って、変数宣言のみ100万回のループをするプロシジャーを100回呼び出すという感じ。 なんかいい測定方法ありますかね? http://mevius.5ch.net/test/read.cgi/tech/1544620479/636
637: デフォルトの名無しさん [sage] 2023/05/16(火) 21:52:45.08 ID:Mqz2m8JL timer使っても同じかな http://mevius.5ch.net/test/read.cgi/tech/1544620479/637
638: デフォルトの名無しさん [sage] 2023/05/17(水) 06:33:48.44 ID:AOXlzNDq timerが秒単位でGetTickCountはミリ秒単位と古い本に書いてあったなあ あと、timerはそれ自体の動作が遅いって書いてあった http://mevius.5ch.net/test/read.cgi/tech/1544620479/638
639: デフォルトの名無しさん [sage] 2023/05/18(木) 18:57:23.27 ID:8+QzSev9 ユーザーフォームが大きいんで下半分を隠す、上半分を隠す、という2つのコードを書きたいんです。下半分を隠す、はハイト プロパティを小さくすれば可能なんだけど、上半分を隠す、は不可能なんですかね。 http://mevius.5ch.net/test/read.cgi/tech/1544620479/639
640: デフォルトの名無しさん [sage] 2023/05/18(木) 20:29:25.05 ID:FTp82+/Y >>639 何をやりたいのかイマイチ分からんけど、タブコントロールじゃだめなん? http://mevius.5ch.net/test/read.cgi/tech/1544620479/640
641: デフォルトの名無しさん [sage] 2023/05/18(木) 21:32:12.21 ID:UaeB70YO 上半分を隠したら×ボタン無くなってにっちもさっちも行かなくなるぞ http://mevius.5ch.net/test/read.cgi/tech/1544620479/641
642: デフォルトの名無しさん [sage] 2023/05/18(木) 21:36:12.00 ID:/q1eE0wB >>639 2つのフォームに分けたら良いと思うの http://mevius.5ch.net/test/read.cgi/tech/1544620479/642
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 146 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s