アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
現在、在庫管理の簡易システムを作成しています。
環境は、下記の通りです。
言語:VB2005
DB:Access2003

AccessのテーブルにCSVの在庫データの取り込みを作成中ですが、下記のエラーが発生します。
「ファイル 'C:\Temp\HAS4PJ\HZaiko20090319160646.mdb' が見つかりませんでした。」

デバッグをすると、CSVのファイル名は確かに「ファイル名.csv」なのですが、
エラーで表示されるファイル名は、「ファイル名.mdb」と表示されます。
因みにソースは下記の通りです。
------------------------------------
Dim csvNm As String
Dim fbd As New FolderBrowserDialog
Dim ofd As New OpenFileDialog

With ofd
.Title = "本社在庫取込"
.FileName = "HZaiko*.csv"
.FilterIndex = 1
.Filter = "CSVファイル(*.csv)|*.csv|すべてのファイル(*.*)|*.*"
.Multiselect = False
.InitialDirectory = Application.StartupPath & "\CSV\"
If .ShowDialog = Windows.Forms.DialogResult.OK Then
csvNm = .FileName
Dim tfp As New FileIO.TextFieldParser(csvNm, System.Text.Encoding.GetEncoding(932))
MsgBox(csvNm)
tfp.Delimiters = New String() {","}
Dim Cnn As New OleDb.OleDbConnection(My.Settings.HAS4DBConnectionString)
Dim Cmd As OleDb.OleDbCommand = Cnn.CreateCommand()
Cnn.Open()

Dim sSQL As String = "SELECT * FROM " & csvNm
Dim dt As New DataTable
Dim Da As New OleDb.OleDbDataAdapter(sSQL, Cnn)
Da.Fill(dt) <--ここでエラー発生!
'objDa.SelectCommand = objCmd
Da.Update(Me.HaS4DBDataSet1.t_wrkZaiko)
End If
End With
----------------------------------
以上、情報をお持ちの方がいらっしゃいましたらよろしくお願いいたします。

A 回答 (1件)

単純に、接続文字列がmdb用なのに、CSVを読みにいっているからじゃないでしょうか?


一つの接続で、CSVとMDB両方にアクセスしようとしているように見えるのですが、WordでExcelファイルを開こうとしているようなもので、無理があります。
別の種類のデータテーブルを一括でコピーする方法は有るのかもしれませんが、素直に考えたら
CSVの接続でデータ取得→mdbの接続でのデータテーブルに値をコピー→MDBに更新
の流れになるんじゃないかと思うのですが…。

ちなみに、CSVの場合の接続文字列はこうなるようです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!