2017-12-15 71 views
0

私はMicrosoft-VBAで新しく、ExcelでMSSQL Serverでストアドプロシージャを実行し、その目的のために作成されたテーブル。しかし、私は私のコードをテストするためにこれを実行しようとするたびに、私はこのエラーメッセージが表示されます。私はこのフォーラムで提案されているいくつかのソリューションを見直して実装しましたが、動作させることができませんでした。たとえば、私は 'Microsoft ActiveX Data Objects Recordset 2.8ライブラリ'を[参照]でアクティブにしましたが、同じエラーが表示されます。もし誰かが私のコードを見直して、私が間違っていることを教えてくれたらうれしいです。Microsoft VBAでこのエラーメッセージ "コンパイルエラー:ユーザー定義型が定義されていません"を

This image contains the code and error message


Sub My_Test_Report() 

    Dim objConn As New ADODB.Connection 
    Dim objCmd As New ADODB.Command 
    Dim objParm1 As New ADODB.Parameter 
    Dim objRs As New ADODB.Recordset 

    objCmd.CommandText = "[Report Queries].[dbo].[My_Test_Report]" 
    objCmd.CommandType = adCmdStoredProc 
    Set objConn = GetNewConnection 
    objCmd.ActiveConnection = objConn 
    objCmd.Parameters.Refresh 
    objCmd(1) = True 
    Set objRs = objCmd.Execute 

End Sub 
+2

貼り付けとテストをコピーできるように、コードをテキストではなく写真にする。 –

+1

どのラインがエラーを生成していますか?私はあなたが何をしようとしているのかよくわかりませんが、「パラメータ」の綴り方がわかりません。 – ashleedawg

+1

どのラインエラーがありますか? – JohnyL

答えて

0

私はあなたが 'パラメータ' 対 'Paremeter' を持って、ashleedawg3に同意します。私がコンパイルしようとすると、私はその特定のライン上のハイライトと同じエラーを取得:

enter image description here

ここで手がかりは、コンパイラが、それは知っているdoesntのタイプを見ているので、あなたは、「ユーザー定義型を取得します、

スペルを調整してみてください、それはそれを修正するかどうかを確認し、」定義されていません....

+0

@RJKelly私は訂正を行いましたが、それでも私には同じエラーメッセージが表示され、同じコード行を指しています。私の接続が間違っています – alexedeigba

+0

'GetNewConnection'にコードを投稿できます –

0

私はあなたが第二のライブラリが不足していると思います。 Toolsの参考文献を行くとの両方を追加します。

☑ Microsoft ActiveX Data Objects 6.1 Library

☑ Microsoft ActiveX Data Objects Recordset 6.0 Library

を(同じライブラリのいずれかの下のバージョンのチェックを外します。)

注意を同じライブラリの異なるバージョンの選択肢が与えられたとき、それは一般的だということ利用可能な最高のバージョン番号に行くのが最善です。

+0

私はそれを接続することができました。ありがとうございました – alexedeigba

関連する問題