• 締切済み

クエリーの条件設定、誰か教えて下さいお願いします。

売上伝票と顧客マスター テーブルからのクエリー作成で 以下条件を設定したいのですが・・・ 売上日がDate()で 伝票番号Mod 2 <>0 の条件で 顧客マスターの1フィールド(S、Y、SL、YL、余白で文字無し) の5通りが入力されているフィールドから Like "Y"と Not Like "S"の条件を満たすクエリー作成は? よろしくお願いします。

みんなの回答

  • norayuni
  • ベストアンサー率79% (27/34)
回答No.1

WHERE 売上日=Date() AND ( 顧客マスタの1フィールド LIKE 'Y%' AND 顧客マスタの1フィールド NOT LIKE 'S%' ) AND 伝票番号%2<>0 質問の意図が読み切れていないのですが、 顧客マスターの1フィールド(S、Y、SL、YL、余白で文字無し)で、 Like "Y"を満たせば自動的に、 Not Like "S"を満たしてしまいますが……。 Y、YL、余白を選択したいという意図でしょうか? であれば、下のような書き方も…。 WHERE 売上日=Date() AND 顧客マスタの1フィールド NOT IN ('S','SL') AND 伝票番号%2<>0 余白がNULLであるなら、以下でしょうか。 WHERE 売上日=Date() AND ( 顧客マスタの1フィールド IN ('Y','YL') OR 顧客マスタの1フィールド IS NULL ) AND 伝票番号%2<>0

関連するQ&A

  • ACCESSでデーフル作成入力フォームで入力しながら、クエリのデータを参照したい

    ACCESSで売上明細テーブルを作成し、入力用のフォームを作成しました。他に顧客マスタテーブルがあります。売上明細には顧客CDフィールドがありますが、顧客名等はマスターに存在するため設けてません。しかし売上明細入力時に顧客CDを入力した時点で顧客名の確認がしたいのです。そこで入力フォームの顧客CDの隣に非連結でテキストボックスを作り、そこに顧客名を表示したいのです。売上明細には顧客名のフィールドは追加したくありません。ただ参照したいだけです。顧客マスタと売上明細で顧客CDをキーにクエリを作成し、明細に対応する顧客情報は顧客情報検索というクエリで作成済みです。入力フォーム画面の非連結のフィールドのプロパティのコントロールソースに =DLookup("[顧客名]","顧客情報検索","[顧客CD] =" _ & Forms![売上明細入力Form]![顧客CD]) と表記しましたがエラーになります。 最初はコントロールソースに直接顧客情報検索クエリの顧客名フィールドを表記し、フォーカス取得時にクエリを開くマクロを実行していました。でもやはり表示されませんでした。 顧客名の設定をどのように設定すればいいのですか? コントロールソースでの設定だけでは無理なのでしょうか? よろしくお願いします。

  • クエリ抽出条件を動的に変更したい

    Win XP Access2003 顧客情報を入力するメインフォーム1に商品明細を入力するサブフォーム(帳票)のある 伝票作成用のフォームを作っています。 (サブフォームは選択クエリが元になっています) 入力用にはフォーム1を使い、その後確定した伝票はメインフォーム2で扱いたいのです。 商品明細(帳票サブフォーム)の内容は同じなので、クエリの伝票番号(フィールド)の 抽出条件を フォーム1で開いた時に[forms]![フォーム1]![txt伝票番号] フォーム2で開いた時は[forms]![フォーム2]![txt伝票番号] の様に動的に変更したいのですが,よい方法がありましたら宜しくお願い致します。

  • ACCESS2007最大値を得て別項目更新

    ACCESS2007を使っています。 ・顧客マスタ ・売上伝票(ある日、特定顧客に何らかの商品が売れた) ・売上明細(上記売上伝票の詳細。商品名、個数など) (他に商品マスタなど) で構成したものがあります。 ここで、「機械のメンテナンス実施」という商品があります。それが売り上がると、「売上明細」のメンテ日というフィールドにその日付が入るように設定しました。(更新クエリで) ◆ここからが今の私の課題です。 その日付は機械のメンテナンス実施ごとに入っているわけですが、その最大値(最終日)を、拾ってきて、顧客マスタのフィールドの「最終メンテ日」というフィールドに入れたいと思います。 これは、どうすればよいでしょうか。 (なお、それ以降は、その最終メンテ日から1年経った顧客に連絡するなどの部分を作る予定です) ・選択クエリ「集計」で、顧客IDで「グループ化」し、メンテ日で「最大値」を選択すれば、メンテ最終日は出ますが、その値を上記フィールドに入れる(更新していく)には、どうすればよいのでしょうか。あるいは全く違った方法があるのでしょうか? よろしくお願いいたします。

  • Access2003 テキストボックスの値によるクエリの抽出条件

    コマンドボタンによるクエリの実行と、直接クエリを実行する(マウスでクリック) するのとで、動作が変わってしまいます。 F_メインメニュー(フォーム)内の非連結のテキストボックスtext1に文字列を入力し、 その隣に配置した検索ボタンを押すことで、テキストボックスの値を含む住所を 抽出するよう、Q_顧客を作成したのですが、F_メインメニュー内にある テキストボックスに文字列を入れ、F_メインメニューを開いたまま 直接、Q_顧客をマウスクリックにより実行すると、 確かに該当する値を含む住所をもつレコードのみがヒットします。 しかし、テキストボックスの横に配置した、コマンドボタンによる クエリの実行をすると、条件抽出されず、全件ヒットしてしまいます。 直接、Q_顧客をマウスによってクリック実行するとできるのに、 なぜコマンドボタンにコマンドボタンがクリックされたらQ_顧客を実行するよう ウィザードで作ると同じ動作にならないんでしょうか? コマンドボタンにはクリックされたらQ_顧客を実行するようにウィザードで 作成しています。 ご教授よろしくお願いします。 **以下作成状況** 「フォーム名」: F_メインメニュー ※このF_メインメニュー内に非連結のテキストボックスtext1を作成。 テキストボックスの横に検索ボタン(コマンドボタン)を作成し、 検索ボタンをクリックしたら、以下のQ_顧客を実行するよう、 コマンドボタンをウィザードで作成。 「テーブル名」: T_顧客 ※フィールドに「住所」あり。 「クエリ名」: Q_顧客 ※ ウィザードでT_顧客からクエリを作成(この時点では抽出条件設定なし) クエリの抽出条件で フィールド:住所 の抽出条件に以下を設定 Like "*" & [Forms]![F_メインメニュー]![text1].[Text] & "*"

  • Accessのクエリ作成について

    クエリを作成する際の、テーブルの設定の仕方がよくわかりません。 たとえば、「顧客リスト」テーブルと「販売履歴」テーブルに、それぞれ「顧客ID」フィールドがあり、「顧客ID」フィールドがリレーションシップで設定されているとします。 新たに、選択クエリを作成し、そのクエリに、「顧客ID」フィールドを設定するときに、どちらのテーブルの「顧客ID」フィールドを設定するかがわかりません。 ちなみに顧客IDフィールドには、リレーションシップを設定していて、1対多の設定をしています。 「顧客リスト」テーブルの「顧客ID」フィールドが、「1」の側で、 「販売履歴」テーブルの「顧客ID」フィールドが「多」の側です。 どちらのテーブルを使用しても結果は同じなのですが、 選択クエリを作成するときに、上記のように、同じフィールドを持テーブルが2つありリレーションシップを 設定している場合は、どちらのテーブルを使わないといけないというような決まりはあるのでしょうか? どちらを使用しても構わないのでしょうか。 特に、決まりがない場合は、一般的には、どのように設定されているのでしょうか?

  • Accessのクエリ作成について

    クエリを作成する際の、テーブルの設定の仕方がよくわかりません。 たとえば、「顧客リスト」テーブルと「販売履歴」テーブルに、それぞれ「顧客ID」フィールドがあり、「顧客ID」フィールドがリレーションシップで設定されているとします。 新たに、選択クエリを作成し、そのクエリに、「顧客ID」フィールドを設定するときに、どちらのテーブルの「顧客ID」フィールドを設定するかがわかりません。 ちなみに顧客IDフィールドには、リレーションシップを設定していて、1対多の設定をしています。 「顧客リスト」テーブルの「顧客ID」フィールドが、「1」の側で、 「販売履歴」テーブルの「顧客ID」フィールドが「多」の側です。 どちらのテーブルを使用しても結果は同じなのですが、 選択クエリを作成するときに、上記のように、同じフィールドを持テーブルが2つありリレーションシップを 設定している場合は、どちらのテーブルを使わないといけないというような決まりはあるのでしょうか? どちらを使用しても構わないのでしょうか。 特に、決まりがない場合は、一般的には、どのように設定されているのでしょうか?

  • ACCESS のフォームの内容をクエリーの抽出条件にするには?

    Windows2000,Access2000です。 Accessのクエリーでデータを選択して表示する作業をしています。 現在はクエリーを自分で修正して実行しています。 でもそれではみんなで使うには使いづらいので、 フォームを作成しそのフォーム上の入力項目に入力された データをクエリーの抽出条件に指定する様にしようという事になりました。 フォーム上の入力フィールドの内容をクエリーの抽出条件に設定する方法はすぐわかりました。 でも「like」を指定する方法がわかりません。 つまりフォーム上の入力データを“xxx”とした時、クエリーの抽出条件を 「like "*xxx*"」としてクエリーを実行したいのです。 つたない文章でわかりにくいかと思いますが、ご存じの方おりましたら、 よろしくご教示ください。

  • ACCESSで複数条件でデータ抽出するフォームの作成

    ACCESS2000で複数の条件を入力し、該当するデータを抽出するフォームを作成しています。どんな方法がありますか?簡単に出来る方法をお教えください。 具体的には、売上明細データを検索します。あらかじめ テーブル:売上明細データ をいろいろなマスタを参照している クエリ:売上明細クエリ を元に抽出します 条件は売上日付の日付1と日付2の項目と、伝票区分の項目です。 フォームの頭にテキストボックスを3つ作成し、日付1~日付2までの売上日付で 入力された伝票区分のもののみを表示させたいのです。 検索というコンボボタンを配置し、クリック時にその下にクエリからの必要な表示項目を売上明細クエリから配置しています。 抽出する方法(条件の与え方)を教えてください。よろしくお願いいたします。

  • アクセス クエリ

    アクセス クエリの抽出について教えて下さい。例えば、1つのクエリの中に数値のフィールドが5つ作成してあり、それぞれ違うフィールドの抽出条件をしています。それぞれの条件を入れてしまうと5つのフィールド条件全てに合ったものしか抽出できません。 5つのフィールドのうち、どれでも1つ一致したら抽出できるようにしたいのですが良い方法を教えて下さい。宜しくお願いします。

  • 削除クエリをすると、必要なレコードが消えてしまう

    店のサンプル商品を発注し、返却される一連の作業をAccessで作っています。 T顧客名‥‥フィールド:「ID」「顧客」 Tサンプル品‥‥フィールド:「CD」「商品」 T発注‥‥フィールド:「ID」「CD」「発注日」「数量」←規定値1 T返却‥‥フィールド:「ID」「CD」「返却日」「数量」←規定値1 テーブルは以上です。 クエリは、 Q発注伝票‥‥フィールド 「T顧客:ID」「T顧客:顧客」「Tサンプル品:商品」「T発注:日付」「T発注:数量」 Q返却伝票‥‥フィールドは「T発注」の部分が「T返却」に変わります。 発注されたサンプル商品が返却されたら、 クエリの発注と返却を照合し、「T顧客:ID」と「Tサンプル品:商品のサンプル商品が一致した場合、 Q発注伝票のレコードだけ削除したいと思っています。 数量は規定1で、2以上発注しないので、無視でOKなのです。 削除クエリを用いましたが、なぜか、発注伝票だけでなく、返却伝票のレコードごと無くなってしまいました。 式を変えればエラーになり、また変えれば明後日の場所が消えたり‥‥。 何度やってもうまくいきません。 どのような解決策をすればよいか、煮詰まっています。 なお、クエリの更新が自動で出来れば良いとも思っていますが、出来ますでしょうか?