Access VBA 質問スレ Part2

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

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


前回のスレッド
Access VBA 質問スレ Part1
https://mevius.5ch.net/test/read.cgi/tech/1328536426/
587デフォルトの名無しさん
垢版 |
2022/07/20(水) 15:41:40.93ID:qJwz0nM8
runtimeは糞
2022/07/20(水) 18:29:58.22ID:BaO5YoZA
>>585
あってるかどうかは知らんが

!は実行時に列挙する気がするんだが
後者は型チェックと変換が入るから後者のほうが遅いと思う
前者も入るかもしれんが、そうなるとForm型とForm_FormName型でどっちのキャストが早いかで
結局やっぱり後者が遅い気がする

どっちにしたってFは型指定されているので事前バインドだが、
それが差に出るのはFのメンバーを使うときだぜ

まあ、なんにしても誤差レベルだと思うが
589デフォルトの名無しさん
垢版 |
2022/10/28(金) 11:06:17.52ID:L4jXkRvB
PC画面のスクショを撮って、印刷させたいのですが
とっかかりすら分からない初心者です
検索しても該当サイトはなかったので
よろしければご教授願いたいです
2022/10/28(金) 12:19:16.61ID:QXDDHW1b
>>589
Windows標準の切り取り&スケッチを使えばできます
ACCESSからコントロールしたいのですか?
591デフォルトの名無しさん
垢版 |
2022/10/28(金) 12:33:34.88ID:L4jXkRvB
>>590
はい、ExcelかAccessでとのことで、
今後の勉強含めAccessに挑んでいます。

不特定多数が使用する環境で
(リテラシーが低い人も混在)
ボタン一つで全画面スクショ印刷と
アクティブウィンドウのみスクショ印刷
の2通りできるようにしたいです
(スクショしたデータは印刷後削除される仕様にしたい)

今のところ全画面スクショはできたのですが
アクティブウィンドウと
その後の印刷と削除で、つまづいてます。

ド初心者なので、見当違いな質問をしていたら
申し訳ありません
2022/10/28(金) 12:48:59.54ID:14o/00kf
API経由で[PrtSc](全画面)、[Alt]+[PrtSc](アクティブウィンドウのみ)を押せばクリップボードに画面キャプチャができるだろうから
それをレポート上のImageに突っ込んで印刷すればいいんじゃないのかな?
試してないから実際にできるかは知らんけど
593デフォルトの名無しさん
垢版 |
2022/10/28(金) 18:23:03.59ID:ivdM6iIS
>>592
ありがとうございます
土日に試してみます!
594デフォルトの名無しさん
垢版 |
2022/12/09(金) 21:17:19.25ID: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
2022/12/10(土) 17:10:55.98ID:HwePKFIg
何がどううまくいかないんだ?
On Error Resume Next外して、エラー内容かけ
2022/12/11(日) 02:53:35.00ID:08xatqWx
知らんけど、コマンドプロンプトで取得した方が速いと思うぞ。
2022/12/11(日) 14:47:06.06ID:BK2dpDEr
ネットワークだとビックリするほど遅いよね
2022/12/21(水) 12:29:44.27ID:29nQbkr4
表形式にしたフォーム上の一行一行に対して、そのレコードのID.pdfが指定のフォルダにあれば○、無ければ空白って文字を連結したテキストボックスに入れたいんだけど。
Dir使って判定させるところまでは出来たけど、vbaを実行させるタイミングの問題なのかな?
詳細セクションの描画時選んだら代入出来ませんって出た。
試しに詳細セクションダブルクリックだと該当レコードだけは入ったけど。。

一括で全レコード対象にする方法あるんでしょうか。。?
2022/12/21(水) 13:19:20.60ID:oTvIdtcL
データシートビューのソースの段階でクエリ使ってる?
〇や(空白)を入力するフィールドは確保されてる?
元のソースにpdfファイルがあるか無いかを画面上で比較しながらひとつずつ入力するつもり?
仮のテーブル作ってフォルダ内のpdfのファイル名をDir使ってそのテーブルに代入すれば
簡単に元のソースにも反映出来ると思うけど どうしてもデータシートビューで比較しながら入れたい?

pdfが入ってるフォルダ内がしょっちゅう追加・変更・削除がある場合だとしても、仮のテーブル使っとけば
都度最新の状況での比較が可能だと思えるし、不足してるからpdf作らなきゃ、の指針にも成るような気がする
でも、元のソースに〇のフィールド作っちゃうと、pdf削除されても〇のまま消えない可能性もあるから対策必要か

つまり、一括で全レコード対象にするなら、Dir結果をcsvなりtxtなりに落とし込んで、それと元ソースで更新クエリがいちばん早い
2022/12/21(水) 14:08:13.72ID:29nQbkr4
>>599
ありがとうございます
一旦別のテーブルなりCSVなりにファイル一覧作ってみる事にします!
思い付きもしませんでした
2023/03/02(木) 17:30:45.61ID:oTm0acsN
値にtrueやfalseが含まれるexcelファイルをDocmd.TransferSpreadsheetを使ってテーブルに取り込むと、
数値として反映されてしまうんですが、理論値のまま取り込む方法はありますか?
変換かけるしかないのかな
2023/03/05(日) 12:31:16.13ID:Yb2sf8rL
>>601
取り込んだ後でクエリーで値変えれば良かろうに
2023/03/24(金) 00:30:10.12ID:higFVnZ+
recordset.Fields.Append "フィールド名", adChar, 200
とかでフィールドを新規設定するといろいろと挙動不審になって、エラーが頻発した。
俺が気がついたのはLen関数がおかしな数字を返すこと。スペースの数を返す。
これのおかげなのか、DictionaryのKeyが変なことになり、ただしいItemが取得出来なくて2日潰したわ。
Trim関数に入れたらまともに動き出した。よけいなスペースが付加されていたため、本来の値と異なっていた。
このあたりの事情を書いたものあるのかなあ?
2023/03/24(金) 10:46:32.87ID: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を併用しないよう留意 とか?
2023/03/25(土) 11:49:45.50ID:zs10i3Ml
エラーが出るもんだから、VarType関数使って疑わしい変数を調べたら、18が返ってきた。
しかし、そんな定数ないんだよなあ。これはどういうことだ?
2023/03/25(土) 11:59:33.48ID:nHkGBQf7
値の合計なので、10と8とか 5と6と7とか 思い当たるのをひとつずつ潰してく
2023/03/25(土) 13:37:32.34ID:zs10i3Ml
>>606
ありがとう。
Msgboxでそような定数の合計をしますね。
ところで、そのような知識は私の持っているVBA、VBS、Accessの本には記載されていない様な気がします。
もしかしたら、Visual Basicでは常識なのでしょうか?それとも一般的なプログラミングの世界での常識ですか?
私は仕事でVBAをいじるだけで、一般的なプログラミングはほとんど知らないのでお尋ね致します。
2023/03/25(土) 14:20:16.26ID: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変わってて役に立たないとかも多い
紛らわしい情報が氾濫する中で、どれがじぶんの求めるお宝なのかを見極める目を養うのもだいじ
2023/03/27(月) 19:32:00.21ID:zT0GYsm+
>>603
CHARとVARCHARの違い
まあ、SQLの型の基本なんだが、ACCESS関連であまりちゃんと解説してるのみたことないな
https://learn.microsoft.com/ja-jp/office/client-developer/access/desktop-database-reference/datatypeenum
OLE DB プログラマリファレンスの第 13 章および付録 A を参照してください、らしい
2023/03/27(月) 19:43:31.02ID:zT0GYsm+
>>607
ビットマスクって考え方があって、別にVBAに限った話じゃない
が、VarTypeで18ってリファレンス見る限りないな。
どんな変数がその値だったんだ?
2023/03/29(水) 07:20:36.71ID:P3Zmpymz
AIに書いてほしいコードを聞くと正しく動くコードが返ってくる
bingとchatGPTは頼れる、かも
2023/04/04(火) 10:14:28.50ID:Az13f9J9
最近の VisualStudio に搭載されたコード補完は
おせっかいなくらいにコードの続き出てくるな
2023/04/04(火) 16:33:58.07ID:vSpSLcg3
>>611
俺はChat GPTに嘘ばかり教えられている。
用語の定義から間違えている。
Chat GPTの吐いた嘘を貼り付けるページがあったら参加したいわ。
2023/04/04(火) 17:16:46.37ID:SG+vqM06
>>613
確かに鵜呑みには出来ないね、よく嘘を言ってくる。ある程度自力で捌けないとヤバいね
2023/04/05(水) 00:48:28.57ID:wtS5Em1S
嘘を嘘と見抜けない人の利用はお勧めできない、か

どっかで聞いた話だな
2023/04/05(水) 19:08:02.04ID:iYloijFa
GPTのウソ、具体例有ったら教えて
2023/04/08(土) 23:18:08.84ID:m5gy6cDu
Excelスレに貼られていたWebview2のコードはワロタ
2023/04/10(月) 19:36:08.19ID: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になります。

全ての未宣言の変数を宣言したら、プログラムを保存して実行してください。
これにより、未宣言の変数エラーが回避され、プログラムが正常に実行されるようになります。
2023/04/12(水) 18:35:03.42ID:b8lcjBjc
未宣言の変数が300種類くらいあるポンコツ業務用mdbがある。Option Explicit化して手作業で未宣言変数を探すとものすごく時間がかかる。ローカル変数だけならテキストに対しての構文解析だけで出来そうだけど、誰かやり方知ってますか?

Access用の解析ツールは時間がかかりすぎるので諦めました
2023/04/14(金) 12:20:23.58ID:ooEkRg5K
全角数字を含むフォームは普通VBEのプロジェクトエクスプローラでも全角数字で表示される。
しかし、俺の持っているmdbはなぜかフォームによってはVBEで半角の場合がある。
つまりForm1番→Form1番
というように半角になっている。
フォームのもっている名前とモジュールの名前が異なるので検索漏れが発生して何かと不便。
解決策ありますかね?
2023/04/19(水) 15:36:15.06ID:hTeej4zs
>>620
Accessのバージョンによって全半角を同一視されるのとされないのがあったよーな
半角に統一して、置換するしかないんじゃね
2023/04/19(水) 21:07:01.70ID:UiOYL9zn
>>621
VBEはクラスオブジェクトのリネームはできないんですよねえ

Text化してファイル名を統一してから読み込みますかねえ?それでなおるか未確認ですが。

今は検索文字列のパターンを増やして対応してますが、邪道だなあと思いながらやってます。
2023/04/20(木) 00:39:31.09ID:Ck2wYtqO
ACCESS側で名前変更しても、VBE側が変わらないことがあるっぽいな

フォームの コード保持 を いいえ にして保存してから はい にしたら同じになったぞ
まあ、コード全部いったん消えるがな
2023/04/20(木) 10:07:33.88ID:b7y+tf5m
>>623
テキスト化してフォームと同じ全角のファイル名にしてからLoadしたらVBEのクラスオブジェクトの名前と一致させることが出来ました。
思うに、このプログラムを書いた人はテキスト化して、お好みのエディタで書いていたんでしょうね。
だからOption Explicitなんてしてなくて、問題なく書けるので、変数のスペルミスがあります。
今回はファイル名の全角半角を間違えてままLoadしてフォーム名とクラスオブジェクト名が一致しないということになったと思います。
よほどVBEを使いたくなかったんでしょうね。
2023/04/28(金) 05:20:11.81ID:d0ZMhP2N
やけにエラーが出るので調べたら、クラスオブジェクトの名前のカッコが前側が半角、後側が全角のものを発見。しかも複数。
俺はプロじゃないけど、このデータベースに毎月金を払っている。金取るならちゃんとしたものを作って欲しいわ。
宣言だけして読み書きしない変数が約2000個、呼び出されないプロシジャーと空のプロシジャーが100個以上がもあるし、どうなっているんだ?
戻り値のないプロシジャーをFunctionにして,呼び出すだけのために変数を使ったりしてアホかと思うことばかり
2023/05/03(水) 21:33:01.68ID:u6AyBhT9
クエリがいくつかあってそのなかであるテーブルを使ってるかどうか検索する方法ないですか
2023/05/03(水) 21:34:54.38ID:u6AyBhT9
これVBA関係ないな
2023/05/04(木) 13:12:55.46ID:xnh5NJU8
関係無いけど、ヒマだから
https://www.feedsoft.net/access/tips/tips211.html
この手順でコツコツ「リレーションシップ」を出力してけば把握できる
2023/05/04(木) 20:33:29.74ID:i/jCXYvG
QueryDefsのSQLプロパティをinstringで調べる
それをループ かな
2023/05/10(水) 00:24:35.45ID:qaMHPguU
>>629
これがベストだね
2023/05/12(金) 20:45:34.35ID:nGf/Bj/G
流行りのChatGPTをACCESSで使えるようにしてみた
BingやBardもレスポンス良く使えるようになったのであまり意味はなかったが面白かった
VBAコードはChatGPTに書かせたのをほぼコピペで動くようにできた
2023/05/13(土) 09:19:13.17ID:uR6hVfud
スレの意図を無視するがAccessは出来るだけVBA使わず作成する方がバージョンアップにも対応し易い
2023/05/13(土) 13:15:28.85ID:JkElVRfp
お客様に納品するならそういう気遣いも要りますね
自家用なので気の済むまで作り込みます
自社の50人くらいが快適なように
2023/05/13(土) 16:13:18.44ID:74jfRr8+
どうした? 総合で同意が得られなかったから改めてコッチに書いたのか?
Accessをインストールだけして使わないでいればバージョンアップもへったくれも無いから、そうした方がいいぞ?
2023/05/14(日) 08:52:04.69ID:UU9sI9hc
Rubberduckは大きいデータベースだとパース中にエラーが出て使い物にならないねえ

数年前よりはるかにマシになったけど。
2023/05/16(火) 21:12:36.24ID:dmITDlP3
msgboxの戻り値を格納する変数の型をvbMsgboxResultにするかLongにするか悩んだので、
時間を計ろうと思って、古い本を引っ張り出して、二つを比較するプロシジャーを書いた。
ふと、全く同じテストをしたらどうなるのか気になったので、やってみたら、全く同じプロシジャー同士の比較なのに30%位スピードに差が出る。さっきやったら最大で37%速度差があった。
一方が速いこともあれば、もう一方が速いときもある。こんなのでスピード比較する意味あるのかなあ?

時間測定はGetTickCountを使って、変数宣言のみ100万回のループをするプロシジャーを100回呼び出すという感じ。
なんかいい測定方法ありますかね?
2023/05/16(火) 21:52:45.08ID:Mqz2m8JL
timer使っても同じかな
2023/05/17(水) 06:33:48.44ID:AOXlzNDq
timerが秒単位でGetTickCountはミリ秒単位と古い本に書いてあったなあ
あと、timerはそれ自体の動作が遅いって書いてあった
2023/05/18(木) 18:57:23.27ID:8+QzSev9
ユーザーフォームが大きいんで下半分を隠す、上半分を隠す、という2つのコードを書きたいんです。下半分を隠す、はハイト プロパティを小さくすれば可能なんだけど、上半分を隠す、は不可能なんですかね。
2023/05/18(木) 20:29:25.05ID:FTp82+/Y
>>639
何をやりたいのかイマイチ分からんけど、タブコントロールじゃだめなん?
2023/05/18(木) 21:32:12.21ID:UaeB70YO
上半分を隠したら×ボタン無くなってにっちもさっちも行かなくなるぞ
2023/05/18(木) 21:36:12.00ID:/q1eE0wB
>>639
2つのフォームに分けたら良いと思うの
2023/05/19(金) 21:09:14.22ID:j+pEmA6B
>>640
>>642
ありがとう。皆さんのアイデアをためします
2023/05/23(火) 14:00:02.22ID:MnQDcyxi
質問です。
Excelファイルを読み込んで、加工してからテーブルとして保持したいんですが、
Excelファイルのまま編集してinsertするのと、
一度テーブルとして読み込んでから編集してinsertするのはどちらが高速でしょうか?
2023/05/23(火) 14:42:54.35ID:3uLTyIP1
insert ? inport の手順なら下記リンク先を参考に
https://hamachan.info/win8/access/import.html 
Excelファイルをリンクでもいけるし 同作業を何度も繰り返すとかでも、操作を保存しとけば楽だし
データのボリューム次第とかマシンスペックとかも兼ね合いがあるから、どちらとも
ウィザードの途中画面をよく見て、事前にExcel側を整えて置けば inport も楽だし
編集内容がより細かく設定できるのはExcelなのかAccessなのかを知る事でも、どちらの方法を採るかの判断になる
2023/05/23(火) 15:03:14.67ID:MnQDcyxi
いろいろありがとございます、しかしimportではなくinsertです
内容を見て既存のテーブルに1行ずつinsert(もしくはupdate)していく形になります。
2023/05/23(火) 15:26:17.99ID:3uLTyIP1
んーと、Access側のテーブルはあくまでもデータストック用な立ち位置?
事前にExcelでの編集が伴うなら、Accessのテーブルとしてから編集するのはムダなような
https://tonari-it.com/excel-vba-access-add-records/ コッチのが参考に成るかも 実行速度の検証もしてる様子
2023/05/23(火) 16:47:55.53ID:MnQDcyxi
ありがとうございます!
いまさらっとですが見てみたところ、速度比較などもしていて参考になりそうです。
見てみます!

中間テーブルを作成してから編集した方がいいよ、という声を聞いたんですが
いちいち使わないテーブルに投入する必要はないのでは?と思い質問いたしました。
事前編集方式でやってみます!
2023/05/23(火) 18:12:18.40ID:3uLTyIP1
Excelの元データと、何をどう編集したいかも判らないから、中間テーブルの必要性は当人しか判断不能
上でも書いたけど、編集内容がExcelの方が楽で早いのかAccessの方なのかでも手順は変わるような
速さを第一に求めているように読めるけど、「一行ずつ」って書かれた部分で「おや?」と
スムースにデータを移行させるには、最初のリンク先の「データクレンジング」も読んでおいてもムダには成らない
アチコチに目を配らなければならない様子でお疲れ でもそれがじぶんの糧に成る
2023/05/24(水) 08:46:04.47ID:AU7HKxhu
>>644
ExcelインポートしてAccessで加工する方が速いよ
ExcelでVBAでデータ加工するなんて愚の骨頂
2023/05/24(水) 10:26:10.15ID:eouMPy16
みなさまいろいろありがとうございます
自分の説明不足&理解不足ですみません。

ACCESSに入っている一覧情報を定期的に更新しなければならず、
その更新情報がExcelで来るのでそれを読み込んで…とやる感じです。
ACCESS側で固有に更新している情報もあるのでまるっと上書きではなく、
一行ずつ確認して該当の列のみ追加や上書きをしなくてはいけません。

それを、いまはAccessVBA内でExcelファイルを開いて
一行ずつ読み込んで内容確認して内容によってSQL流して…とやっているのですが、
もしかしてExcelファイルを中間テーブルにimportしてから
操作した方が早いのかな??と悩んで書き込んだ次第です。

「ExcelインポートしてACCESSで加工」と言ってくださってるのは
後者の場合を指しているのですかね?
今はとりあえずサンプルを作って動かして比較しようかと思っています。
2023/05/24(水) 10:50:21.63ID:l+gVJ33A
そういうことなら中間テーブルに取り込んで、テーブル同士の差分をチェックかな
https://tasukete-access.com/2022/11/28/accessintro_table_comparison/
[フィールド単位での差分をチェックする] この方法のが近いのか
2023/05/24(水) 23:16:20.24ID:CzWxWRtY
返信遅れてすみません!ありがとうございます!
こんなやり方ができるんですね!
全部SQL書こうと想ってましたがクエリで楽に作れるかもしれず嬉しいです。
参考に書いてみます、本当にありがとうございます!
2023/05/26(金) 17:24:59.84ID:sT8UcBqC
500以上のモジュールにOption Explicitが書いてない。
当然、宣言されていない変数が何百もある。
ここにOption Explicitを書くと、宣言されていない変数を見つけるたびにコンパイルが止まるので面倒。
一括して発見する方法を知ってる人いますか?
VBEが発見できるので、その方法が分かればユーザにも分かるはずだと思うが、検索しても見つからない。

Cのコンパイラを自作する技術があれば、文法解析の手法が使えると思って調べたけど、全余暇時間をコンパイラ自作に割り当てても6ヶ月かかったと言ってる人がいて、踏み出せない。
2023/05/26(金) 19:16:13.82ID:+AT6wCCw
こんなん見付からはりました
https://stabucky.com/wp/archives/6297  実際に検証はしてないんで、自己責任 ←重要!!
現物mdb(そんなのはAccdbでは無くmdbだと勝手に決め付けてる)では無く、コピーしたファイルで
尚且つネットから切り離しスタンドアロンで、更に30秒後に発火するかも知れないので消火器用意してから
試してみてください 結果報告が期待されます

VBE上でCtrl + Spaceで入力支援機能(サジェストっつーの?)を出して、いっこずつTABで拾いだす案を
提案しようと思いつつぐぐってたら出てきた代物 宣言してなかったら自動メンバー表示(どの名称が正式か知らん)
にも出てこないのか!?と、ようやく気付いたレベルの人間のレスなので、眉唾しながら(若しくはスルー推奨)

VBAでJavaScriptを使うには?という場合は : https://extan.jp/?p=10611 とか
あと、『なお「unique」という自作の関数を使っています』とあるので、それも併せておかないと動作しないかも(きっと)
2023/05/29(月) 16:07:15.09ID:AvjLnKXj
>>655
ありがとう。
少しずつ試してみます。

いろいろ調べて、いまはFlexとbisonという奴でもやってみたくなっています。
2023/06/08(木) 22:05:58.45ID:tPqYzYSn
配布したaccdbを365runtimeで動かしてて、今朝突然レポートが開かなくなった
ほぼ午前中すったもんだして2013runtimeならレポートの印刷やプレビューが問題無い事がわかってruntime差し替えた
こんな目にあったひと他にいない?
2023/06/09(金) 03:25:01.10ID:i6Y59lYy
>>657
はい、います
365で突然、帳票の罫線が消えた事があります
その時はAccessのバージョンを1つ前にロールバックして解決しました

方法は以下のURL参照
■Office - Microsoft コミュニティ
https://answers.microsoft.com/ja-jp/msoffice/forum/all/office/67665e18-c4c7-4c1c-b5d1-3ff6e6cd8334

今だと一つ前はバージョン 2304 (ビルド 16327.20248)ですかね
それでダメならもう一つ前へ
2023/06/09(金) 04:50:51.47ID:uT9lsXlY
ロールバック、覚えときます
ありがとう
2023/06/09(金) 12:36:00.93ID:G8Vh+N8B
それって、MSからバグフィックスや修正が為されたのを察知するにはどうしたらいい?
ロールバックしっ放し? 勝手にアプデされてまだ直らなかったら二つ前にロールバック?
ずっと修正されなかったらロールバックバックバックとかに成らん?
2023/06/09(金) 16:09:51.45ID:XhtkwaOO
>>660
察知は毎月リリースページを確認していました
バグが修正されるまでは Office の自動更新を止めます
なのでロールバックは最初の1回だけです
バグが修正されたら自動更新を有効に戻して最新版にする感じでした

更新は重大バグ修正の時のみ、原則自動更新は使わないという運用もあります
これに関してはお客さん次第ですかね
2023/06/09(金) 16:20:24.73ID:G8Vh+N8B
そうだよね 委託を請けてる業者さん目線だよね
エンドのユーザーはそんなのに目を通さないしね 見てもどれが自分の不具合に当て嵌まるか解かり辛いしね
じゃあ内製のユーザーはロールバックバックバックし続けるしか無いよね
アプデを停め続けるひとも居るかも知らんけど、そうすると1年分とか溜まってそれはそれで地獄を見るしね

やっぱこういう場所で症状とかを意見交換するのは貴重なんだ、と再認識
2023/06/09(金) 17:23:51.20ID:XhtkwaOO
>>662
はい、開発委託業者です
確かにエンドユーザーさんにリリースページは無縁ですよね
一応システム担当者さんにはお知らせしましたけど、こちらで随時チェックという感じでした
また修正されてもリリースページに載らない細かい不具合修正も多いです
レポートの罫線不具合はまさにそれでした

■最新チャネル リリースのリリース ノート - Office release notes | Microsoft Learn
https://learn.microsoft.com/ja-jp/officeupdates/current-channel
2023/06/10(土) 18:20:00.00ID:u0MJNtiG
あと、マクロだと screen.active.control とか出来ないよね
665664
垢版 |
2023/06/10(土) 18:20:16.44ID:u0MJNtiG
誤爆
2023/06/11(日) 17:21:05.93ID:/gnEKRu3
sleep をどんだけにするかどうやって決めるの?
2023/06/13(火) 15:38:15.16ID:bu7CkXDV
VBAで自作のクラスモジュール作成したんですが、
それを引数で渡す関数の書き方がわかりません

Sub test(ByVal hoge As Hoge)

みたいな感じで書いたのですがうまくいきません。
(As Hogeが自動でAs hogeと変換されるし、エラーになります)
どなたか教えていただけませんでしょうか?
2023/06/13(火) 19:34:42.68ID:d6Pomi9y
>>667
引数hogeに引っ張られるVBAの仕様です
VBAでは変数にクラス名を使うのは避けた方が良いですよ
プロジェクト内に変数hogeが存在している時も同様です
2023/06/14(水) 11:24:04.63ID:3Eu4F25u
>>667
VBAでクラスモジュールなんて不要
2023/06/15(木) 16:26:17.40ID:VlP0x+zk
>>669
流石にそれはない。クラスモジュールがある方が便利だよ。
2023/06/15(木) 19:09:52.15ID:y9q9PTdn
bindってのでクラスモジュールの有り難みを知りました
2023/06/15(木) 20:42:35.42ID:RAXKxz4R
俺もクラス使いたい派
保守性が全然違う
2023/06/15(木) 22:46:38.48ID:VlP0x+zk
クラス使わないと同じようなコードが量産されて面倒くさすぎる
2023/06/15(木) 22:47:32.53ID:VlP0x+zk
ただでさえポンコツな言語なんだから、クラスぐらい使おうよ。
2023/06/16(金) 20:25:21.43ID:cjNqE8A3
>>673
そのせいだったのか、クラス使えば良かった
2023/06/21(水) 20:54:02.92ID:b8UND1s3
ADOでCSVからテーブルを作ろうとしたらレコードが大きすぎますって怒られるんですよ!
1レコード2000バイトも無いのにですよ!
400列くらいあるのがダメなんですか?
2013なんですが。
2023/06/21(水) 21:15:42.66ID:gk5UG/Z5
フィールド数の上限は255だからかな
2023/06/23(金) 13:04:47.47ID:pHYUvccd
フィールド数上限は実は罠
2023/06/23(金) 15:26:54.30ID:X84KLwiQ
過去最大のフィールド数は500
テーブル分割して収納した
2023/06/23(金) 15:42:34.83ID:jhieer6M
分割したらフィールド数じゃないな
2023/06/23(金) 16:07:44.83ID:/GlO4XTI
メモ型にコンマ付で格納
2023/06/24(土) 09:17:24.69ID:5hQB8dV1
>>681
それに意味有るの?
2023/06/26(月) 19:43:31.70ID:nvUGoLmX
Access2019でリボン非表示にするのは、どうするの?
2023/06/26(月) 20:17:04.89ID:nvUGoLmX
>>683
細工されないようにXMLで記述したい
2023/06/26(月) 21:25:45.94ID:Ezf4n+79
XML???
VBAでなら
DoCmd.ShowToolbar "Ribbon", acToolbarNo
ってのがあるが
2023/06/27(火) 08:56:44.60ID:5UYjwK7S
それだと使用者に解除されちゃうので、XMLで空のカスタムリボン作って、オプション→現在のデータベース→リボンとツールバーのオプションに設定したいんよ
Access2019だとスクラッチからリボン作ってもファイルボタンが残っちゃうのが解ったので、それで我慢する
2023/09/14(木) 09:18:05.95ID:t/htNvkA
サブフォームをもつフォームにおいて、
親フォーム側から
Me.サブフォーム.Requery
を実行すると、サブフォームのCurrentイベントが2回発生するんだけど、なんでなんだろ?
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況