アプリ版:「スタンプのみでお礼する」機能のリリースについて

同じMdbファイルをAccess2000の入ったPC・Access2010の入ったPC・Access2013の入ったPCで使用する必要があります。
オリジナルはAccess2000で作成したもので、通常であればAccess2010・Access2013でも使用できるはず・・・

しかし、Access2010・Access2013で開くとVBAのコンパイルエラーがでます。
そこで、Access2010でエラーのでたVBAの部分を削除して新たに書き直すとAccess2010では正常に動きます。
しかしながら、Access2000とAccess2013では同じようにエラーがでます。
Access2013で修正した場合はAccess2013でのみ正常に動き、Access2000とAccess2010ではエラーがでます。
つまり、作成したものと同じバージョンのAccessでないと正常に動かないということです。

次にエラーのでる部分に注目してみると、フォームのフィールド名がリンク元のテーブルのフィールド名(レコードソース)と異なっている部分に書いてあるVBAのところでした。


---------------------------------------------------------------------------------------------
テーブル(出荷予定)

ID 入力日 製品名 得意先 出荷日 備考



フォーム(出荷予定入力)

ID 入力日 製品名 得意先 出荷予定日 備考
----------------------------------------------------------------------------------------------

このようにテーブルとそれに入力するためのフォームがあるのですが、フォームの”出荷予定日”に過去日付の場合エラーメッセージが出るようにVBAを書いています。
(厳密には、これはサブフォームで別のフォームに埋め込んであるのですが・・)

----------------------------------------------------------------------------------------------
Private Sub 出荷予定日_AfterUpdate()

If CDate(出荷予定日) < CDate(Format(Now, "yyyy/MM/dd")) Then
'過去日付
If MsgBox("過去日付です。よろしいですか?", vbOKCancel) = vbCancel Then
出荷予定日 = ""
出荷予定日.SetFocus
Exit Sub
End If
End If

End Sub

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

こんな感じです。同様に”入力日”にも同じVBAを書いているのですが、こちらではエラーは起きません。

確認のためフォームのフィールド名、”出荷予定日”をテーブルと同じ”出荷日”に変えてみるとエラーは起きなくなりました。

しかし運用上、フォームのフィールド名は”出荷予定日”としたいです。また、フォームはフォームビューではなくデータシートビューを使用したいです。
従って、フォーム名がそのままフォーム上に表示されることになります。テーブルのフィールド名も他との関係があるので変更はできません。

どのようにVBAを書けばいいのか、解決法をご教授いただけませんでしょうか。
もしくはデーターシートビューにおいて、フォームのフィールド名ではなく任意の名前を表示せせる方法があればフォームのフィールド名をテーブルのフィールド名に合わせることができるので、こちらでも解決できそうなのですが・・

何卒、よろしくお願いいたします。

A 回答 (1件)

> データーシートビューにおいて、フォームのフィールド名ではなく任意の名前を表示



デザインビューで開き、
目的のフィールドのテキストボックスに付属しているラベルの「標題」プロパティに
表示したい名称を設定してください。
    • good
    • 0
この回答へのお礼

ありがとうございます、解決しました。テキストボックスにリンクされたラベルを消さずに残しておけばよかったのですね・・

お礼日時:2016/03/22 20:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す