私はこのレポートを初めて知っているので、この質問は狂気かもしれません。私は、私たちのシステムのすべてのクライアントに対して1つずつ作成するのではなく、空の「テンプレート」レポート(基本的にフォームレター)を作成する方法を探しています。このフォームレターの一部は、25の特定のフィールドの任意の数を持つセクションです。セクションでは、このようなとして配置されていますReporting Servicesと動的フィールド
Name: Jesse James
Date of Birth: 1/1/1800
Address: 123 Blah Blah Street
Anywhere, USA 12345
Another Field: Data
Another Field2: More Data
もの(とクライアントが指定する他のフィールドのいずれかの)任意の順序で配置することができ、左側のラベルは、クライアントが(たとえば決めるものは何でもすることができます:「DOB」を「生年月日」の代わりに)。理想的には、必要なフィールドをクリックして表示される順序を指定し、カスタムラベルが何であるかを指定できるWebインターフェイスを用意したいと考えています。私は、ラベルを指定して順番に並べ替える方法を考え出しましたが、ダイナミックなフィールド(右側)の選択と並べ替えを可能にすることができれば、さらに一歩進めたいと思っていました。キャッチは、私は動的SQLを使用せずにこれをやりたいです。私は序数、カスタムラベルのテキスト、実際の列名を含む構成テーブルを持っていて、実際にinformation_schema.columnsを介してデータを含むテーブルとそのテーブルを結合しようとしました。たぶん、すべての潜在的なフィールドを照会し、INNER JOINにフィルタリングを行います( 'configuration'テーブルなどからの一致がある場合)。それは私が思ったように動作しません:)私はデータセットの機能をシミュレートできると思っていたと思います(値とフィールド名がオブジェクトに焼き付けられています)。私はこれがこのような偉業を試みる最適なツールではないことを認識しています。
設定テーブルは、多くの顧客/レポートの設定を保持するため、私は顧客IDでフィルタリングします。設定テーブルは次のように気にいらになります:
お客様ID LabelText ColumnNameに序 1姓ます。FName 1 1姓LNAME 2 出生DOBirthの1日3 2クライアントIDのClientID 1 2姓LNAME 2 2アドレス1アドレス1 3 2住所2アドレス2 4
言ってすべてのこと:
- を上記のクエリをやってのけるする方法はありますか?
- 問題のセクションが1行だけ戻ってくるので、動的SQLを使用しないのはあまりにも気になりませんか?ただし、このレポート(レター)を1日に2〜3回実行する何百ものクライアントがいます。
また、レポートにテキストボックスを動的に作成しようとしていないことに注意してください。私はフィールドを単一の文字列に連結し、それをテキストボックスにダンプするか、ジェネリックフィールド名( "field1"など)を想定したテキストボックスの数を設定した複数のレポートを作成します。もっとタイプすると、この音が響きます。 これを行う方法がない場合、私はカスタムコードで何かを突き詰めるでしょう。私のOCD側は、これをもっと巧妙に行うことができる現在の権限を超えてSQLがあると信じたいと思っています。
返信いただきありがとうございます。はい、構成テーブルが実際に多くの顧客/レポートの構成を保持していて、顧客IDでフィルタリングしていました。 お客様ID LabelText ColumnNameに序 1姓ます。FName 1 1姓LNAME 2 出生DOBirthの1日3 2クライアントIDのClientID 1 2姓LNAME 2つの 2住所1:設定表には、このように気にいらに見えるでしょうアドレス1 3 2アドレス2アドレス2 4 – DerPflug
私はこれらの詳細を考慮して私の答えを少し編集しました。 (BTW、スタックオーバーフロー時に、元の質問を編集して、必要に応じて詳細を追加することをお勧めします) –
答えは私のニーズに完全に合っています。ご協力いただきありがとうございます。 – DerPflug