0

これは私の一歩一歩です:

1- VS2010 IDE で多くのパラメータと式フィールドを含む多くの Crystal レポートを作成しました 2- Crystal レポートの接続は設計時にそれらに割り当てられ、SQL クエリも設計時に生成されました (だから私はしたくありません)実行時に新しいデータセットを作成し、Crystal Report データソースをそれに設定します)。3-実行時にこのコードでCrystalレポートを表示しようとすると:

    Dim mov As New moves2
    'mov is my report
    Dim rep As New rep
    'rep is the crystal report form 
    mov.DataSourceConnections.Item(0).SetConnection(DataBasePath, "data.accdb", "", "")
    mov.Refresh()
    rep.CrystalReportViewer1.ReportSource = mov
    rep.CrystalReportViewer1.RefreshReport()
    rep.ShowDialog()
    mov.Dispose()
    rep.Dispose()

「OK」ボタンが表示された「ログオンに失敗しました」というメッセージ ボックスが表示されます。「OK」ボタンをクリックすると、すべてが正常に機能し、レポートは正常にデータをロードしますが、問題はありません。

現在 : このソフトウェアはクライアント マシン上にあり、このメッセージは非常に煩わしく、クライアントにはエラーとして表示されるため、このエラー メッセージをスキップする方法。

どうもありがとうございました。解決策をお待ちしています。

4

2 に答える 2

0

ウェブで約1年間試して検索した後、解決策を見つけました。しかし、それは信じられないことでした。databaseNameパラメーターでデータベースのフルパスを指定する必要があります。これは間違っています:

mov.DataSourceConnections.Item(0).SetConnection(DataBasePath, "data.accdb", "", "")

これは正しいです :

mov.DataSourceConnections.Item(0).SetConnection(DataBasePath, dataBasePath,"", "")

ありがとうございました。

于 2013-01-09T21:39:36.253 に答える
0

空の文字列をユーザー名とパスワードとして渡すのではなく、パラメーターをSetConnection含むオーバーロードを使用してそのパラメーターを true に設定する必要があります。useIntegratedSecurity

于 2013-01-07T19:10:06.880 に答える