• ベストアンサー

アクセスの質問です。

テーブルのテーブルプロパティの入力規則プロパティに ([会社直通TEL] & [会社内線番号]) Is Not Null と入力しました。 & を + に書き換えると、思ったように動きません。 & と + のちがいを教えてください。

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

  • ベストアンサー
  • kurumi77
  • ベストアンサー率37% (9/24)
回答No.2

こんにちは^^ 基本的には、文字列の結合には「&」を使い、 「+」は数値の和を求めるのに使います。 ご質問の場合で「+」にすると、 両方とも文字列が入力されていれば良いのですが、 片方が「Null」のときには「Null」が返されて、エラーになりますね。 ●文字列同士 "AA" & "BB" = AABB "AA" + "BB"= AABB ●文字列とNull "AA" & Null = AA "AA" + Null = Null 文字列の結合には「&」をお使いになるのが良いと思います。

その他の回答 (1)

noname#1296
noname#1296
回答No.1

どちらも文字列の結合ですが、内線番号が数字のみの場合もしかしたら足し算として認識されているのでは? 自分もそういう事がありましたので文字列結合の場合は&しか使いません。

関連するQ&A

  • Access2000、2002でのテーブル作成のプロパティで

    テーブルを作成し、たとえば“氏名を入力する際に空白にしてはいけない”という 設定にしたいのですが、  人に聞いたところ、2通りの返事が返って来ました。 プロパティで、値要求をはいとするというのと、入力規則のところにIs Not Nullとするという2つの返事が返って来ました。 この2つにはどういう違いがあるのでしょうか? また、どっちがいいのでしょうか?

  • Access2003 伝票番号を自動的につけるには

    お世話になっております。 受注テーブルに[伝票番号]があって、番号を自動的につけたいと思っています。 入力用の[受注伝票]フォームがあります。 3月17日最初の入力 2006031701 3月17日の3番目の入力(最初、2番目は入力済み) 2006031703 このように日付+自動的に2桁の番号をつけたいのですが方法がわかりません。 参考になるページがあってこのように書いてみましたがエラーになりました。 [受注伝票]フォームの[伝票番号]テキストボックスプロパティの規定値 =IIf(DMax("伝票番号","受注伝票","伝票番号 Is Not Null") Is Null,CLng(Format$(Now(),"yyyymmdd"))*100+1,IIf(Left(CStr(DMax("伝票番号","受注伝票","伝票番号 Is Not Null")),8)=Format$(Now(),"yyyymmdd"),DMax("伝票番号","受注伝票","伝票番号 Is Not Null")+1,CLng(Format$(Now(),"yyyymmdd"))*100+1)) ご教授いただけると幸いです。よろしくお願いいたします。

  • Accessについて質問

    Accessのテーブルの設定で、プロパティに設定する入力規則とグリットの所にある入力規則はどのように違うのでしょうか? また使い分けはありますでしょうか? よろしくお願いいたします。

  • アクセスのフィルタ nullについて。

    質問です。 アクセスのテーブルの中で、あるフィールド(フィールド名:管理番号)が空白のものだけ抽出したいのです。フィルターで、管理番号箇所に「Is Null」としたのですが、実際空白になっているデータがうまく抽出されません。 で、「Is Not Null」で抽出するとそれらのデータが抽出されます。 そのデータの認識ではnullになってないようです。 (でも実際空白です。) どうやったらnullで抽出されるでしょうか? ちなみにそのフィールドのデータ型はテキスト型です。

  • ACCESS条件により自動に連番付与させるには

    処理月   |処理日 |値 |番号付与 2010/12/01|2010/12/01|Is Not Null|1 2010/12/01|2010/12/01|Is Not Null|1 2010/12/01|2010/12/02|Is Not Null|2 2010/12/01|2010/12/02|Null | 2010/12/01|2010/12/02|Is Not Null|2 2010/12/01|2010/12/01|Is Not Null|1 2010/12/01|2010/12/05|Is Not Null|3 2010/12/01|2010/12/05|Is Not Null|3 2010/12/01|2010/12/05|Null | 2010/12/01|2010/12/10|Is Not Null|4 2010/12/01|2010/12/10|Null |4 2010/12/01|2010/12/10|Is Not Null|4 2011/01/01|2010/01/05|Is Not Null|1 2011/01/01|2010/01/05|Null | 2011/01/01|2010/01/05|Is Not Null|1 2011/01/01|2010/01/05|Is Not Null|1 処理月に対してスタート 処理日にたいして値があれば番号を自動付与 *処理月の値が変更されれば番号は1から自動付与 分かる方願います

  • accessについて

    accessを勉強している者(初心者)です。 郵便番号を入力する際に、デザインビューのフィールドプロパティの定型入力のところで、定型入力ウィザードで、最後に、データの保存方法を聞かれるのですが、「定型入力中の文字を含めて保存」か「~を含めずに保存」があるのですが、この二つの違いはどういうことですか? 定型入力中の文字ってのが郵便番号のハイフンかなと思うのですが、設定を保存して、テーブルで新たなレコード(郵便番号)を入力しても違いがわかりません(両方ともハイフンが出てきます)。

  • Accessではエクセルでのvlookupに近い物はありますか?

    例えば「担当者情報」というテーブルを作成して、フィールド名としてして、「担当者名」「担当者電話番号」「担当者内線番号」というフィールドを作成したとします。 そして別テーブルとして「担当者一覧」というテーブルを作成して、フィールド名として「客先名」「担当者名」担当者電話番号」「担当者内線番号」というフィールドを作成したとします。 その際に「担当者一覧」テーブル上の「担当者」フィールドのレコードとして、「担当者情報」テーブルの「担当者名」フィールドのレコードとして登録されている担当者を入力した場合、連動して「担当者一覧」テーブル上の「担当者電話番号」「担当者内線番号」フィールド上のレコードとして、「担当者情報」テーブルの「担当者電話番号」「担当者内線番号」が表示されるようには出来ますか? アドバイスの程お願い致します。

  • 最新の1行のみを取得する。

    個人テーブル、身長テーブル、体重テーブルという3つのテーブルがあり、それぞれ以下の通りの構造となっています。 CREATE TABLE T個人 (  番号 NUMBER(4,0) NOT NULL,  名前 VARCHAR(20) NOT NULL, ); CREATE TABLE 身長 (  番号 NUMBER(4,0) NOT NULL,  更新 NUMBER(4,0) NOT NULL,  身長 NUMBER(4,0) NOT NULL, ); CREATE TABLE 体重 (  番号 NUMBER(4,0) NOT NULL,  更新 NUMBER(4,0) NOT NULL,  体重 NUMBER(4,0) NOT NULL, ); これら3つのテーブルを用いて以下のようなViewを作りたいのですが… 番号,名前,身長,体重 身長及び体重テーブルに「更新」というフィールドがあり、同じ番号の場合、上書きではなく更新番号を増やしています。 番号,更新,身長 -------------- 0001,0001,0155 0001,0002,0157 0002,0001,0163 0002,0002,0162 最新の情報のみを引っ張るSQL文はどのように記述すれば良いのでしょうか。 番号,名前,身長,体重 ------------------- 0001,NAME,0157,0038 0002,NAME,0162,0044

  • Accessフォームのコントロールソースについて

    こんにちは。お世話になります。 分からないので押していただけると助かります。 Accessのフォームでテキストボックスに表示するデータについて何ですが、 テーブルT1の項目名[住所]が、Nullの時に、[電話番号]を表示する形にしたいのですが、 コントロールソースに =IIF([ID]is null ,[仮ID],[住所] =Nz([ID],[仮ID]) のどちらを入力しても、#エラーになります。 そこで、そのようなことってできるのかどうかを教えていただきたいのです。 また、できたとして、新規入力する時には、T1のテーブルの[ID]欄に入力するようにしたいのですができますか? レコードソース=T1 です。 すみませんがよろしくお願いいたします。

  • 1レコードのデータを複数行に分け通し番号を付ける

    Access2010にて、1レコードのデータを複数行に分け、追番毎に通し番号を付ける方法がわからず困っています。 テーブル1の様に、1レコードにはデータ格納するカラムが4つしかなく、同じ追番でデータが5個以上ある場合は、次のレコードに同じ追番を入力して5個目以降のデータを格納しているテーブルがあります。 テーブル1 追番 カラム1 カラム2 カラム3 カラム4 1 データ1 2 データ1 データ2 データ3 データ4 2 データ5 データ6 データ7 3 データ1 4 データ1 ・ ・ ・ これをテーブル2の様に1レコードにデータ1個づつ格納し、追番毎の番号を振りたいと思います。 テーブル2 追番 番号 データ 1 1 データ1 2 1 データ1 2 2 データ2 2 3 データ3 2 4 データ4 2 5 データ5 2 6 データ6 2 7 データ7 3 1 データ1 4 1 データ1 ・ ・ ・ クエリ1の様なユニオンクエリで近いかたち(テーブル3)にできたのですが、同じ追番で番号が1~4まで埋まったら、5以降の番号を降る方法が分かりません。 クエリ1 SELECT 追番, 1 AS 番号, カラム1 AS データ FROM テーブル1 WHERE カラム1 Is Not Null UNION ALL SELECT 追番, 2 AS 番号, カラム2 AS データ FROM テーブル1 WHERE カラム2 Is Not Null UNION ALL SELECT 追番, 3 AS 番号, カラム3 AS データ FROM テーブル1 WHERE カラム3 Is Not Null UNION ALL SELECT 追番, 4 AS 番号, カラム4 AS データ FROM テーブル1 WHERE カラム4 Is Not Null; テーブル3 追番 番号 データ 1 1 データ1 2 1 データ1 2 1 データ5 2 2 データ2 2 2 データ6 2 3 データ3 2 3 データ7 2 4 データ4 3 1 データ1 4 1 データ1 ・ ・ ・ よろしくお願いします。

専門家に質問してみよう