| 
    
     |  | ▼ichinose さん: >▼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をつけた時は正常終了しました
 '   2.5でした。
 
 >
 >
 >>  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)も記述してくださいね!!
 
 
 |  |