パラメータを介してストアド プロシージャに日付を指定する場合、日付に使用する形式について少し混乱します。元の VBA 構文では、ADO Connection オブジェクトを使用してストアド プロシージャを実行していました。
Set SentDetailRS = Me.ADOConnectionToIntegrity.Execute("dbo.s_SelectAggregatedSentDetailList '" & fCSQLDate(EffectiveDate) & "'", , adCmdText)
これは、日付構文を使用して問題なく動作しますyyyy-mm-dd
が、別のユーザーがコードを実行すると、13 'Type Mismatch' というエラーが表示されます。
dd/mm/yyyy
いくつかの実験の後、形式で日付を指定すると、ユーザーのこのエラーが修正されることがわかりましたが、今ではエラーが発生します!
パラメーターを持つコマンド オブジェクトを使用してストアド プロシージャを実行すると、日付の形式に関係なく機能します (ADO が舞台裏で形式を処理していると思います)。yyyy-mm-dd
この形式を使用すると、SQL Server で普遍的に機能すると思いましたか?
この問題がユーザー固有のように見える理由についても当惑していますか? SQL Server での私の既定の言語が「英語」であるのに対し、他のユーザーの既定の言語は「英国英語」であることに気付きました。これが問題の原因になる可能性はありますか?
Access 2003 および SQL Server 2000 で ADO 2.8 を使用しています。SQL Server ログインは Windows 統合セキュリティ経由です。