|
▼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)も記述してくださいね!!
|
|