システムwiki

その後報告書の場合

CoteJ 受付中 最終更新日:2021-06-16 15:48

こんにちは、

クエリに基づいてレポートがあります.クエリは3つのtableに基づいており、完全にうまく機能します.ただし、Control Sourceに基づく制御PackingsLipNumberがEmplyQryShippingInfo.PackingSlipNumberの場合、TBLPACKINGSLIPSからのPackingsLipNumberに情報が表示されます.

それは可能です、そしてそうであれば、私はコントロールやこれを完了させるためのクエリに何を入力すべきですか?

ありがとう

jeanne

返信リスト(回答:9)

5 #
dhookom

両方のPackingsLipNumberフィールドがレポートのレコードソースにあると仮定すると、レポート内の混乱を避けるためにクエリ内の名前を変更します.私は同じ名前のレポートにフィールドをフィードしません.
次に、QryShippingInfor値がnullの場合、TBLPACKINGSLIP値を表示するNZ()関数を使用します.= NZ(SipackingsLipNumber、PSLPACKINGSLIPNUMBER)

応答5# ->にスキップ
4 #
CoteJ

こんにちはデュアネ

コードを、コントロールソースまたはクエリ内に入力しますか?

ありがとう

jeanne

応答4# ->にスキップ
2 #
dhookom

式は、レコードソースの列またはテキストボックスのコントロールソースとして機能する必要があります.私はそれがコントロールソースとして使用されていれば、いくらかの効率的な利益があるかもしれないと思いますが、それほど多くはありません.クエリに配置すると、Buildとデバッグが簡単です.

応答2# ->にスキップ
3 #
CoteJ

こんにちはデュアネ

SIとPSIは式の意味があるのですか?

ありがとう

jeanne

応答3# ->にスキップ
1 #
dhookom

Record Sourceに同じ名前の2つの列がないように、それらを追加したプレフィックスです.それであなたのクエリであなたは:

PSIPACKINGSLIPNUMBER:TBLPACKINGSLIPS.PACKINGSLIPNUMBER

SipackingsLipNumber:QryShippingInfo.packingsLipNumber

tableとフィールドを作成すると、同じフィールド名の2つのtableがありません.通常、tableを識別するすべてのフィールドに3文字のプレフィックスを使用します.例えば:

義理展開

Empempid主キー

empfirstname

emplastname

empemail

タイムシートtableでempempidを使用すると、おそらく名前が付けられます.

tbltimesheet

TSHEMPID Tebbloyees.Empempid

への外部キー

TSHWORKDATE

TBLPROJID.PRJPRJID

への外部キー

TSHCOMMENTS

9 #
DanielP

この

にiif()を使うことができます = iif(isNull(qryshippinginfo.packingslipNumber)= false、qryshippinginfo.packingslipNumber、qryshippinginfo.tblpackingslips)

これは、最初にあなたのクエリのフィールドとしてあなたが利用可能であることを意味します.そうでなければ、Dlookup()を使用することができますが、クエリ自体に直接組み込まれていることではるかに優れていることがあります.

応答9# ->にスキップ
7 #
CoteJ

こんにちはダニエル

私はあらゆる種類の異なるバリエーションを試しました、これは私が試みた最後のものです、そして今回はqrypackingslips_order_customerの基準を求めています:

= iif(isNull(qrypackingslips_ord_customer.qryShipingInfo.packingSlipNumber)= false、qrypackingslips_order_customer.qryShippingInfo.packingslipNumber、qrypackingslips_order_customer.tblpackingslips)

だから私は理解しようとしています.

コードの最初の基準は(QryShippingInfo.packingsLipNumber)では、NULLが他のフィールドに置き換えられる場合、そのフィールドを識別します.このフィールド、QRYPACKINGSLIPS_ORDER_CUSTOMER_CUSTOMERとしてPACKINGSLIPNUMBERとして表示されているQryShippingInfo

コード内の2番目の基準はQryShippingInfo.packingsLipNumberです.

コード内の3番目の基準はQryShippingInfo.tblpackingsLipsで、qrypackingslips_order_customerを追加するか、qryShippingInfoをqrypackingslips_order_ord_customerの変更を加えることで変更しようとしましたが、

を処理しませんでした.

私は本当にあなたの助けが必要です

私はあなたの時間に感謝します

ありがとう

jeanne

応答7# ->にスキップ
6 #
S.A.Mar

こんにちはJeanne、あなたが持っているものは私に混乱しています.あなたは言う:

「クエリに基づくレポートがあります.クエリは3table "

に基づいています

それからそれ以降の投稿であなたは言う:

「メインクエリは、QrypackingsLips_order_Customerというメインクエリと呼ばれ、TBLPACKINGSLIPS、QryShippingInfo "

2つのクエリとtableは?

tableやクエリに関係なく、どちらかのフィールドがメインクエリに表示されている場合は、どのフィールドから来たのかわかりません.

のような式を追加することができます.

IIF(ISNULL([フィールド])、[FIELDB]、[FIELDA])

そのため、フィールドが空の場合は、FIELDBを表示します.

あなたの表現は次のように見えるでしょう:

iif(isNull([QryShipingInfingSlipNumber])、[TBLPACKINGSLIPS.PACKINGSLIPNUMBER]、[qryshippingInfo.packingSlipNumber])

応答9# ->にスキップ
8 #
CoteJ

あなたの返事をありがとうDaniel

QryShippingInfo

の基準要求を得ています

メインクエリはQrypackingsLips_order_Customerというため、Qyryders、tblpackingslips、QryShippingInfoで構成されているため、変更しようとしました.

現在、PackingsLipNumberはQryShippingInfoによって引き出されていますが、空の場合は、照会

にも表示されるTBLPACKINGSLIPSからプルされる必要があります.

これが私が試したもので、まだQryShippingInfo基準を求めるボックスを持っています:

= iif(isNull(qryshippingInfo.packingSlipNumber)= false、qrypackingslips_order_customer.packingslipNumber、qrypackingslips_ord_customer.tblpackingslips)

私が間違っていることを教えてもらえますか?

ありがとう

jeanne