• ベストアンサー

Access2010 テキスト型をスペース埋めずに

uamsの回答

  • uams
  • ベストアンサー率63% (100/157)
回答No.1

はじめまして。 文字列には可変長と固定長というものがあります。どのようにINSERT文を書いているのかわかりませんが、固定長の文字列変数にスペースを付けてからSQL文を実行すればよいかと思います。Accessの仕様は確認していませんので、SQL文を組み立てる際の参考にしてください。 ちなみに、データベース設計の観点からすると「スペース埋め」はオススメしません。スペースも立派な文字ですのでデータベースの領域を使用します。そのため、件数が増えるにつれて無駄にデータベースサイズが大きくなります。 スペース埋めをする目的が印刷や画面表示のためであれば、そのタイミングでスペースを埋めて表示する方が無駄がありません。何より仕様変更(印刷や画面のレイアウト変更など)に強くなります。データベースはデータの保管場所と割り切って、アウトプットするときに調整する方がスマートです。

fxgame1224
質問者

お礼

返信が大変遅くなり申し訳ありません。 私もスペースを埋めずに登録したいです。。。 Unicode圧縮を「いいえ」にすることで解決できました。

関連するQ&A

  • エクセル→アクセスのコピペで切り捨てられてしまう

    アクセス初心者です。アクセスのバージョンはoffice365です。 アクセスのテーブルをエクセルにコピペして加工し、加工したものを再度アクセスのテーブルに貼り付けるという処理をしています。 あるフィールドが、アクセス→エクセルはうまくいきますが、エクセル→アクセスで255文字でデータが切り捨てられてしまいます。 フィールドのデータ型は「長いテキスト」ですので、検索したところ、64,000 文字までは入るようです。 もともとアクセスで入力をしていて、そのフィールドには255文字以上のデータも入っています。 エクセルへのコピペはうまくいくのに、なぜアクセスに戻す時に切り捨てられてしまうのでしょうか? どうすれば解決できますか?

  • ACCESSプロジェクトで追加

    AccessプロジェクトのSQL文を試しています。 次の内容を実行した時、 TEST02 のテーブルの 読込データ に AA という文字を入力しようとしています。 begin insert into TEST02 (読込データ), VALUES ('AA') end 保存しようとした時、ADOエラー:行~:","の近くに 無効な構文があります。 というメッセージが出てきます。 何がおかしいのでしょうか?

  • カラムの末尾にスペースが入る

    VBAで固定長のファイルをテーブルに取り込みCSVファイルとしてカンマ区切りで書き出すというプログラムを作っています。 1111,55___,77____,5_____,77__,555____,999__      _はスペースのことだと思って下さい。 などといった感じのファイルを取り込むのですが、スペースを削除するためにTrimで切ってテーブルに取り込んでいるのですが、取り込むと必ずいくつかの決まったカラムに半角スペース6個分のスペースが入ってしまいます。 カラムの文字制限10で入力文字が2などなら、6個分のスペースが入り、 入力文字が7ならスペースは3つ入り、入力文字が10ならスペースは入らないという現象が起きています。 Trimで切っているのですから、入力文字が何文字であろうとスペースは入らないはずなのですが、決まったカラムにだけこの現象が起きています。 デバッグで見てみたところ、データを取得しているところでは、きちんとTrimで切られている形で取得することが出来ているのですが、テーブルの中を見ると半角スペースが上の規則で入っているというのが現在の現象です。 なぜこのようなことが起きるのか・・どなたか解決策が分かる方はいらっしゃいますでしょうか。お願いします。

  • ADOでデータを送ってる最中はアクセスで検索やテー

    読み取り専用のエクセルファイルで エクセルのvbaでADOでエクセルデータをアクセスに転記してる時に アクセスでフィルタをかけてるとフリーズします。 ADOでデータを送ってる最中は アクセスで検索やテーブルへのアクセスはできないのでしょうか?

  • アクセスで設計をするにおいては

    アクセスで設計をするにおいてはADOの知識は必須でしょうか? accessvbaの知識は多少ありますがADOはよくわかりません。 それでもアクセスで個人データを管理するデータベースの作成は可能でしょうか? 入力用フォームを作り、データを入力したり 検索用フォームを作ってデータを検索したいです。 VBAやアクションクエリだけでこなせますか? アドバイスよろしくお願いします。

  • アクセスで困っています。

    アクセスでデーターベースを作成しているのですが、 エクセルからADOを使いテーブルにデータを入力し、フォームでデータ内容についての情報を見れるようになっています。 しかし、フォーム上でテーブルに連結してある情報の変更ができないのですが、どのように設定すれば、フォーム上でテーブルの情報を書き換えることができるのでしょうか? プロパティのデータ入力用は、「はい」でも「いいえ」どちらでやってもだめです。 テーブル ↓ フォーム (ここでデータを入力し、テーブル内容の変更をしたい。) よろしくお願いします。

  • アクセスのVBAでのデータの編集

    アクセスでツールを作っています。 フォームに入力されたデータをテーブルにインサートしたいのですが。 入力されたデータを変数に持たせる方法や テーブルにインサートする方法がわかりません。 勉強しながら作っているので わかりやすいように教えていただけたら幸いです。

  • accessでcommitができますか?

    accessで複数のテーブルから1つのテーブルに書き込みをしています。VBAでSQL文を作成しDoCmd.RunSQLでinsertを実行しています。データが多いと遅くなるようです。Commitとか実行できるのでしょうか?そうすれば早くなりますか?ご指導のほどお願いいたします。

  • Excel VBA からの Access 呼び出しでの挙動不審

    ADO を使って、Excel VBA から Access のテーブルを検索しようとしています。 Excel, Access 共に 2000 です。 変数の説明:  myConn は、ADODB.Connection。  mySQL は、 String。 コード: mySQL = "INSERT INTO T1 (ID) SELECT ID FROM T2 WHERE Name like '*日本*'" myConn.Execute mySQL というコードで、テーブルT1 へテーブルT2 の ID フィールドのデータを転送しようとしています。検索条件として、テーブルT2 の Name フィールドを指定しています。  T2 のデータはきちんと入っており、実際この mySQL の文字列をそのまま Access のクエリに Copy & Paste して実行すると、うまく動きます。  具体的には、SELECT 以後をクエリに Copy & Paste してデータ表示すると、Name に「日本」を含むデータが表示されました。  しかし、Excel VBA のプログラムからでは、何もヒットしない結果となります。  Access クエリでの書式と、Excel VBA からコールするときの書式とは違うのでしょうか。  よろしくお願いします。

  • ACCESSからSQLServerのデータを取得したい

    SQLServerが利用できない環境にデータを持っていくため、以下のようなシステムを考えております。(テーブルのリンクは不可・手動でのデータのエクスポートは不可) 1.ACCESSのフォームに「データベース名」「テーブル名」を入力し、実行ボタン押下 2.ADOでSQLServerに接続 3.指定のテーブルと同じ構造のテーブルをACCESSに作成 4.SQLServerのデータをACCESSにINSERT ここで質問なのですが、ACCESSは自分のデータベースとSQLServerのデータベースに同時に接続できますか? 同時接続した場合のACCESS/SQLServerの書き分けはどのようになるのでしょうか。