2016-11-17 16 views
1

私の例が少し曖昧であれば謝ります。残念ながら、私の例では、会社名とデータの目的の両方を明かさずに、同じフィールド名を使用することはできません。次を考えるCrystal ReportsのヘッダーサブレポートDataTableに新しいフィールドが追加されるとデータが消えます

A Crystalレポートデータセットによって移入し、XSDスキーマファイルに結合しています。

データセットを読み込んでレポートにバインドする.Net 1.1プログラム。

データテーブルFooとBar;

XSDスキーマ:

----Foo---- 
Stuff (pk) 
Things 
Gunk 

----Bar---- 
Stuff (fk) 
Details 
Widget 

関係:一つのFooは1つの以上のバーを持つことができ、インナーはスタッフに参加します。

このレポートは既に動作しています。契約に結びついた特定の価値を示すために、新しい「コード」フィールドをレポートに追加する要求がありました。コードのリストと特定のコードを持つ部品のリストがあります。これは、データベース側では、どのウィジェットとどのコードが対応するかを示す「ウィジェット」と「コードID」のテーブルをリンクテーブルとして追加し、コードとその定義を保持する「CodeID」と「CodeDescr」を持つテーブルを追加することを意味していました。私はBarに "CodeDescr"を追加し、 "ウィジェット"のその行の値に基づいて簡単なクエリを入力するようにスキーマファイルを変更して、フィールドを追加することができました。これも機能します。

問題は、ヘッダーを構成するサブレポートです。同じXSDファイルを使用しますが、レポートの本文を構成するサブレポートにCodeDescrフィールドを追加すると、ヘッダーのすべての値が消えます。これらの値の一部はリテラル(アイテムを識別する「Stuff」の値)であり、他のものは式(Gunkの値を使用して文字列または数値識別子を表示するかどうかを決定するなど)です。私は3日間頭の中で頭を叩いて、なぜこれが埋められなくなったのか把握しようとしたので、私はそれを修正することができます。助けて!

答えて

0

さてさて、私は多分:)

あなたは私たちが正しい方向に目指していることを確認助けるために、Excelでの目標を描くことができます助けを開始するのに十分なあなたの変数名のパズルを解決してきたと思いますか?確認するには

、これは色に入社、あなたのデータベースです:

支援を目的としたいくつかのランダムな思考:

  • は必ずしも重要ではありませはずですが、あなたが構築していますそのヘッダーのサブレポートも同様に?それとも詳細なのでしょうか?私は通常、あなたの抑制が正しい限り、それらを一致させることを試みますが、それは重要ではありません。

  • サブレポートを右クリックして(デザインタブで)、[サブレポートリンクを変更]を選択します。期待されるリンクはありますか?

  • リンクを確認したら、サブレポートに移動してレコード選択を確認します。リンクを変更すると、ここにリンクごとに新しい行が追加されます。論理は正しいですか?そのメモでは、あなたの親レポートとサブレポートのレコード選択を、ここで見るためにあなたの例で使用される変数に移すことができますか?

時間が許す限り私はこれに戻ってきます。更新があったらお知らせください。

+1

あなたは完全に関連性を得ました。すべてのサブレポートは詳細セクションを使用するため、一致します。しかし、唯一のエディタはVisual Studio 2003に組み込まれた奇妙なエディタだということを忘れてしまいました。私はリンクをチェックして、期待通りのものでした。私は、これらの問題が切り取られ、インナー・ジョイント以上の成功を収めた後、レフト・アウター・ジョイントを試しました。これは、従来の「Record Select」を持たず、データセット全体がVB.Netに組み込まれていることを意味します。変更されたのは、テーブルを呼び出すSQLステートメントの結果を取得する単一のメソッドだけです。 – CDove

+0

。公正であるために、これはおそらく私の知識が落ちるところです。私たちはしばしば肘をこすりますが、VB.NETと私は近い言葉ではありません。これは、あまり複雑すぎるレポートのようには聞こえないので、Crystal ReportsのGUIで描画し、まだ問題がないかどうかを確認することができます。つまり、VB.NETのノウハウを持つ人は、より合理的な/望ましいソリューションを手に入れることができます。幸運にも、私はあなたの質問に目を留めて、それが私のエリアに向かって漂う – Jackson

0

これは、最終的には、既存のテーブルの一環として、新しい価値に引っ張ってXSDファイルによって呼び出されるクエリを調整し、代わりにXSDファイルに新しいテーブルを作成する、ことによって解決されました。

関連する問題