- PR -

ASP.NET 2008によるCrystalReportクラス定義

1
投稿者投稿内容
ヨーキー
会議室デビュー日: 2007/11/20
投稿数: 16
投稿日時: 2009-01-21 14:12
どうしても分からなくて投稿しました。
ASP.NETのVBやC#でクリスタルレポートをクラス化して使う方法です。

.net2003の時は
Dim cr As New CrystalReport1 'CrystalReport1.rpt
とソリューションに追加したクリスタルレポートを宣言出来てましたが

.net2008で同じ記述を書くと
型'CrystalReport1'は定義されていません。
とエラーが出てしまいます。

どのようにすれば定義されるのでしょうか?
くだらない質問かもしれませんが教えて下さると有り難いです。

[ メッセージ編集済み 編集者: ヨーキー 編集日時 2009-01-21 14:13 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2009-01-21 14:58
引用:

ヨーキーさんの書き込み (2009-01-21 14:12) より:

型'CrystalReport1'は定義されていません。


これはコンパイル エラーですので CrystalReports のバージョン以前の問題です。 オブジェクト ブラウザであなた自身が作成したレポートの型 (クラスの名前空間を含めた完全修飾名) を確認してください。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ヨーキー
会議室デビュー日: 2007/11/20
投稿数: 16
投稿日時: 2009-01-21 15:17
じゃんぬねっとさん、ありがとうございます。

オプジェクト プラウザで調べてみた所
.net2003の方はちゃんとCrystalReport1が登録されてました。
2008の方は検索してもレポートのクラスは見つかりません。

2003は新しい項目の追加でクリスタルレポートを追加したら自動で登録されました。
2008は自動で登録されないならば、どのようにすれば登録できるのでしょうか?

調べてみます。

[ メッセージ編集済み 編集者: ヨーキー 編集日時 2009-01-21 15:27 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2009-01-21 15:55
引用:

ヨーキーさんの書き込み (2009-01-21 15:17) より:

.net2003の方はちゃんとCrystalReport1が登録されてました。
2008の方は検索してもレポートのクラスは見つかりません。


どう検索したのでしょうか? "CrystalReports1" という名前で検索しただけということはないですよね?

引用:

2003は新しい項目の追加でクリスタルレポートを追加したら自動で登録されました。
2008は自動で登録されないならば、どのようにすれば登録できるのでしょうか?


どの手順でレポートをプロジェクトに追加したのでしょうか? 自動も何もプロジェクトに追加した時点で、クラスが定義されるので見つからないなんてことはないハズです。 プロジェクト非参加型の外部レポートを使っているなんてことはないですよね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ヨーキー
会議室デビュー日: 2007/11/20
投稿数: 16
投稿日時: 2009-01-21 16:15
>どの手順でレポートをプロジェクトに追加したのでしょうか?
ソリューション名はtestなんですが

ソリューションエクスプローラーの「C:\\...\\test\\」を右クリックして
「新しい項目の追加」を選択。

「Crystal レポート」を選択し名前をCrystalReport1にして追加ボタンを押す。
この流れで追加しました。

クラス「Class1.vb」とデータセット「DataSet1.xsd」を同じように追加したら
App_Codeフォルダに登録され、オブジェクト プラウザでも確認できました。
検索は"Cry"でしましたが追加したクリスタルレポートは見つかりませんでした。

>自動も何もプロジェクトに追加した時点で、クラスが定義されるので見つからないなんてことはないハズです。
じゃんぬねっとさんの方だと追加されるんですよね?
他のマシンでも2008をインストールして試してみたんですが、私と同様にクリスタルレポート
のクラスが定義されなかったです。
インストールしたProfessional版がおかしいかも知れません。

[ メッセージ編集済み 編集者: ヨーキー 編集日時 2009-01-21 18:01 ]
ヨーキー
会議室デビュー日: 2007/11/20
投稿数: 16
投稿日時: 2009-01-23 14:30
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=38091&forum=7

>APP_Codeの下に私が作成したDataSetは問題なく
>宣言部の「As」を書いてスペースキーを押した時の候補リストに
>出てきますが、クリスタルレポートは出てきてくれません(泣)

ここの投稿にも同じ様な現象が起きてますね。
この時もじゃんぬねっとさんが返信されてたんですね。
クリスタルレポートがクラス定義出来ないのは仕様?なのでしょうか。
分かる方居ましたら情報を下さいm(_ _)m
_________________
Flush
会議室デビュー日: 2009/02/12
投稿数: 1
投稿日時: 2009-02-12 23:53
当方 VS2008 sp1で開発しております。
ファイルメニューから「新しいWebサイト」→「ASP.NET Webサイト」を作成した場合、
クリスタルレポート(拡張子 .rpt)に対する分離コード(クラス)は作成されない様です。
「新しいプロジェクト」→「ASP.NET Webアプリケーション」を作成した場合は、
2003と同様に分離コード(クラス)が作成される様です。ご確認ください。
「新しいWebサイト」にてアプリ構築最終段階でクリレポ作成しようとして
この現象にぶち当たりました。いまさら「新しいプロジェクト」で構築し直すのも
負担に感じ、クリレポの部分だけ「新しいプロジェクト」で別のページに切り出そう
かと模索中です。
が、クリレポのデータソースとしてDATASET を使用するのですが、2003と2008で
内部的にDATASETの構造が違うのか、2003のソースを2008にそのまま書いても
適正に動作しておりません。クリレポは苦労します(涙)
ヨーキー
会議室デビュー日: 2007/11/20
投稿数: 16
投稿日時: 2009-02-16 11:20
Flushさん、ありがとうございます!
まさにその通りでした…

その後、むかむかクリスタルレポート入門さんとか
クリスタルレポートに関わるサイトにメールを出してみましたが
分からず終いでした。
こんな簡単な事だったんですね^^;

私もバージョンアップする度に泣いております。
上司には2008は使えないと報告しましたがまた改めて勉強を再開しようと思います。
1

スキルアップ/キャリアアップ(JOB@IT)