• ベストアンサー

ACCESS2010 キー項目の末尾に空白は?

Access2010です。 文字列をキー項目としたテーブルを作成しようとしています。 ここで、主キー項目の値として、     "ABCDE□"     (□は半角空白) のように、値の最後に半角の空白を入れることは不可能なのでしょうか。 手入力で半角の空白を入力しても削除されてしまいました。

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

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

ACC2000で実験してみましたが、確かに、テーブルを開いて入力すると、半角スペースはtrimされるようですね。 このようなクエリから入れると普通に入りますし、、、 INSERT INTO table1 ( mainkey, value ) SELECT "123 " AS 式1, "aaa" AS 式2; 下記のようなsqlでもスペースを入れることは可能でしたから、入力制限があって入らないわけではなく、グリッドにはスペースが末尾に入っていたら削除するという機能が付いているだけと思われます。 Dim con As ADODB.Connection Set con = CurrentProject.Connection strsql = "insert into table1 values('1234 ','aaa')" con.Execute strsql ま、やってることは一緒ですけどね。

pollux0375
質問者

お礼

お礼が遅れてしまい、申し訳ありませんでした。 追加クエリーで試してみましたが、この場合はできました。 ただ、手入力だとはじかれるのは困るので、他の文字で代用する 方法に変更しました。(アンダーバーで代用) ありがとうございました。

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

その他の回答 (1)

回答No.2

定型入力: &&&&&& 固定6桁であれば、これでOKです。

pollux0375
質問者

お礼

お礼が遅れてしまい、失礼しました。 なるほど、固定桁の場合は大丈夫なんですね。 今回は可変桁でしたが、とても参考になりました。 ありがとうございました。

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

関連するQ&A

  • COBOL、項目末尾に空白がある場合削除の方法その他

    汎用でCOBOL85で開発しています。 入力Fは固定長、 出力Fは可変長のCSV形式ファイルです。 質問なのは、 値と値の間にカンマを入れる(値がなくても必ず固定数入れる)にはどうすればいいか。 項目の末尾に半角空白が入っていた場合削除するにはどうすればよいか。 項目ごとにMOVE文を書くのではなく、LOOPさせるようにする(項目が多いので) の書き方です。 半角空白は確か、項目の後ろから1バイトずつ数えて値があった時点で編集するというような プログラムを見た記憶があるのですが、詳しい書き方がわかりません。 どなたか少しでもお分かりになりましたら教えてもらえないでしょうか。

  • ACCESSにインデックス(主キー)のあるテーブルを作りたい

    元データがEXCELでそのデータを利用し、 ACCESS内にマスター用(品目マスタ)のテーブルを作り、 1番目の部品コードというフィールドを インデックス/主キー(重複しない)にして 2番目、3番目の項目の値をえられるように しようとしていますが、EXCELからの元データを インポートしようとしても部品コードフィールドが インデックス/主キーに設定できません。 EXCEL内で部品コードが重複しないように削った つもりです。 部品コードが重複していなくても、いけない文字列 があってインデックス/主キーにできないのでしょうか? ※詳細 以下のようなテーブルをつくり、 284-A80と入力したら製品部品名称の「基板」と いう値や製品分類の「LED」という値を得ようと している。 部品コード    製品部品名称   製品分類 284-A80      基板        LED 7841P20      ヨーク       ブザー CL-270-CD     LED         LED HSDL-3201#001   センサー     センサー ……約17000レコードぐらい ただし、部品コードの値がもっとごちゃごちゃして いて、「*」、「スペース」「#」「_」「/」などや カタカナ文字のものも含まれていたりします。 なぜ、上記の部品コードをインデックス/主キーとして 設定をおこなったテーブルとしてインポート できないのですか?

  • accessで複合キーの処理が遅い

    あるマスタデータと明細データがありキーとなる列が2つ(2列)あります マスタデータのテーブルのキー列のA列、B列を主キーとして定義し 明細データのテーブルのキー列のA列は重複ありのインデックス B列も重複ありのインデックスとしてそれぞれ設定しています その2つのキーをクエリで結合して更新する更新クエリを作成しているのですが データ量が多くなってくると非常に反応が遅くなります 同じデータ量で 2つのキー列の値をあるひとつの列に結合した値を格納しその結合列で 更新クエリを作成したところ高速に処理が動作しましたので 複合キーだった場合の処理速度が遅いのだと推測しました (※C列にA列 & B列 の結合した値を格納してC列をキーにするという事です) accessで複合キーの更新クエリを作成する場合、高速に動作させるには なにか工夫が必要なのでしょうか? アドバイス下さい 上記のように複数のキーをひとつの列に結合する工夫で早くはなったのですが・・・ 余分なデータを格納する事になるので非常に容量が大きくなってしまう問題があります

  • Accessから主キーの無いOracleテーブルにVBAで主キー設定付のODBC接続するには

    Oracle7--------------- Access97 Workgroup Server Release 7.3.2.2.1 TABLE_A----------------ODBC接続(リンクテーブル)     項目1 項目2 項目3 項目4 項目1~項目4は 空白レコードがあり 主KEYが張れない ******************************************************************** 主キーの作成出来ないオラクルテーブルがあります。 Access97からODBC接続を作成する時は (1)マニュアルであれば   対象テーブルに主キーが無ければ 任意の10項目を仮の主キーとして設定出来ますが (2)VBA(自動?)で リンク張ると Dim tab01 As TableDef  Dim db01 As Database  Dim strTABname As String strTABname = TABLE名 Set db01 = CurrentDb Set tab01 = db01.CreateTableDef(UserName & "_" & strTABname, dbAttachSavePWD) tab01.SourceTableName = UserName & "." & strTABname tab01.CONNECT = "ODBC;DSN=****;UID=" & UserName & ";PWD=" & Password & ";ConnectString=con;" db01.TableDefs.Append tab01 主キー設定の無いODBC接続が出来て   データの更新などが出来なくなります。 VBAでも仮の主キー設定付きのODBC接続は  出来ないでしょうか?

  • Access、データ入力後、「ECS」キーで文字列消える

    Accessのテーブル等の画面で、データ(文字列)入力後、「ECS」キーを押すと、入力した文字列が消えてしまいます。 漢字変換後でも、半角アルファベットでも、ESCを押すと消えます。 テーブル、クエリー、フォーム、すべて同じ状況です。 WinXP+Access2003、WinXP+Access2000のPCが複数台ありますが、すべて同じ症状がでます。 同じ症状の方、いらっしゃいませんでしょうか。また、解決法があればアドバイスいただけると助かります。

  • ACCESS2000の主キー重複について

    いつもお世話になっています。 早速ですが、お教えください テーブル名:AMaster フィールド名:B があります。 「B」は主キーになっていまして、ユーザーが任意に数字をいれることになります。 主キーになっていますので基本的には重複しないのですがユーザーの押し間違いなどによって重複してしまった場合 [Microsoft][ODBC Microsoft Access Driver] インデックス、主キー、またはリレーションシップで値が重複しているので、テーブルを変更できませんでした。重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。 といったエラーメッセージが出ます。これは出ても構わないのですがツールバーの「戻る」でしか今後の操作ができなくなってしまうので(ユーザーはPC超初心者)何らかの形でエラーメッセージとともに任意のページへ戻れるようにしたいと考えています。 つきましては、「B」フィールドにあるデータとこれから入力される数値が重複していたら・・・という記述をお教えいただきたいと思います。 ASPにて作成していますのでそれに対応した記述ですとありがたいです。 過去のログに似たようなものがありましたがこちらを参照してもボクにはわかりませんでした。 http://okweb.jp/kotaeru.php3?q=357614 ボクも何分初心者なのでわからないことだらけですがよろしくお願いします。

  • access2007 リレーションシップについて

    アクセス初心者です。 テーブルを複数作成しました。 これをリレーションシップをしたいと思うのですが、「主キー」の扱いに悩んでいます。 参考書などは主キーともう1つのテーブルの同じ項目名でかつ主キーでないものを結んでいますが、主キー同志は結んではいけないですか? メインで使うテーブルのIDを支点に、他の複数のテーブルのIDを放射状に結びつけて関連付けたいと考えています。 どのようにして作成していけばできますか? そのようなことができないのでしたら、どのようにしたらできますか?

  • 末尾の全角スペースの削除

    SQL Server 2008環境です。 文字列の末尾の空白を一括して削除したくて、以下のようなクエリを書きました。 UPDATE TEST_TABLE SET NAME = REPLACE(RTRIM(REPLACE(StoreBranchName, ' ', ' ')), ' ', ' ') 全角スペースを一度半角スペースにして、RTRIMをかけた後、最後に 半角スペースを全角に直すというものです。 しかし、これだと、元々半角スペースが入っていた場合、そっちまで全角スペースに なってしまうため悩んでおります。 うまいやり方を教えていただけないでしょうか。 宜しくお願いします。

  • accessでのエラー

    Access2000で作られたものなのですが(知人の会社ですでに辞めた人が作ったもの) ハードを2年位前にXPに入れ替えたためAccess2003で使っていました。 受注Noを主キーにして受注管理票と工程管理票を作っているのですが、昨日まで順調に入力できていたのですが今日になって入力完了し登録しようとすると 「インデックス、主キー、またはリレーションシップで値が重複しているので、テーブルを変更できませんでした。重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。」 とエラー表示され先に進みません。 インデックスや主キー等はいじっていません。 試しに新しくデータを作成し全てインポートしてみたのですが同じ結果でした。 ちなみにデータはコンバートせずに使っていましたが、コンバートしてみても同じでした。 Access2000のCDはどこにあるかわかりませんが2000にしたら治るものなのでしょうか。 仕事に使われているため非常に困っております。 何卒宜しくご教授お願いいたします。

  • Access 「主キーにはnull値を~」のエラー

    こんにちは。閲覧ありがとうございます。 私はAccess初心者です。 勉強と実用をかねて個人用の「家計簿」をWindows7のAccess2010で作成しております。フォームを使用し、費目を記録して、ゆくゆくは集計なども行いたいと考えています。 いくつかの失敗に当たりながらどうにか形はできたのですが 『インデックスまたは主キーには、null値を使用できません。』 というエラーが出てきてしまい、これがどうしても解決できないでいます。 初心者があやふやな言葉を並べるより、現物を見ていただいた方が早いと思うので、以下に私が作成中の「家計簿rev2.accdb」をアップロードしておきました。 http://www1.axfc.net/uploader/so/2884464.zip (稚拙で見難いことこの上ないかもしれませんが、初心者ゆえご容赦ください・・・) 仕様としましては、フォームの「Fmain家計簿DB」に、「レシートNo、購入日、種類ID、費目、値段、個数、店舗ID、その他」と入力して、最後に次のレコードに移れば、レコードが一つ記録されるといった具合(のはず)です。 各テーブルの主キー以外には「空文字列の許可を"はい"」「値要求を"いいえ"」「インデックスを"いいえ"」に設定してあります。 オートナンバー型を使用しているのはテーブルの「Tmain家計簿DB」の主キーのみです。 また、「フィールドとキーが一致しているレコードをテーブルで探すことができません」というエラーが出るのを回避するため、こちらの質問を参考にさせてもらい外部結合の設定をしてあります。 (http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1368686318) そして、フォームに想定通りのデータを入力すると『インデックスまたは主キーには~』のエラーが出てしまいます。 せめてどこにnull値が入っててエラーが出てるのかを表示してくれたらいいのですが・・・ 以上になります。長文お読みいただきありがとうございました。 こんな簡単なdbの作成でお手上げ状態になるとは情けない限りです・・・ どなたか、『インデックスまたは主キーには、null値を使用できません。』の解決策をご教示いただけるとありがたいです。 よろしくお願いいたします。

専門家に質問してみよう