• ベストアンサー

オブジェクト名に【】をつけること

アクセス2003において テーブル名やクエリ名、フィールド名に 【】をつけた場合、(T【支払】テーブルなど) どういう不都合が起こりますか? (vbaでエラーになるなど) これから名前づけをするにおいて参考にさせてください。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

> どういう不都合が起こりますか? > (vbaでエラーになるなど) まさにそれ(=VBAでエラーになる)です。 テーブルやクエリ、及びそのフィールドの名前では特に問題にはならないようですが、 VBAの編集画面(VBE)に「【】」を入力すると、それだけで「不正な文字です」との エラーになります。 (他に、「~」や「|」「¥」(全角)、かぎ括弧(「 」)なども同様のエラーが発生) 例)フォームのデザインビューで、フィールドリストから「【ID】」フィールドをドラッグ&   ドロップして「【ID】」テキストボックスを作成した場合: Private Sub 【ID】_Enter()  '上記テキストボックスの「フォーカス取得時」イベント   MsgBox Me!【ID】  '←この行自体がエラーとなる End Sub 一応、上記のエラーについては「Me![【ID】]」というように「【ID】」を角括弧([ ])で囲む ことで回避が可能ですが、この角括弧は自動では追加されず、コード記述時には 毎回手入力することになるので、かなり煩わしいのではないかと思います。 なお、No.1の回答は、「Windows上のファイル名・フォルダ名」についての話であって、 「Accessのテーブル名やフィールド名」の話ではありません。 ただ、テーブルやクエリなどを「ファイル(F)→エクスポート(E)」でExcelファイルとして 出力する場合などには、ファイル名の初期値にはその名前が使用されます。 このとき、ファイル名に使えない文字があると「_」に置き換えられるため、元の名前と 異なる名前で保存されることになるので、それが気になるようでしたら、それらの字も 避けた方が無難ではあります。

fsjkls
質問者

お礼

いちいち直すのは面倒ですね。 使わないようにします。詳しい説明ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

fsjklsさん 今晩は! >テーブル名やクエリ名、フィールド名に【】をつけた場合(T【支払】>テーブルなど)どういう不都合が起こりますか? >(vbaでエラーになるなど) 特に問題は有りませんが下記の記号は駄目です。 *ファイル名やフォルダ名に使えない半角記号文字(8種類) \ : * ? " < > | (Winndows全般で使用できません) ただ【】は入力が面倒では無いでしょうか? *test data.txt ・・・ あまり良くない例(空白文字を使う) *test_data.txt ・・・ 空白文字のない例 参考■Windows XP ファイル操作↓ http://www016.upp.so-net.ne.jp/masuda2/winxp/winxp09.html

fsjkls
質問者

お礼

有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Accessフィールド名でひらがな、カタカナの区別

    Accessのクエリは、フィールド名のひらがな、カタカナを区別しないのでしょうか? こんなことがありました。 VBAのプログラム(クエリ)側ではフィールド名[ひらがな]を指定している箇所で、実際のフィールド名は[ヒラガナ]であり、異なっていることに気づきました。 しかしエラーを出力せずに動作していました。テーブルを見ると、希望通りにデータは格納されていました。 問題個所のクエリと対象のフィールド名は統一する予定ですが、 この動作がMicrosoftの仕様なのか、たまたま動作しているのか、そんなことは無いのか、 ちょっと気になったので質問させて頂きました。 宜しくお願い致します。

  • 実行時エラー3086 削除クエリができない

    アクセスでvbaでアクションクエリを実行しようとしたら、エラーになりました。 エラー内容は 「指定されたテーブルから削除できませんでした。(エラー 3086)」 です。 コードは mySQL = "DELETE Tフォルダ名.* FROM Tフォルダ名;" DoCmd.RunSQL mySQL です。 今まで問題なく使えていたのにいきなりダメになりました。 テーブル名もフィールド名も存在するし、データも入っています。

  • アクセス クエリのフィールド名が勝手に変わる

    access 2010を使用しています クエリのフィールド名が[元となるクエリ名].[フィールド名]に勝手に変わってました。 このクエリはリンクテーブル(リンクする側)ひとつから作ったクエリをさらに条件で絞り込んだものです。 今はまだデータベースの開発段階で、大元となるリンク先のテーブルのデータを書き換えることも多々あります。 このフィールド名で不都合が生じるのは、このクエリをもとに作ったフォームのラベル名です。 今は手動でこの[元となるクエリ名].を消しているのですが、この原因はなんなのでしょうか? それからリンクテーブルというのはこういう問題がよくおこるのでしょうか? プロパティなどを見ても全く何がおかしいのかわからないので、どなたかご教示お願いいたします。

  • Accessです。テーブルのフィールド名変更

    初心者です。お願いいたします。 仕事で、Accessを使っています。 素人なりにそれらしいものを作って使っていたのですが、困ったことに元ととなるテーブルのフィールド名を変更しなくてはならなくなりました。 そのテーブルに関係するクエリーをたくさん作っている場合、フィールド名を変更することによって関係するクエリーも一つ一つ変更していかなくてはならないのでしょうか? テーブルのフィールド名を変更すると、関係するクエリーのフィールド名も自動的に更新できるという方法はあるのでしょうか? 初心者でスイマセン。よろしくお願いします。

  • ACCESS2013リストから選択してデータの入力

    ACCESS2013で下記のような名前の3つのテーブルがあります。 T会社名、T摘要名テーブルには既にデータが入力されており、 この入力された値を元にT支払にデータを入力することを考えています。 T支払で会社名をA社と入力したら、摘要名はT摘要名テーブルを参照して、A社の摘要名の中からだけリスト選択を行いたいのですが、どのような手順を踏めばよいでしょうか? T会社名(フィールド値に会社名を持つ) T摘要名(フィールド値に会社名と摘要名を持つ) T支払(フィールド値に会社名と摘要名を持つ) 選択クエリを使って、抽出条件を使えばできると聞いたことがありますが、いまいち理解できませんでした。どのテーブルで、あるいはクエリ、フォームを新たに作って、どのような操作を行うのか具体的に教えていただきたいです。よろしくお願いします。

  • フィールド数の多すぎる・フィールド数が一定でないテーブルのデータ結合の仕方?

    私は、accessについてあまり詳しくないものなのですが、仕事上50近くあるデータを一つにまとめたいんです。 データは2つありまして、 1.それぞれのテーブルが微妙にフィールド数が異なる場合の結合  例)・Aのテーブルのフィールド名     名前 クラス名 出身県 出身コード 血液型 性別        ・Bのテーブルのフィールド名    名前 出身県 血液型 性別    ・Cのテーブルのフィールド名    名前 クラス名 出身コード 血液型    ⇒このように微妙に異なる。しかもレコード数がかなり多いのです。これは、ユニオンクエリは使えないですよね?何かいい方法はないでしょうか? 2.テーブルの構造は同じなのですが、フィールド数が多くてユニオンクエリを使おうとすると、『フィールド数が多すぎる』とエラーメッセージがでてしまう。この場合の対処方法でいいのはないでしょうか? なにぶん、私はaccessをあまり使わないのでわかりにくい質問だと思いますが、どなたかすみませんが教えてください。お願いします。

  • DLookup Excel→Access

    エクセルVBAからアクセスのデータベースへ接続し テーブルの値を取得したいのですが エクセルVBAで mystr = DLookup("[フィールド]", "Tテーブル", "[名前] = '検索文字'") と言うコードでアクセスのデータを取得することはできませすか? テーブル名とフィールド名は指定できたのですが ファイル名の指定はどうすればいいのでしょうか? オフィス2010です。

  • Accessでテーブル名やクエリ名一覧の抜き出し

    Accessでテーブルやクエリを沢山(100個以上?)使っております。 そこで、テーブル名やクエリ名の管理をしたいので、テーブル名(クエリ名)の一覧を抜き出したいのですが、どうすればいいのでしょうか? または、そういうことは無理なのでしょうか??(;O;) 1個づつコピーペーストでテールブル名をエクセルに貼り付けて行こうかな?と思ったのですが、さすがに数が多すぎるので困っております。 できるだけ簡単な方法がいいのですが、もしなければVBAでもいいです。 おわかりの方がいらっしゃいましたら、よろしくお願いします。

  • アクセスのクエリーについて

     アクセスのテーブルでオートナンバー型の設定がありますが、クエリーでそれに変わるような機能はあるでしょうか。クエリーである事柄を抽出した場合でも、フィールドに連番を付したいのです。  アクセス初心者です。VBAとかは使わないでできますか?

  • MS accessで2つのテーブルを比較したい

    数々この質問は出ているのですが、『不一致クエリウィザード』でやっても上手くいかないので、こちらで質問させていただくことにしました。 比較したいデータは、フィールドの名前が異なる2つのテーブルがあって、その比較したいフィールド数は120になります。 同一フィールドは「FID」「laa」というフィールドです。 一応自分で『不一致クエリウィザード』でやってみた手順としては以下の通りになります。 1.『不一致クエリウィザード』をクリック 2.どちらかのテーブルを選択(レコード抽出テーブルや比較するテーブルなど) 3.関連付けフィールドは、2つのテーブルで同じものを選択  (「FID」「laa」を選択) 4.結果を表示するフィールドを選択(120個全部) 5.「クエリのデザインを編集する」の方にチェックを入れて「完了」 6.クエリのデザインになったら、それぞれの名前は違うけど対応するフィールド同士をつなぐ 7.結合プロパティで2番ないし3番を選択 8.それを全部のフィールドにした   ↓ すると「クエリが複雑すぎます」とエラーメッセージが出てしまった。 一体どうすればよいのでしょうか? なにぶん初心者ですので、よろしくお願いします。 ※もしかして、フィールド名が異なっているのはダメなのでしょうか?

専門家に質問してみよう