Access (VBA)

Access VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows Vista全般 : Access 2013)
excelへの取り込み
投稿日時: 19/08/15 10:58:33
投稿者: kasama

access初心者です。
excelへデータを取り込みたいのですが、うまくできません。
デバックでは6行目がエラーと出ています。
何がおかしいのか教えてください。
 
========================================================
Sub test()
 
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim constr As String
 
constr = "provider=microsoft.ace.olede.12.0;date source=C:\Users\Desktop\test.accdb"
con.Open ConnectionString:=constr
rs.Open Source:="商品", ActiveConnection:=con, _
CursorType:=adOpenKeyset, LockType:=adLockOptimistic
 
End Sub
========================================================

回答
投稿日時: 19/08/16 21:10:05
投稿者: ふるふる
投稿者のウェブサイトに移動

>デバックでは6行目がエラーと出ています。
 
エラーメッセージは?
エラーメッセージはとても重要な情報です。エラーメッセージを理解すれば問題の解決が早まります。
ConnectionStringの内容が環境に合っていないのが原因でしょう。
>constr = "provider=microsoft.ace.olede.12.0;date source=C:\Users\Desktop\test.accdb"
 
Date ではなく、Data ではないかと。
あと、今後のために。
何処でもいいので、拡張子がudlのファイルを作成します。新規作成でテキストファイルを作り、拡張子を.txtから.udlに変えればいいです。
そうしたら.udlファイルをダブルクリックします。
データベースへの接続情報を作成するウィンドウが出てくるので、接続したいデータベースに合わせて設定します。接続がOKになったら、保存して一旦閉じます。
今度はこのファイルを右クリックしてNotepad(あるいは他のテキストエディター)で開きます。
するとデータベースへの接続文字列が作成されています。
 
データベースへの接続文字列を作成する方法として知っておくと便利です。

投稿日時: 19/08/17 10:01:17
投稿者: kasama

〈ふるふるさん〉
できました!お恥ずかしい。。。
エラーメッセージを理解するまでまだ達してないので悪戦苦闘してます。
 
あと、udlのファイルを作成する内容ですが、ネットで調べてもあまりよく分からずどのようにすれば作成できますか?

回答
投稿日時: 19/08/21 00:08:25
投稿者: ふるふる
投稿者のウェブサイトに移動

Windowsの設定で、ファイルの拡張子を表示するようにしてますか?
デフォルトでは拡張子は表示されませんが、開発をするなら拡張子の表示は必須です。
 
なぜこんなことを書いたのかというと、既にどうやってudlファイルを作成するのかは回答しているからです。
 
最初の質問でもそうですが、注意力が足りていません。
 
デバッグでは特に注意してソースを読むことが求められます。
DateとDataなんてのはよくある間違いで、私は今でもやらかします。エラーメッセージからこの辺がおかしいはず、というのはわかってきますので、やはり注意力ですね。
言語によっては大文字小文字で違うと判断しますし。
 
動いているソースとエラーの出ているソースを見比べる、というのもよくあることです。
 
サイゼリヤの間違い探しは必ずやる、というのはプログラマーあるあるかも。
 

トピックに返信