• ベストアンサー

Accessのフォームについて

Access2000を使用しています。 フォーム/デザインビューで「プロパティ」からテキストボックスの名前を変更したのですが、 それがデータシートビューのカラム名に反映されません。 テキストボックスを何度もコピペしたり、「ラベル」が邪魔で削除したりしたのですが、 これがいけなかったのでしょうか? 既にかなりのデータを入力してしまった(気付くのが遅かった)ので、 出来ればフォームの作り直しは避けたいのです。 効率的な解決方法を教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

>フォームは「単票形式」です。最適化もしてみたのですがダメでした。 最適化してもゴミを除くだけなのでフォーム等には影響ありません。 単票形式のフォームをデータシートで表示した場合ということなら デザインビューでフォームを開きラベル自体のプロパティで表題を変更すればコントロールと関連付けられているラベルならシートビューで表示した際に変更が反映されデータシートのカラム名として扱われます。 コントロールに関連付けされているラベルがある場合はコントロールの名前を変更してもカラム名には反映されません。コントロールの名前を変更してカラム名に反映されるのは関連付けされたラベルが無い場合にコントロールの名前が反映されます。 試しに各コントロールのラベルを全て削除した状態でフォームを表示すればコントロールの名前で設定されている名前にカラム名がなります。Undoボタンで元に戻せますので試してみてはどうですか。

meu350
質問者

補足

> コントロールの名前を変更してカラム名に反映されるのは関連付けされたラベルが無い場合に コントロールの名前が反映されます。  各コントロールのラベルを全て削除した状態で・・・。 全ラベルを外したところ、ラベルが付いていたものだけは、カラム名がコントロール名で管理できるようになりました。 ところが、既にラベルを外していたものについては、コントロールの名前を変更してもカラム名は最初にコピペした時ラベルのままです。 結局、カラム名が変更可能になったコントロールを利用して作り直す方が手っ取り早そうですね。

その他の回答 (3)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

>全ラベルを外したところラベルが付いていたものだけはカラム名がコントロール名で管理できるようになりました。ところが既にラベルを外していたものについてはコントロールの名前を変更してもカラム名は最初にコピペした時ラベルのままです。 これが分からないですね。コピーしたコントロールも関連付けられたラベルを削除すればコントロール名になるはずなんですが。 名前が変更できないコントロールのラベルが他のコントロールの下に隠れてるとかはないですか。 コントロールか何かのイベントで式ビルダを開くとフォーム内に存在するラベルやコントロールの名前がフィールドリストとして表示されるのでそこで確認してみてください。 そこにも無ければエラーチェック機能を使って新しいラベルを配置して変更できないコントロールに関連付けてラベル名を変えてみてください。 それでも変わらなければ新たにフォームのデザインビューのフィールドリストを使って新たにコントロールを配置するくらいしかないと思うのですが。

meu350
質問者

補足

> 名前が変更できないコントロールのラベルが他のコントロールの下に隠れてるとかはないですか。 ソレが一番可能性高いですね。ただ、式ビルダを見る限りでは余計なラベルがなかったので益々不気味です。 デザインビューなら不可視とか関係ない筈なのに・・・。 あと、残念ながらエラーチェック機能はAccess2000には付いていないようです。 やはり一部作り直すのが一番良いようです。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>データシートビューで見ている時のカラム名(フィールド名)は、テーブルのフィールド名が表示されているので、テーブルそのものを変更しない限りは、フィールド名は変りません と#1の方が回答してありますがテーブルのフィールド名を変更しなくても変更できます。 フォーム上で表示されるのはあくまでもフォーム上でだけのことなので。 >データシートビューのカラム名に反映されません 反映させるには詳細にあるコントロールのプロパティの名前を変更すればデータシートビューのカラム名に反映出来るのですが。 >ラベルを取り払ってしまった状態 データシートビューではフォームヘッダーは表示されないのでラベルが無くても問題はないと思います。 データシートでカラム名として表示されるのはコントロールの名前です。 >テキストボックスのコピペを繰り返したため同じ名称のものが幾つも出来てしまったので という事は同じ名称のコントロールが幾つもあるという事ですよね。そのコントロールを単純に削除すれば表示されなくなりませんか。 または配置されているコントロールの名前とコントロールソースの確認を順にしていくしかないと思うのですが。 帳票フォームでのことではないですよね。

meu350
質問者

補足

>反映させるには詳細にあるコントロールのプロパティの名前を変更すれば データシートビューのカラム名に反映出来るのですが。 …同じ名称のコントロールが幾つもあるという事ですよね。 現在、データシートビューのカラム名はそのような状況になっています。 ところが、デザインビューでコントロール(テキストボックス)の名前を変更しても それがカラムに反映されないんです。 コントロールの名前変更も出来ない状態ならまだ納得できるのですが・・・。 >配置されているコントロールの名前とコントロールソースの確認を順にしていくしかないと思うのですが。 一応、入力順に揃えていますが、やはり見難いですね。 Ecxelにコピペするときもカラム名が同じ状態になってしまうので何とかしたいのです。 ちなみにフォームは「単票形式」です。最適化もしてみたのですがダメでした。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

フォームのテキストボックスの名前は、フォーム上の見た目には一切影響しません。見えるのはプロパティの中だけで、そこ以外で「名前」が表面に出て来る事はありません。 「フォーム上の見た目」でカラム名を変えたい場合は、そのカラム名を表示しているラベルのテキストを変えなくてはなりません。テキストボックスに並んでラベルがあった筈なので、良く見てみて下さい。 因みに、テーブルをデータシートビューで見ている時のカラム名(フィールド名)は、テーブルのフィールド名が表示されているので、テーブルそのものを変更しない限りは、フィールド名は変りません(テーブルのフィールド名を変更すると、あっちこっちのクエリが動かなくなったり、色んなフォームが動かなくなったり、VBやマクロでエラーが起きたりするので、テーブルのフィールド名を後から変更すると、とんでもなく大変な目に遭います。mdbファイルを隅から隅まで完璧に見直しする根性があれば別ですが) 質問者さんは、テーブルをデータシートビューで見ているのと、フォームを見ているのと、何が何だかゴッチャになっているような気がします。もう少し整理して考えてみましょう。

meu350
質問者

補足

早々のご回答、有難うございます。 問題にしているのは「テーブル」のフィールド名ではなく、 「フォーム」をデータシートビューで閲覧したときのカラムというかセルの名称です。 chie65536さんのお話だと、原則ラベルが反映されるようですね。ココの表記を変更したいのです。 実はラベルを取り払ってしまった状態でテキストボックスのコピペを繰り返したため、 同じ名称のものが幾つも出来てしまったのでコレを変更したいのです。