• 締切済み

ACCESS2003のグループ化のエラーについて

こんばんは、ACCESS2003のグループ化について助言をお願いします。 (OS:WIN7) ”TBL1”から抽出して”クリエ1”を作成したものがあります。 この”クリエ1”からさらに”クリエ2”を抽出して、フォームから入力できるように”フォーム1”を作成しました。 (”クリエ1”は他の方が作成したのを借りている状態です。) ”クリエ2”には”日付”、”商品番号”、”単価”があり、”フォーム1”で使えるように ”クリエ2”の各項目に以下のように抽出条件を設定、フォームから入力出来るようにしました。 <日付> Between nz([forms]![f_kensaku]![day_s]) And nz([forms]![F_kensaku]![day_e],#2099/12/31#) (空欄でも表示されるように”Nz()”を使いました。) <商品番号> Like "*" & [Forms]![f_kensaku]![shouhin] & "*" <単価> Like "*" & [Forms]![f_kensaku]![tanka] & "*" ”フォーム1”及び”クリエ2”から実行して問題なく検索できるのですが 日付、商品番号、単価が重複して見ず来らいので、”クリエ2”の”Σ”からグループ化を実行するとエラーとなってしまいます。 <エラー表示内容> 集計関数の一部として指定された式(上記3個のSQL文が表示)を含んでいないクエリを実行しようとしました。 当然、グループ化を外すと問題なく動くのですが、何が悪いのでしょうか?

みんなの回答

回答No.1

普通はエラーにならないですね。 フィールドの集計は全てグループ化にしてますよね。 とりあえずSQL文を提示されたら何か分かるかもしれません。 重複を排除する方法は、グループ化以外に、クエリプロパティの「固有の値」を「はい」にするというのもありますのでそちらも試してみてはどうでしょうか。 あと、気になったのは、 > ”クリエ2”の各項目に以下のように抽出条件を設定、フォームから入力出来るようにしました。 との事ですが、重複を排除する(グループ化でも固有の値でも)と、入力はできなくなりますけど、いいのですか。

nabepapa
質問者

補足

助言ありがとうございます。 SQLコードはこうなります。 <動くSQLコード> SELECT [大井 grand 抜き].処理日, [大井 grand 抜き].TRACE号機, [大井 grand 抜き].業務 FROM [大井 grand 抜き] WHERE ((([大井 grand 抜き].処理日) Between nz([forms]![f_kensaku]![day_s]) And nz([forms]![F_kensaku]![day_e],#12/31/2099#)) AND (([大井 grand 抜き].TRACE号機) Like "*" & [Forms]![f_kensaku]![gouki] & "*") AND (([大井 grand 抜き].業務) Like "*" & [Forms]![f_kensaku]![g_no] & "*")) ORDER BY [大井 grand 抜き].処理日 DESC , [大井 grand 抜き].TRACE号機, [大井 grand 抜き].業務; <動かないSQLコード> SELECT [大井 grand 抜き].処理日, [大井 grand 抜き].TRACE号機, [大井 grand 抜き].業務 FROM [大井 grand 抜き] GROUP BY [大井 grand 抜き].処理日, [大井 grand 抜き].TRACE号機, [大井 grand 抜き].業務 HAVING ((([大井 grand 抜き].処理日) Between nz([forms]![f_kensaku]![day_s]) And nz([forms]![F_kensaku]![day_e],#12/31/2099#)) AND (([大井 grand 抜き].TRACE号機) Like "*" & [Forms]![f_kensaku]![gouki] & "*") AND (([大井 grand 抜き].業務) Like "*" & [Forms]![f_kensaku]![g_no] & "*")) ORDER BY [大井 grand 抜き].処理日 DESC , [大井 grand 抜き].TRACE号機, [大井 grand 抜き].業務; 前回の説明で簡略する為、日付、商品番号、単価としましたが 下手にいじると私が混乱しそうなので、ソースを記載します。 クリエ2=大井 grand 抜き 日付=処理日(”day_s”が検索開始日、”day_e”が検索終了日となります。) 商品番号=TRACE号機 単価=業務 > ”クリエ2”の各項目に以下のように抽出条件を設定、フォームから入力出来るようにしました。 との事ですが、重複を排除する(グループ化でも固有の値でも)と、入力はできなくなりますけど、いいのですか。 コンボボックスの”値集合リスト”及び”値集合ソース”に直接、該当する名前や数値をいれているので問題ありません。 >重複を排除する方法は、グループ化以外に、クエリプロパティの「固有の値」を「はい」にするというのもありますのでそちらも試してみてはどうでしょうか。 これも試してみましたが、だめでした。 お力を貸してください、よろしくお願いします。

関連するQ&A

  • Access2000 抽出について

    どうしてもわからないので教えてください。 選択クエリで、「フリガナ」というフィールドに、 Like IIf(IsNull([Forms]![F_顧客検索]![カナ検索]),"*",[Forms]![F_顧客検索]![カナ検索] & "*") でフォームからクエリを実行させるようにしているのですが、 フリガナが空白のレコードは抽出されてくれません。 「*」でなく、なんと入れればいいのでしょうか? ちなみに他に、「自宅電話番号」というフィールドに、 Like IIf(IsNull([Forms]![F_顧客検索]![電話検索]),"*" & "*",[Forms]![F_顧客検索]![電話検索] & "*") など、似たような感じで抽出をかけています。 よろしくお願いします。

  • Access2003 マクロ フィルタ

    こんにちは、 Access2003 マクロ フィルタで あ行だけを抽出しなさいという命令を書いたところ、 [顧客名称(読み)] Like "[あ-お]*"と書くと正常にあ行のリストを表示 [Forms]![F_顧客リスト]![顧客名称(読み)] Like "[あ-お]*"というように[Forms]![F_顧客リスト]!を追加して書くと何も表示されなくなり正常な動作をしてくれませんでした。 いったいなぜでしょうか? 何かお分かりの方がいましたら教えてください。 よろしくお願いします。 顧客リストから絞り込むようなフォームを作ろうとしています。 1.[F_顧客リスト]というフォームに[frm_五十音フィルタ]という[オプショングループを作成] 2.[frm_五十音フィルタ]オプショングループ内に[tgl_あ]というトグルボタンと作成 3.[frm_五十音フィルタ]オプショングループ内に[btn_顧客名称(読み)]というコマンドボタンと作成 4.マクロで[条件]に[Forms]![F_顧客リスト]![frm_五十音フィルタ]=2 [アクション]に[フィルタの実行] Where条件式に上記のように、 [顧客名称(読み)] Like "[あ-お]*"あるいは、 [Forms]![F_顧客リスト]![顧客名称(読み)] Like "[あ-お]*"と 書きました。

  • Access 日付/時間型を検索するには?

    いつもお世話になっております。 色々と調べたのですが、データが思い通りにならなく困っております。 検索用フォームを作成し、番号と件名であいまい検索出来るようにしたのですが、年月日でも検索出来るように依頼されました。 自分なりに組んでみたのですが、検索機能が動いてくれませんでした。 年月日のデータ形式は「日付/時刻型」で、格納されているデータは「yyyy/mm/dd 00:00:00」となっています。 日付のみで検索すれば良いのですが、いくら検索しても、全データが抽出されてしまいます。 どこが悪いのかご指摘お願い致します。 ☆クエリ☆ ・Q処理検索 左から「処理番号」「件名」「年月日」となっており、 「処理番号」と「件名」の抽出条件(1行目)には 「Like"*"&[Forms]![F処理検索]![処理番号]&"*"」 「Like"*"&[Forms]![F処理検索]![件名]&"*"」と記述 「年月日」の抽出条件に 「Between[Forms]![F処理検索]![開始]and[Forms]![F処理検索]![終了]」を2行目に記述 「>=[Forms]![F処理検索]![開始]」を3行目に記述してあります。 ☆フォーム☆ ・F処理検索 年月日は2つテキストボックスを用意しています。 各々に「開始」と「終了」の名前をつけ、定型入力を「0000/00/00\ 00:00:00;0;_」としてあります。 検索実行ボタンをクリックし、詳細検索表示フォームを表示します。 ・詳細検索表示 「F詳細検索」の結果をフォームビューで表示させます。 ☆マクロ☆ フォームを開く ・フォーム名:詳細検索表示 ・フィルタ名:Q処理検索 以上、宜しくお願い致します。

  • accessのnot検索

    access2000で テーブル[日付](yyyy/mm/ddで入力されています)   [内容](なんでも。空白の場合もあります) フォーム  「日付」(yyyy/mm/ddのみ入力可能にしています)  「NGword」(どんな文字でも入力できます) という項目を作成し・・・ 1、クエリでフォームの「日付」に入力したものかつ 2、フォームの「NGWord」を含まないレコードのみを抽出したいのですがうまくいきません。 「日付」「NGword」が空白の場合は入力された条件のみ適用させたいです。 (「日付」・「NGWord」が両方空の場合は全レコード抽出したいです) クエリを作成して・・・ [日付]の抽出条件を like "*" & forms![フォーム名]![日付] & "*" で [内容]の抽出条件を (not like "*" & forms![フォーム名]![NGword] & "*") or (is null) で設定したのですがうまくいきませんでした・・・泣 宜しくお願いします。

  • Accessの使い方

    データの抽出条件をフォームで作成しクエリを実行させたいのですが、以前教えていただいた抽出条件に Like"*"&Nz([Form].[コンボボックス名],"*")&"*"を入力 するとのことでしたが、うまくいきません。 何が違うのかな? また、パラメーターの入力メッセージが表示されないようにしたいのですが、教えて下さい。

  • ACCESSでの抽出について

    単純なクエリの抽出なのですが・・・。 区フィールド、町フィールドをクエリで作成して そのクエリを元に抽出フォームを作成しました。 そして、クエリの抽出条件に以下の式を入力しました。 Like "*" & [Forms]![F_抽出]![区] & "*" Like "*" & [Forms]![F_抽出]![町] & "*" しかし、大本のデータに [区]フィールド→品川区 [町]フィールド→空白 ・・・と、どちらかが空白の場合、そのレコード を抽出してくれません。 このように、空白フィールドを持つレコードをも 抽出するにはどのようにしたらようですか? 初歩的な質問で申し訳ありませんがよろしくお願いいたします。

  • 【Access】チェックボックスでの抽出

    初心者です。よろしくお願い致します。 MS Access2003で問題集を作成しています。 テーブル:T_mondai ・ID 数値 ・問題文 テキスト ・正解 テキスト ・分野1 チェック ・分野2 チェック ・分野3 チェック ※分野1~4のチェックは複数選択可能です。 例えば次のようなデータが入っているとします。(IDとチェックボックスのみ例示します) ID、分野1、分野2、分野3の順です A ○ ○ × B ○ × × C × × ○ D × ○ × E ○ × × フォーム:F_kensaku ・ck1 チェックボックス ・ck2 チェックボックス ・ck3 チェックボックス ・bt1 プッシュボタン(抽出の実行) ※ck1~ck3は複数選択可能です。 ※ck1~ck3の規定値は「False」にしました。 フォーム:F_kensakuでチェックした条件でテーブル問題から抽出するクエリを作ろうと思っています。 それで、 クエリ:Q_sentaku を選択クエリで作りました。 分野1の抽出条件の1段目に下記の式を入れました。 [Forms]![F_kensaku]![ck1] 以下、 分野2:[Forms]![F_kensaku]![ck2](抽出条件の2段目) 分野3:[Forms]![F_kensaku]![ck3](抽出条件の3段目) に入れました。(OR条件です。) 実行すると、チェックが2つ、3つの時はきちんと抽出されるのですが、チェックが1つの場合、全データが選択されてしまいます。 何が良くなかったのでしょうか。 いい方法があればお教え頂ければと思います。 ちなみに、 F_kensakuで CK1のみ:ABE CK2のみ:AD CK3のみ:C CK1とCK2:ABDE CK1とCK3:ABCE CK2とCK3:ACD を抽出したいと思っています。 全チェックで全部表示されればいいと思います。 どうぞよろしくお願い致します。

  • Accessクエリについて教えてください。

    Accessクエリについて教えてください。 日付を入力すると抽出したく下記のように作成したのですが、 フォームを使い、年と月だけ入力することはできますでしょうか?(2010/3/*) Between [Forms]![F_AAA]![入力1] And [Forms]![F_AAA]![入力2] (フォームAAAの入力1に、2010/03/01、入力2に2010/03/31)と入力して2010年3月分を抽出する。  ↓(下記のようにしたい) フォームAAAの入力1に2010、入力2に3と入力すると、2010年3月分を抽出する。 教えてください。

  • ACCESS2000の複数検索条件からのデータ抽出

    こんにちわ。前回質問内容自体どう説明してよいかわからず、途中で終わってしまったので、再度、詳しく質問してみました。 今、Accessで受注管理を作成しているんですが、複数の検索について教えて下さい。 ■テーブル テーブル名:受注管理 フィールド名:受注ID・日付・商品種別・顧客名・仕入種別・状況種別 ■クエリ クエリ名:受注クエリ(フィルタ) フィールド名:受注ID(表示チェックあり)・日付・商品種別・顧客名・仕入種別・状況種別 と式1[Forms]![検索フォーム名]![日付text]・式2[Forms]![検索フォーム名]![商品種別combo]・式3[Forms]![検索フォーム名]![顧客名text]・式4[Forms]![検索フォーム名]![仕入種別list]・式5 [Forms]![検索フォーム名]![状況種別combo]の計11列です。 抽出条件:検索名フィールド: 受注IDを除く各フィールド名の下に Like "*" & [Forms]![検索フォーム]![日付text] & "*" Like [Forms]![ 検索フォーム名]![商品種別combo] Like "*" & [Forms]![ 検索フォーム名]![顧客名text] & "*" Like [Forms]![ 検索フォーム名]![仕入種別list] Like [Forms]![ 検索フォーム名]![状況種別combo] 各式の下に Like "" Like "(なし)"      Like "" Like "(なし)" Like "(なし)" を検索パターンに応じて入力しました。 マクロにより、フィルタの実行をしていますが、この方法だと4つまでなら、検索可能なのですが、5つ以上になると、「フィルタが長すぎます」というダイアログボックスがでて検索ができません。VBAやSQLはいまいちわからないので、何か簡単に、5つ以上の検索条件で検索できないでしょうか。お願いします。

  • アクセス2000 複数の条件でクエリ作成

    アクセス2000を使用しています フォームを作成して テキストボックスを3つ、ボタンを1つ配置しています テキストボックスには番号、名前、名前ヨミをそれぞれ入力します 名前とヨミはあいまい検索をしたいのですが クエリの条件をどのように書けばいいでしょうか? 番号の条件 Forms!MAIN!番号 名前の条件 like "*" & Forms!MAIN!名前 & "*" ヨミの条件 like "*" & Forms!MAIN!名前ヨミ & "*" をそれぞれ または で記入したのですがうまく抽出されません たとえば、番号のところに何か入力しても残りの2つが空白であるためにあいまい検索なので全てという認識で抽出をかけているのだと思います どのように条件を書けばうまく抽出されるでしょうか