| 
    
     |  | ▼ponpon さん: こんにちは。
 
 > Excel、ACCESSとも初心者です。
 > 学校で使う図書貸し出しの自動化をはかっています。EXCEL2003からADOを使ってACCESSのパラメータクエリ(図書貸し出し簿2)に開始年月日と終了年月日を渡し、その期間の貸し出し簿を抽出し、グラフ化することに成功しましたが、EXCEL2002で動作させるとエラーになります。
 > 参照設定が、2003の場合 ADO2.7ですが、2002の場合 ADO2.5です。
 > それだけの違いなのですが、うまく動きません。もう一度はじめからやり直さなければならないのでしょうか?
 > 何かいい方法を教えてください。
 >ACCESSには接続できます。
 >myArrayのデータには日付かが取得されています。
 >Set myRS = myCmd.Execute(Parameters:=myArray)のところで
 >”SQLステートメントが正しくありません。”エラーになります。
 >
 >
 >Sub 図書貸出簿のデータ取得()
 >
 >Dim myCon As New ADODB.Connection
 >Dim myCmd As New ADODB.Command
 >Dim myRS As New ADODB.Recordset
 >
 > myCon.Open "file name=C:\Documents and Settings\AAA\My Documents_
 > \図書台帳\tosyo.udl;"
 >  With myCmd
 >  .ActiveConnection = myCon
 >  .CommandText = "クエリ図書貸出簿2"
 >  End With
 >
 >  myArray = Array(年月日入力.開始年月日, 年月日入力.終了年月日)
 'この「年月日入力.開始年月日」や「年月日入力.終了年月日」がどんなオブジェクトなのかわかりませんが、
 '想像するに年月日入力がユーザーフォームで、開始年月日がTextboxですか?
 'オブジェクトに独自の名前をつけた場合は、その説明をお願いします!!
 'でないと再現できないですよね?
 '↑が何なのかわからないのですが、もし、Textboxだとしたら・・・・、
 
 '  myArray = Array(年月日入力.開始年月日.text, 年月日入力.終了年月日.text)
 
 'で試してみて下さい
 
 'Adoの5.0でこちらで確認しましたが、.Textをつけた時は正常終了しました
 
 
 >  Set myRS = myCmd.Execute(Parameters:=myArray) ここでエラーになります。
 >
 >  Sheet1.Select
 >  Range("A1").CurrentRegion.ClearContents
 >  Range("A2").CopyFromRecordset myRS
 >
 > Set myCmd = Nothing
 > myRS.Close
 > Set myRS = Nothing
 > myCon.Close
 > Set myCon = Nothing
 >
 >End Sub
 
 それとこの投稿を見ている人が簡単に再現できるように
 再現するテーブル構造や "クエリ図書貸出簿2"にあたるクエリの内容(Sql)も記述してくださいね!!
 
 |  |