ほとんどのMS Access開発者は、スペースの使用を厳密に排除するオブジェクト名を強く主張しているようです。私は作成したデータベースが確立され、その後ほとんどすべてのオブジェクト名(テーブル、フォーム、クエリ、コンボボックス、コマンドボタンなど)にスペースがあるまで、このことを学ばなかった。それは、コードを書くときにすべてを取り囲まなければならないことを除いて、私はその使用に関連する問題や挫折を経験していません。私が紛失しているスペースを決して使用してはならないプログラム上の理由がありますか?MS Access 2013のオブジェクト名にスペースを使用しないプログラム上の理由はありますか?
答えて
プログラム上の理由はありませんが、私が紛失しているスペースは使用しないでください。
実際はありません。多くの開発者は、便宜上、そのような名前(Access SQLのreserved wordsという名前)を避けています。新しいデータベースを作成する際には、それを行うのは悪い考えではありません。ただし、データベースがすでに作成され、デプロイされている場合は、オブジェクト名の区切りには、単に[square brackets]
を使用します。
(私の推測では、彼らが大きな頭痛を引き起こす可能性がある場合、あなたがそれらを誤って処理ツールを使用して終了することが起こった場合は、「スペースでの名前」のほとんどのボーカル反対派は数年前にそのような名前のための彼らの嫌悪感を開発していることである。しかし、ほとんどのバグが修正されており、Microsoftの「Northwind」サンプルデータベースでもスペースを含むテーブル名が使用されています)。
ゴード、あなたの洞察力のある返信に感謝します! –
Programmatic。 No.
スペースは間違いなく問題を引き起こし、メンテナンスのコストを増加させる可能性があります。私は長い間、データベースオブジェクト名にスペースを使用しないことをベストプラクティスとして考えてきました。
スペースを使用してメンテナンスのコストを増加させる方法の例を教えてください。 –
MS Access内でプレ・ファブ・アーティファクトを使用しているときは、ほとんど問題はありません。しかし、動的SQLを掘り下げ始めたり、他のシステムをアクセスDBに手渡してやることがあります。問題は、名前にスペースやその他の奇妙な文字が含まれているオブジェクトの周りを切り取る傾向があります。 –
私はスペースを扱うための設備の整っていない他のシステムとのやり取りがどのように問題につながるかを見ることができます。それは良い点です - ありがとう! –
必要に応じて角括弧を使用することについて慎重にしている限り、オブジェクト識別子のスペースに起因する害について考えることはできません。しかし、大括弧が必要です。ヤク! :-) – HansUp
機能的な欠点はあるとは思えませんが、大括弧ではスペースがはっきりと飛び出し、複数の単語のクエリとフィールド名で長いSQL文を検索するので、コードを読みにくくなります。疲れることがあります。新しいコードを書くときにも、実際には余計なステップが必要になります。スペースが必要な場合は、一般にアンダースコアでスワップするので、角かっこはスペースと混同しないようにします。 – MoondogsMaDawg
両方の視点をありがとう!クリストファー、それは確かに理にかなっており、私はより複雑なクエリーを書くときにそれを体験し始めました。 –