次の方法で共有

Constで同じ定数が存在していてもエラーを吐かず、Formの機能がエラーになってしまう

Anonymous
2017-08-12T14:25:20+00:00

今まで問題なく動作していたAccess2016 で作成したaccdbファイルに含まれたフォームとVBAですが、なぜかVBAを編集した後にフォームを実行してみると、テキストボックスにエラーが表示されており、そのテキストボックスのプロパティで値を確認してみて再入力すると、エラーが表示され保存できません。

Form上のテキストボックス1のエラー:#Name?

Formのテキストボックス1のプロパティの規定値の設定を編集時のエラー:この関数をコンパイルするときにエラーが発生しました。VBモジュールに構文エラーがあります。コードをチェックし再コンパイルしてください。

テキストボックス1のプロパティの定型入力の設定:>0000/00;0

テキストボックス1のプロパティの既定値の設定:=Format(Date(),"yyyy¥/mm")

テキストボックス1の期待値:2017/08

VBAを編集する前は動いていました。

なお、フォームからVBAへ値を受け取り処理するコードを記述しておりますが、フォームへ値をセットするなど記述しておりません。

そこで、accdbファイルをコピーしてフォームだけは作り直して同様の設定をしましたが上記の通りのエラーでした。

念のためデータベースの修復を実行しましたが解決できませんでした。

また上記以外のエラーとして、ウィザードを使ってボタンコントロールを配置しようとドラッグアンドドロップすると、以下のようなエラーが表示されました。

エラー: クエリ式:AppLoadString([bw_tblBtnActions].[Description]のコンパイルエラーが発生しました。

原因:

以下の同じ定義が存在していたが、エラーもはかず鎮座している。

解決策:

片方をコメントアウトしたらフォームのエラーがなくなった。

Option Compare Database

Const DESTINATION_ROOT As String = "C:\Users\Documents\SystemName\UserName" '<------- テスト用

Const DESTINATION_ROOT As String = "G:\Documents\SystemName\UserName" '< ------本番

問題点:

宣言部分であるためデバッグができない。

Constで同一名が定義されていてもプログラム実行時(コンパイル時)またはプロシジャーからデバッグしないとエラーが表示されない(ASPの時もあったVBの既知の問題)

Formのエラーを簡単には特定できない。メッセージがソースを確認してくださいとあるが、特定しづらい。

Formのエラーが的確でない、またコントロールを配置した時のエラー処理とそのメッセージがおかしいと考える。

VB自体の仕様がそうなっている

補足:

プログラマー以外のITすべてが本職のため、今回のプログラミング対応に苦慮しました。MSDNには記述があるのでしょうかね 検索してもヒットせず。まぁこの場合キーワードとして設定する項目が難しいためヒットできない可能性がありますが。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2017-08-15T07:53:06+00:00

​Charcoal366 さん、こんにちは。

マイクロソフト コミュニティへの投稿、ありがとうございます。

エラーが出て保存できないという症状については、ご自身で原因を特定して対処することができたということでしょうか?

もし、引き続きアドバイスを集める場合は、VBA に関する相談は開発者向けの MSDN フォーラムの VBA 専用フォーラムを利用されると良いと思います。

MSDN フォーラム > Visual Basic for Application(VBA)

また、原因調査の際の問題点などのご意見ありがとうございます。

Office 2016 の製品については Windows 10 の "フィードバック Hub" から開発チームに直接要望などを届けることができるので、フィードバックの送信を行われてはいかがでしょうか。

Windows 10 とフィードバック (1) : Windows 10 は日本の皆さまからのフィードバックを必要としています!

Windows 10 とフィードバック (2) : より多くのフィードバックが反映されるためにお願いしたいこと

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2017-08-15T12:10:01+00:00

    津森さん

    的確な回答ありがとうございます。

    解決しております。

    おそらくこの問題点は開発者の間では知られたVBからの仕様だと思います。

    当方は純粋な開発者ではありませんが、MSDNフォーラムを参考にさせていただきます。

    >Office 2016 の製品については Windows 10 の "フィードバック Hub" から開発チームに直接要望などを届けることができる

    既にできるのですね。それは良かったです。(私のWindows10のフィードバックHUBでフィードバックした内容は見れませんでした。別で聞いてみます。for Macのもみれるといいですが。)

    (別件返答後の、別件返答後の、当件返答投稿)

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません