• 締切済み

ACCESS2010 クエリの条件で、空白を含む所

お世話になります。 ACCESS2010 OS:Windows7 ACCESS2010のクエリを使って、下記のような事ができないか をご指導頂けますでしょうか 製品名の中に空白があって、そこまでのデータだけ抽出したいのです。 製品名:名前 + 空白 + カテゴリ + 空白 + バージョン  上記のような仕様で製品名が決められております。 そこで、最初の空白までのデータだけを出力したいのです。 どのような関数を使って表現が可能になりますでしょうか お忙しいとは思いますが宜しくお願い致します。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

Split 関数はクエリ中では使えませんが 標準モジュールでユーザー関数を作成されたのでしょうかね? >製品名:名前 + 空白 + カテゴリ + 空白 + バージョン  が必ず保障されるなら クエリで 最初の名前:Left(製品名,InStr(1,製品名," ",1)-1) とすれば求められます。 Instr関数のヘルプを見てもらえば分かりますが 文字列の比較に vbTextCompare (1)を指定してますので スペースが半角・全角混在でも大丈夫です。

全文を見る
すると、全ての回答が全文表示されます。
  • masatsan
  • ベストアンサー率15% (179/1159)
回答No.1

variant a=split( 文字列, " " ) a(0)に入っている。

takatada72
質問者

お礼

お世話になります。 早速、ありがとうございました。 下記のように設定してみました。 結果、製品名が同じように表示されてしまいます。 私の認識が間違えているのでしょうか Dim a As Variant a = Split([製品名], " ") MsgBox a(0)

takatada72
質問者

補足

私の勘違いでした。 >a = Split([製品名], " ") こちらのスペースを全角/半角で異なる事が分かりました。 全角にしましたらできました。 ありがとうございました。

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

関連するQ&A

  • アクセス クエリ-で空白以外の抽出方法について

    クエリ-で 有る 列 の空白以外を抽出 したいのですが 抽出条件にどのように 関数を記入すればいいのですか? ご指導願います

  • Access フォームコンボボックス空白をクエリで抽出したい

    現在access2000を使って、 フォーム1内にコンボボックスを作って コンボボックス内に1,2,3 と項目を入れています。 一方、クエリを使って、上記フォーム内のコンボボックスをつなげて1,2,3をそれぞれ抽出することはできるのですが、 1から3まで全てをiif関数などで 抽出したいと考えてします。 僕が考えた関数は iif(isnull([フォーム1][コンボ1]),is not null ,[フォーム1][コンボ1]) とクエリ抽出条件内に入力すると、結果は、 1、2、3をそれぞれフォームコンボボックスで選択すれば、クエリに反映されるのですが、コンボボックス内を「空白」の状態にすると、1,2,3すべてがクエリで抽出されるのではなく、何も抽出されないという結果になってしまいます。 どうすれば、クエリで1から3すべてを抽出することができるのでしょうか?多分、iif関数内の「空白」は空白として処理されないような気がします。 よろしくお願いします。

  • Accessのパラメータークエリについて教えてください。

    よろしくお願いします。 Accessのパラメータークエリについて教えていただきたいのですが、 例えば、商品名 と 担当者 と言うフィールドがあって、クエリを使用し[商品名を入力してください。][担当者を入力してください。]というパラメータクエリを作成しました。 そして、商品名のダイアログが出てきたときに「鉛筆」 担当者のダイアログが出てきたときに「遠藤」と入力すると思い通り物ものが出来るのですが、同じパラメータクエリを使用して、「遠藤」だけを抽出しようと思うと何も抽出されません。(たぶん「遠藤」と「空白」の抽出になっているのだと思うのですが・・・) ひつのクエリを使用して、2つでの条件と1つだけの条件で抽出することは出来ないでしょうか?よろしくお願いします。 Accessは2000or2002です。

  • クエリの条件にての"*"の使い方

    いつもお世話になっております。 Access2000にてクエリの抽出条件で悩んでいます。フォームにて入力があったときはそれで抽出・入力が無かった時は全て抽出したいと思い Like forms![フォーム名]![コントロール名]&"*" をクエリの抽出条件にセットしました。入力があったときはOKなのですが、入力が無かった時はテーブルにデータがあるレコードのみを抽出してしまいます。データが入ってないレコードも抽出したいのですがどのように記述すればいいのでしょうか? 宜しくお願い致します。

  • accessで空白の時の抽出

    access2000を使っています。まだ初心者なので難しい事はできないのですが、クエリを使って絞り込み検索のフォームを作っています。 テーブル内のデータで空白のデータがあります。その際にクエリの抽出条件にlike iif(is null([forms]![formA]![テキスト100]),"*","*"&[forms]![formA]![テキスト100]&"*")としています。フォームのテキストが空白のときは全て抽出するという条件を満たす予定で設定したのですが、テーブル内のデータが空白の物が抽出できません。データが空白がない様にすればいいのでしょうが、クエリの条件で設定できないものでしょうか?データはテキスト型です。

  • アクセス クエリ の質問です

    いつも大変お世話になります。 アクセスクエリの質問ですが、テーブルデータより予定数が通常クエリで紐付いていて、もともとこの予定数はデータとして例えば90が入力されていて、普通に抽出すれば当然90が抽出できるのですが、クエリを実行すると、ダイアログなどで、手動で200と入力すると、200がクエリで出力させたいのですが・・・ 非常に、分りにくいかもしれませんが、アドバイスお待ちしております。

  • アクセスのクエリで空白を0として計算したい

    アクセスのクエリで1・2列目に数値データを入れておき、3列目で合計を表示させたいのですが、1・2列目に空白セルがある場合には0(ゼロ)として計算したいのです。(データが空白だと、3列目も空白になってしまいます。) 1列目 2列目 3列目(合計)  3   2   5 (空白)  2  (空白) ←これを2と表示したい! (空白) (空白) (空白) ←これを0と表示したい! わかりにくい文章ですみませんが、教えてください。

  • アクセスのクエリでの抽出条件

    アクセスのクエリでの抽出条件で フィールド1とフィールド2とフィールド3 にデータがなければ1とフラグを立てるようにしたいのですが うまくいきません。 IIf([フィールド1]=Null and [フィールド2]=Null and [フィールド3]=Null,1,0) としてみたのですがうまくいきません。 ご指導お願い致します。

  • Access 抽出クエリーについての条件

    先の投稿に重複しますが、 それぞれ異なるテーブルについて、 クエリーで、、 Between #5:00# And #19:00# Between 500 And 1900 上記の方法等で同じ数値ではなく、 期間に幅をもたせて一致としそれぞれの 一致データを抽出するクエリーは つくれますか? もちろん抽出対象のテーブル、列はそれぞれ同じ書式です。 > between関数を使って、 フィールドのデータ型が日付/時刻型の場合 抽出条件欄に、 > 5:00から19:00を抽出したい、 Between #5:00# And #19:00# > 5:00から25:00を抽出したい、 Between #5:00# And #23:59# OR Between #0:00# And #1:00# Access の日付/時刻型では、25:00 というような表現はできないので、上記のように分割することになります。 > また上記がテキストだった場合も、 > 500から1900を抽出したい フィールドがテキスト型の場合、テキスト比較になり数値比較とは異なる抽出結果になるので、 フィールドに Val([テキスト型フィールド]) と式を設定して数値型に変換します。このの抽出条件に、 Between 500 And 1900 と設定します。 通報する

  • Access97のクエリーについて

    Access97のクエリーで次のようなデータ抽出をしたいのですが、設定方法が良く分かりません。 1.約20000レコードのCSVファイルを外部データ   のインポートでTDLを作成。 2.重複クエリーを走行すると、約10000レコードが   重複していた。 3.作成したTBLから重複者がいないデータを抽出した   い。 イメージ: 処理前  a,2222,111,1,1234567  a,1111,100,1,0001234  b,0001,234,1,5555511  c,0003,001,1,0005555  c,0005,201,1,3345678  ↓(クエリー) 処理後  a,1111,100,1,0001234  b,0001,234,1,5555511  c,0003,001,1,0005555 どのような、関数、クエリーを使えば実現できるのでしょ うか。ご教示の程よろしくお願いします。

このQ&Aのポイント
  • メールを印刷する際に用紙がハガキに設定されており、A4用紙に変更する方法がわからない場合の解決方法をご紹介します。
  • パソコンやスマートフォンのOSがiPadで、接続方法がbluetoothの場合、メールをA4用紙で印刷する方法を解説します。
  • 質問はブラザー製品に関するものであり、メール印刷時の用紙設定変更方法についてお知りになりたいということです。
回答を見る

専門家に質問してみよう