2016-09-13 4 views
0

これは私の限られたアクセス知識でも非常に奇妙です。背景情報:私は働いている人を追跡するデータベースを作っています。ボスは、人々が退去して、そして人々がそれを取り替えるような報告書を望んでいるので、これはうまくいくかもしれませんが。しかし、私が情報に加わると、チェックボックスにNULL値が表示されます。私はデフォルトをNOに設定しました。私はそれが3倍の状態のチェックボックスに設定されていません。私は、テーブルやクエリのJOINするために、フィールドIDReplicateおよび交換のIDを使用していますジョインでのアクセスクエリーはnull値としてチェックボックスを返します

Table

これは、それがどのように見えるかのほんの一例です。 IDReplicateは主キーのコピーです。

SELECT tblExample.IDReplicate、tblExample.Arrival、tblExample.City、tblExample:JOINのは、その最初のフィールドに主キーを使用すると、型の不一致に交換人々についての情報をプルする

私のクエリを生成します.Package、tblExample.LName FROM tblExample;

残し、人々到着人々に参加するために私のクエリは:

SELECT tblExample.LName、tblExample.Departure、tblExample.ReplacementID、qryReplacement * tblExample左からtblExample.ReplacementID ON qryReplacementを登録しよう。 = qryReplacement。[IDReplicate];

Resultant Query Datasheet

+0

あなたはレコードが参加しなかった存在ヌルである左結合を使用しているので、? – Brad

+0

そのように見えますが、右のジョインを使用しようとすると、結果は逆になり、名前と出発日が失われます。私のエラーの原因となっているJOINプロパティが表示されます。私はインナー・ジョイントを使用しますが、その後、まだリプレースメントが割り当てられている出国者を保持しません。 JOINを使わずに同じ結果を得る他の方法を知っていますか?言い換えれば、各個人が出発していることを示す表またはクエリを作成し、同じ行内の情報で置き換えられたかどうかを確認します。 – Kronos1A9

+0

'qryReplacement.Package'を' Nz(qryReplacement.Package、false) 'のようにNzにラップすると、それらのヌル値として0が表示されます。あなたはチェックボックスの外観を失うでしょう。それは大丈夫でしょう。レポートを実際のReportオブジェクトにすると、それを元に戻すことができます(同じフォームをクエリにバインドしても同じことができます)。 – Brad

答えて

0

それはあなたが二状態にしたい3ステートチェックボックスを有することができるように、これはSO詳細については、投稿をチェック聞こえる:

IMO

Determine whether a Access checkbox is checked or not

、チェックボックスがありますトラブルや最善の回避。私のアドバイスは、項目をyesまたはnoに制限する制約付きのテキストフィールドにフィールドを変更することです。デフォルトはnoです。そうすれば、Accessを使ってインターフェイス要素をデータに変換するのではなく、実際にあなたのテーブルに実際にどのようなデータがあるかを知ることができます。あなたはAccessテーブルデザインインターフェイスでそれを行う場合は、次のようになります。

enter image description here

+0

良いアドバイス、ありがとうございます。私は、この問題をすべて回避するオプションとしてyesまたはnoのドロップダウンボックスを使用することもできます。これに関する奇妙な部分は、クエリに[はい/いいえ]チェックボックスが2つあり、同じエラーが発生していないことです。また、JOINの前には、SponsorPackageフィールドにはnull値は表示されず、true/falseのみが表示されます。私はそれのデフォルト値をNOにしていることを確かめました。私が明日に時間を得るとき、私はコードを掲示するでしょう。たぶん私にはこれが原因で失われているものがあります。 – Kronos1A9

+0

私の例では、チェックボックスの代わりにテキストフィールドでYesまたはNoを使用してアドバイスを試みました。私は無作為にテーブルにYesとNoを入力した後、クエリを実行した後、Noもすべてnullのように消えました。問題はチェックボックスではないと思っています。 – Kronos1A9

+0

@ Kronos1A9ええ、テキストフィールドがnullに戻ってきた場合、何か別のことが起こっています。チェックするべきことの1つは、nullの別の変数を使用するデータ処理または計算です。 nullを含む計算では、空の値から予想される動作の代わりにnullが返される可能性があります。 – Rominus

関連する問題