「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:1656
現在:1


データ型「はい/いいえ」を条件指定するには

ページOpenOffice.org FAQの登録ページ
投稿者momotaro
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2006-12-01 21:55:38 (金)
OSwindowsXP
依存するページIssue #68551
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

よろしくお願いします。

テーブルのフィールドに、はがきを発送したかどうかを 記入するするため、データ型「はい/いいえ」を選択しました。 するとユーザーデータビューでは、チェックボックスのオン、オフに なります。

例えば顧客が10人いて、発送したのが7人、発送しなかったのが3人とします。

発送しなかった人だけを抽出するために、クエリの条件フィールド欄に 「いいえ」という文字、「0」という数字、「false」「is empty」など入力したのですが どれを入れてもエラーになります。

どういう風に条件を指定したら発送しなかった人だけ抽出できるでしょうか。


FALSEで抽出できます

アシスト谷藤 (2006-12-02 00:21:56 (土))

momotaroさん こんにちは
多分このような事例をおっしゃっているのではと思うのですが
いかがでしょう?
(添付ファイルをごらんください)

すごい簡単な例で申し訳ないのですのが…
実際のmomotaroさんのBaseの状態がわからないので
なんともいえないのですが
この事例で認識の違いがなければFALSEで抽出できます。

ご確認いただければ・・と思います。

条件の入力法

momotaro (2006-12-02 02:32:39 (土))

早速のご回答、ありがとうございます。
添付ファイルで同じようにクエリを作ってみたら
「SQL文のシンタックスエラー」と出ました。

テーブル1を選んで、その全てのフィールドを取り込み、
条件欄(発送フィールドの)にそのまま「FALSE」と打ち込んで確定すると
上記のエラーが出ますので、入力の仕方がおかしい
いう気がします。
そこで、「=FALSE」とか「=:FALSE」とか入力しましたが
ダメでした。
よろしくご教授ください。

クエリー1でもエラーが出ますか?

アシスト谷藤 (2006-12-02 05:14:33 (土))

momotaroさん

実際にこの添付ファイルの「クエリー1」を開いたとき
「いぬ」だけが抽出された結果になっているのは確認できましたでしょうか?
それともこのクエリー1を開くときもシンタックスエラーが出ますか?

また、「同じようにクエリを作ってみたら・・・」とのことですが
エラーが出るクエリーを保存したファイルを添付していただくことは可能でしょうか?
私の力で解決に至るかどうかわかりませんが実際にエラーの起こっているクエリーを拝見できればと思います。
よろしくお願いします。

追記

アシスト谷藤 (2006-12-02 05:27:42 (土))

すみません
シンタックスエラーだととりあえずクエリの「保存」はできましたよね?
(結果は抽出されませんが)

もし認識違いがあり
保存できなようでしたらクエリデザイン画面や
ツールバーの「表示」−「デザインビューのオン/オフ切り替え」で
見えるSQL文のコピーでも・・・・!
『SELECT "ID", "名前", "発送" FROM "テーブル1" WHERE ( ( "発送" = False ) )』と表記されていると思いますが・・・

SQL文です

MOMOTARO (2006-12-02 08:01:21 (土))

添付ファイルでは、確かに「いぬ」だけが抽出されました。
そこで、そのファイルを開いたままで、クエリ2を作ろうと思い、
まず、「デザインビューでクエリ作成」を選び、条件欄に「FALSE」と
入力すると、「SQL文のシンタックスエラー」が表示され、OKボタンしか
ないので押すと画面はそのままですが、保存やSQLの表示ボタンを
押すと、やはり同じエラーメッセージが出て保存もAQLの表示もできませんので、キャンセルするしかありません。

次に「ウィザードを使って・・」で作ろうとすると(テーブル1のフィールドを全て選択、並べ替え基準は何も選択しない、「次の全てを一致させる」、「詳細クエリ」にチェック、エイリアスはなし、「テーブル1発送」「次の物に等しい「FALSE」)、次のエラーメッセージが出ます〔添付ファイル:ウィザード出のエラーメッセージ)。
そのあと、完了ボタンを押しても画面は何も変化せずそのままなので
先に進めません。それでキャンセルします。

お手数をおかけしますが、何卒よろしくお願いします。

2.03!

アシスト谷藤 (2006-12-02 10:42:46 (土))

MOMOTAROさん

大変失礼しました。
今になって気がついたのですがバージョンが2.03なのですね!!
こちらでは最新バージョンの2.04で検証しておりました。
すみません。
2.03に入れ替えて同じ設定をしたところ
確かに同じエラーがでます。

もしMOMOTAROさんのほうで特に2.03のバージョンでなければ!という事情がなければ2.04ではFALSE抽出が可能ですので
お試しいただけますか?

(今しばらくこの2.03で検証も行ってみますが・・。)

取り急ぎご報告まで。。
よろしくお願いします。

2.03でのBOOLEAN型の抽出【回避代替方法】

アシスト谷藤 (2006-12-02 11:46:01 (土))

2.03では直接SQL文を記述することによって
抽出が可能なようです。
(詳細は添付ファイル「回避代替え.ods」にて)

推測になりますが、2.04では正常に抽出できるので
今回改修されたのでしょうね。。。
(時間的に過去のIssueまで確認できていなく恐縮ですが・・)

画像をインラインに

M.Kamataki (2006-12-02 15:11:22 (土))

エンターキーを押した画面
エンターキーを押した画面.JPG

ウィザードでのエラーメッセージ
ウィザードでのエラーメッセージ.JPG

Issuesに登録されているようですが

M.Kamataki (2006-12-02 15:23:23 (土))

「Query containing search condition with bool fields does not work properly」
http://www.openoffice.org/issues/show_bug.cgi?id=68551

たぶん、これだと思います。わたしも2.0.4では「デザイン表示」で警告が出ないのは確認しましたが、修正中のようです。上記Issueを読むと、完全な解決方法が見つかっていないようなニュアンスです。

補足

M.Kamataki (2006-12-02 15:28:29 (土))

上記Issueですが、ウィザードの件にも言及しています。2.0.4でもウィザードで「はい/いいえ」型のフィールド条件が空白になるというバグは直っていません。この件も含めているので、クローズされていないのかもしれません。

このバグは、BaseのUIに絡むものなので、谷藤さんがご指摘のように、SQL文を直接記述するようにすれば、問題は表面化しないでしょう。

ありがとうございます!

MOMOTARO (2006-12-02 21:00:33 (土))

皆様のお力添えに感謝します。

バージョンが2.0.3でないと、ちょっと困る事情がありまして・・・。
しかし、原因がわかったのですっきりとしました。

BASEを動かすには、やはりSQLの勉強をしておいたほうがよさそうですね。

谷藤さん、即効のアシスト、本当に助かりました。
Kamatakiさんの見事なフォローにも感謝します。

どうもありがとうございました。

Re: ありがとうございます!

M.Kamataki (2006-12-03 15:28:17 (日))

ご確認ありがとうございます。当質問は分類を「不具合」、状態を「Issues」に変更します。

お名前:
題名:


添付ファイル: file回避代替え.ods 774件 [詳細] fileウィザードでのエラーメッセージ.JPG 538件 [詳細] fileエンターキーを押した画面.JPG 946件 [詳細] fileFALSE.odb 839件 [詳細]