にして...続きを読む, Access2000を使用しており、クエリを作成しています。   IIf(0<[X]<=50,"A","") Or IIf(50<[X]<=100,"B","") Or IIf(100<[X]<=150,"C","")  (つまり、抽出用の新しいフィールドを作成するということです。)   検索する文字列テーブル(名前:TS)  (Trueの囲い文字はいりません。) ご質問の式では、IIF関数は常に第3引数に指定された値「""」を返す IIf(([試験番号]="空白の場合何を入れる?"),[試験番号],"欠席"), もうひとつの書き方は   関数を加えるのでは無く、関数だけ(演算フィールドのみ)のクエリを作成をして実行させます 今後も条件が増えていく予定なので、別の とすると話は簡単で、 OR 検索キーワード履歴 IS NOT NULL 式の要素で「[X]<=0」が「真(=-1)」とならなかった時点で、「[X]>0」が保証 回答            対応時間 式1: IIf([試験番号] Is Not Null,[試験番号],"欠席") もし、方法があればお教えください。よろしくお願いします。, <ACCESS>別テーブルのレコードのテキストデータが中に含まれるレコードを抽出する方法を教えてください, ACCESSの超初心者です。 (2)式は [FN] & "*"); ということは、その「選択クエリー」(まぁ、普通のクエリーですね)をご自分で作られたわけですよね。 2つの要素からなる形にする必要があります。   としましたが、実行すると、Yの列がすべて「-1」と表記されてしまいます。 岐阜      鈴木      33 10 Accessクエリでの複数の抽出条件設定 関連するカテゴリからQ&Aを探す . この条件は、抽出したいフィールドの「抽出条件」の所に入力しているんですよね? かなり手作り感があふれていて…(^^;)汗汗 選択クエリの作成; 選択クエリの実行; フィルターを使用する場合; 特定の文字を含むデータを抽出する(部分一致) 抽出手順. フィールド1  フィールド2  フィールド3 検索対象の文字列をテーブルで扱うのであれば以下のような感じになるでしょうか。 (例) これは、表示をオンにして動作確認すると分かりやすいかも知れませんね。 例えばこんな感じです。 式: Switch([X]<=0, "", [X]<=50, "A", [X]<=100, "B", [X]<=150, "C", True, "") 対応時間:CLng(Mid([回答],1,3))   50<[X]<=100  であれば B  ピボットで見ても、重複は4件しかありません。 SQLを用いる方法でも構いませんので教えてください。, SELECT * FROM テーブル1 SELECT T1.FN →抽出結果 aaa1,aaa33,bba35,bba115 どっちが正しいのでしょうか? 検索する文字列テーブルに細工(曖昧方向を追加) この文字列を数値に変換する関数、又は方法などお教えくださいませ。 テーブルから[回答]というフィールドをひっぱってきています。 曖昧方向の意味 [コンボ値]="ALL",Like "*",[Forms]![テーブル名]! IIFというのは、ExcelのIF関数とはちょっとイメージが違います。   bbb52 32個のキーワードを含むものを抽出したいです。 32個のキーワードを含むものを抽出したいです。 でふやせます   aaa 助っ人お願い致しますm(__)m, アクセス初心者です。(2003です) この3つのクエリ結果を   bba SELECT T1.FN (カーソルをあてて) 愛知      田中      12 http://oshiete.goo.ne.jp/qa/4850675.html, a)IIF関数で対応する場合: 選択クエリの作成; 選択クエリの実行; フィルターを使用する場合; 特定の文字を含むデータを抽出する(後� この結果、式全体としては「"" Or "" Or ""」という形となり、「0かNull」 9個ずつバラバラにクエリを作ってみました。 検索する文字列テーブル(名前:TS) … b)別の組込関数を使用する場合: 使用ソフト: Microsoft Access2003 というふうに条件を並べています。 先頭や最後など決まりはなく、バラバラです。  (詳しくは、Accessのヘルプを参照下さい) SELECT * FROM テーブル1 挿入 =================================   bba35 (「0<[X]<=50」の次が「80<[X]<120」などのように、「50~80」が欠けた 但し、今回のご質問のような『連続した範囲』であれば、前(左)で既出となる 対応時間:Mid([回答],1,3) [SP],"*","*","")); 検索対象の文字列をテーブルで扱うのであれば以下のような感じになるでしょうか。 Excel(エクセル) Word(ワード) PowerPoint(パワーポイント) Access(アクセス) その他(Microsoft Office) 専門家回答数ランキング. クエリの抽出条件の欄が9個しかないので、 *02S*  フィールド(名前:FN)/ 曖昧方向(名前:SP) 第2、第3引数の、質問の順序にあわせるとこうなる。, OS:WindowsXP SP3 選択クエリにて、別テーブルのフィールドにある値すべてを抽出条件にできますか? チーム内に誰もいないので困っております。 IIf([Forms]![テーブル名]! [FN] & "*"); なお、数学あるいは一般生活では確かに「0<[X]<=50」という表記をしますが、 三重      山本      23 良い方法がないかと思っています。 愛知      田中      12  (詳しくは、Accessのヘルプを参照下さい) WHERE 検索キーワード履歴 NOT IN (SELECT 除外キーワード候補 FROM テーブル2 ) (対応時間を数値で扱えるようにしたい、ということです), 対応時間が、整数(-32,768 ~ 32,767)であれば、   bba            1 いつもExcelを使用している感覚だったので、文字の左から7桁の数値や文字列を抽出して表示してくれるものと思っていました。 (2)式は   bba この条件は、抽出したいフィールドの「抽出条件」の所に入力しているんですよね? *02S* *05F*   bba35 ことになります。  使用できる、似た機能の関数に、Switch関数というものもあります。 [コンボボックス名]="ALL",・・・・)という式で、 ↓ 商品コードのテーブルから、   0<[X]<=50   であれば A  わがままで、すみません。, >クエリではじき出した 各々、選択したときに保存対象とするテーブル名を訊いてきますので(1)なら既存のテーブル名、(2)なら新規に作成したいテーブル名を入力します。 わたしはあいまい検索には   bba115 WHERE ((T1.FN) Like [TS]. また、長整数(-2,147,483,648~2,147,483,647)であれば、 ... 行 (偽の場合は選択した値のレコードが抽出されます)   aaa            1 全件分のデータが帰って来ないという事は作成しているクエリに問題ありの可能性高いです 別にテーブルを作り、その一覧内の文字が つまり、この評価式自体がTrueとFalseを持つということです。 下の例はフィールドに試験番号があればその番号を、空白なら”欠席”と表示しようとしています。 IDが8桁で入力されているのですが、左から7桁だけを抜き出して、全てのレコードを表示させたかったのですが、誤って入力されている7桁のIDしか表示されませんでした。 どうでしょう?ちゃんと出ますよね・・・? [コンボ値]) =1:後方曖昧 (例:aaa*) そして真の場合の処理にTrueを指定することで、IIFの戻り値がTrueになります。 FROM T1, TS 三重      山本      23 エクセルでテーブルをフィルタにかけ 式: Switch([X]<=0, "", [X]<=50, "A"...続きを読む, ACCESSで空白のデーターをクエリで判定/識別する方法を教えてください。   bba115  この場合、Yのフィールド設定で指定する数式についてご教授願います。 選択クエリで、80件ほどの抽出条件を部分一致で  フィールド(名前:FN) 検索する文字列テーブル(名前:TS) 設定しています。(Likeを使用) 001 ●●●~        001  これであれば、入れ子にする必要がなくなります。   aaa33 クエリの抽出条件の欄が9個しかないので、 よろしくお願い致します。 単にleft関数で左から何文字取れという演算フィールドしか持たないクエリを実効させれば、指定した桁数に満たない場合には実際にある桁数まで、一文字も入っていない場合には0を返して、全データ分のクエリ結果を返します 岐阜      鈴木      33 キーワードを一個ずつ抽出してみましたが ということ? 指定すればOk、ということになります。 以下にイメージ図を記載致します。 Like "*" の部分がいけないのでしょうか? [コンボボックス名]) 商品コードの中のキーワードの位置は  何卒よろしくお願いいたします。, a)IIF関数で対応する場合: もうちょっと単純な方法はないでしょうか? こうすることで「選択クエリー」は「追加クエリー」または「テーブル作成クエリー」に変換されます。 WHERE ((T1.FN) Like [TS]. 10個以上の条件を扱うことは可能なのでしょうか?  抽出条件 Like "aaa*" Or Like "bba*" 検索する文字列テーブルに細工(曖昧方向を追加) 正しく認識させるためには、等号・不等号を挟んだ式は、「左辺」と「右辺」の テーブル2には『除外キーワード候補』フィールドがあり、不要なキーワードが入力されています。(約10件) そして偽の場合の処理の戻り値が、ALL以外の条件になります。 クエリを使用する場合 . 検索する文字列テーブル(名前:TS) しかし、Mid関数でとったフィールドは文字列として認識されています。(Ex:001など)   aaa1   aaa33 また、なんだか心配なので   aac8 以下の式を入れたのですが全表示がされません。  と表記させるフィールド「Y」を追加したいと考えています。 されますので、上記のように、「[X]>0」を省略して「[X]<=50」だけを条件として (1)既存のテーブルに追加保存したい場合は「追加」を ---------------------------------- FROM T1, TS アクセスで出た結果と違います…。(エクセルのが少ないです) 愛知      田中      12 (3)IIfを入力したフィールドの「抽出条件」に True と入力します。 [コンボ値]="ALL",Like "*",[Forms]![テーブル名]! 訪問して頂きありがとうございます。まさふくろーです。 前回の記事では、 テーブルから必要なフィールドだけを取り出す方法 をご紹介しました。 この記事では、前回の続きとして、条件に一致するデータのみを抽出する方法をご紹介します。 フィールド[回答]にて、最初の3文字に対応時間を入れており、 式: IIF([X]<=0, "", IIF([X]<=50, "A", IIF([X]<=100, "B", IIF([X]<=150, "C", "")))) 条件にALL以外を入力すると・・・ Accessの関数などではこれだと正しい結果が得られません。 もともと他のデーターベースからCSVで落としたものをインポートしているので、データの存在自体はどうしようもありませんが、これらの重複しているデータを1件だけ表示したいのです。つまり 対応時間:CLng(Mid([回答],1,3)) *05F* IIf([Forms]![テーブル名]! 皆さんのお知恵をお貸しいただけないでしょうか。   bba35 IIFは評価式という意味です。 Like命令を使っています(* 使用 ), 選択クエリにおいて、あるフィールド「 X」 のレコード数値が   aaa1 なお、Nullについては、以前、他の方の質問につけた回答も、併せて参考までに: テーブル1には『検索キーワード履歴』フィールドがあり、お客様が使用した検索キーワードが入力されています。(約2万件) 大まかにはこういうことなんですが、その他の詳しいことはイルカ君に訊いてみてください。キーワードは「アクション クエリ」です。, ※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。 先頭や最後など決まりはなく、バラバラです。 FROM T1, TS ちょっと内容を変えまして・・・ これは、デザインビューに戻って、表示のチェックボックスをオフにすれば解決します。 [FN] & Choose([TS]. エクセルに出してはっつけて1枚のマスターに  使用できる、似た機能の関数に、Switch関数というものもあります。 にしてください。 クエリではじき出したデータをテーブルに保存したいんですけど、具体的にはどうすればよいのでしょう?   aac8  場合は、省略ができない、と) EXCELでは空白を""で判定/識別表していますがACCESSではどうなるのでしょうか。 ... [コンボ値])  フィールド(名前:FN) 式1: IIf([Forms]![テーブル名]![コンボボックス名]="ALL",True,[テーブル名]![コンボボックス名]=[Forms]![テーブル名]! SELECT T1.FN 抽出手順. かなり手作り感があふれていて…(^^;)汗汗 エクセルに出してはっつけて1枚のマスターに 元のテーブルに入力されているIDを変更することなく、 先の書き込みに書きましたが、手順は演算フィールドのみのクエリを作成し実行させ全データが取得出来る事を確認してから、この演算フィールドのみのクエリに必用なフィールドを追加してゆくって事してください, ACCESSで複数のフィールドに全く同じレコードが複数存在します そもそも、別テーブルのフィールドにある値すべてを除外させる抽出条件って指定できるのでしょうか。 どなたか教えてください、よろしくお願いいたします。, >IIf([Forms]![テーブル名]!  フィールド(名前:FN)/ 曖昧方向(名...続きを読む, アクセス初心者です。(2003です) 今回の条件式の部分には、[コンボ]="ALL"という評価式(←ポイント!)が入力されています。 検索されるテーブル(名前:T1) お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。, Access クエリ 重複しない条件抽出の方法 テーブルに商品コード、価格、適用開始日、適用終了日. 参考まで ちょっと内容を変えまして・・・ 条件をALLとしたら・・・ 【参考】 しようかと思っていますが… 専門家 ※過去一週間分の回答数ランキングです。 Q 質問する(無料) 中川裕美子. 岐阜      鈴木      33 ...  IIF関数は二択ですので入れ子にする必要がありますが、Accessのクエリで Excelでは条件式というイメージが強いですが、 WHERE ((T1.FN) Like Choose([TS].   aaa33 式1: IIf([Forms]![テーブル名]![コンボボックス名]="ALL",True,[テーブル名]![コンボボックス名]=[Forms]![テーブル名]!  フィールド 以下解説↓ 評価結果=True となります。 宜しくお願い致します。, >Left関数をする前は、5000行程なのですが、関数を加えたとたん4300程度に減ってしまいます。 コンボボックスにて"ALL"を選択したときに、全レコードを表示したく、  フィールド(名前:FN) 三重      山本      23 [コンボ値]="ALL",Like "*",[Forms]![テーブル名]!   aaa1 Mid関数にて対応時間を抽出しました。  IIF関数の第2引数または第3引数に、IIF関数を入れ子とする必要があります。 含まれるレコードのみを抽出) (できるかどうかわかりませんが、 9個ずつバラバラにクエリを作ってみました。   aac8 (2)新規にテーブルを作って保存したい場合は「テーブル作成」を選択します。 どのようにすればよいでしょうか。, コンボボックスの値を抽出条件にしたクエリーを作成しています。 (1)「抽出条件」ではなく、「フィールド」の行に入力してください。 何にせよ、「0<[X]<=50」全体として「正(=-1)」となることがないため、  これであれば、入れ子にする必要がなくなります。 評価結果=False となります。 検索されるテーブル(名前:T1) なります。 =2:前後曖昧 (例:*aaa*)   bbb52 もうちょ...続きを読む, 9行は   一応、 ホームページに来て頂いた方の検索キーワードを集計しております。 式: IIF([X]<=0, "", IIF([X]<=50, "A", IIF([X]<=100, "B", IIF([X]<=150, "C", "")))) クエリを分けているからでしょうか? 宜しくお願いします。. (1)「抽出条件」ではなく、「フィールド」の行に入力してください。 愛知      田中      12  IIF関数は二択ですので入れ子にする必要がありますが、Accessのクエリで  IIF関数の第2引数または第3引数に、IIF関数を入れ子とする必要があります。  (つまり、抽出用の新しいフィールドを作成するということです。) 健闘を祈ります!, >IIf([Forms]![テーブル名]! この3つのクエリ結果を ... 「0<[X]<=50」は、このままだと「0 < ([X]<=50)」という式と解釈されます。  フィールド(名前:FN) クエリを使用する場合.   aaa (例)   bba115 フィールド1  フィールド2  フィールド3 クエリのデータシートビューには必要のない、-1などが表示されたフィールドが表示されますよね。 自分の作ったデータにまったく信頼が持てません。。。(--;) または、とりあえず現象を直して、理解は後々・・・でもよいかも知れません。 [コンボボックス名]) その「選択クエリー」をデザインモードで開いて、そのときの画面上方のメニューに[クエリ]がありますから、そこから クエリにて、『検索キーワード履歴』から『除外キーワード候補』の値を全て除いた結果を出力させたいのですが、 商品コードの中のキーワードの位置は (「0<[X]<=50」は「[X]>0 And [X]>=50」と分割してやる、と) 重複するキーワードがあるからかと思い   bbb52   100<[X]<=150  であれば C とすればokのハズです。, アクセス2000での話なんですけど、 商品コードのテーブルから、 ただし、フィールドを作ったわけですから、 (SELECT * FROM テーブル2 WHERE テーブル1.検索キーワード履歴 = テーブル2.除外キーワード候補) クエリで、7桁だけにして、その取り出した7桁で区別し、グループとして認識し合計を出したいと考えているのですが、どうすればよいのでしょうか。 b)別の組込関数を使用する場合: 1フィールドに1キーワードの場合です。, Accessのクエリで、Left関数を使用して、7桁の数値を抜き出す方法。 [SP],"","*","*") & [TS]. 以外なので、「真(=-1)」という値が返された、ということです。 とか しようかと思っていますが… 当方、超・超・超初心者なので詳しくお願いします。 (3)クエリの[氏名]の抽出条件の場所で、右クリックして「ビルド」を選択 (4)抽出条件に、入力画面フォームの「氏名検索窓」を設定 (5)クエリを試す. 抽出条件をどのように指定したらいいのか分かりません。 というふうに条件を並べています。 =3:前方曖昧 (例:*aaa) WHERE NOT EXISTS ================================= [コンボ値]) この場合、「[X]<=50」は、「真(=-1)」か「偽(=0)」か「Null」のいずれかに 抽出条件にもTrueを入力したのは、無条件に全件が表示されるのを防ぐためです。 これを出さないと退社できないのですが