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