C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: データベース間のレコードコピーでエラー


(過去ログ 104 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■61862 / inTopicNo.1)  データベース間のレコードコピーでエラー
  
□投稿者/ まぁ (1回)-(2011/09/09(Fri) 11:26:00)

分類:[VB.NET/VB2005 以降] 

開発環境等:Vista VB.NET2008 Microsoft.Jet.OLEDB.4.0

あるデータベース(Master.mdb)のテーブル(tblSagyoushaFull)から必要なカラムのデータだけ取り出して、
別のデータベース(MasterA.mdb)のテーブル(tblSagyousha)を新規に作る事を考えています。

以下のコードでデバッグ実行ではエラーなく動きますが、コンパイルした実行ファイルでは実行時にエラー発生します。
※下記のコピー実行の部分で「FROM 句の構文エラーです。」が発生

この場合のSQL文の書き方または、別のデータベースからデータをうまく持ってくる方法ご教授下さい。
宜しくお願いします。


Dim CN As New System.Data.OleDb.OleDbConnection
Dim SQL As System.Data.OleDb.OleDbCommand

'データベースファイル名
Dim myDBFileName As String 'コピー元
Dim myDBFileNameA As String 'コピー先
Dim myCount As Integer

myDBFileName = myRootPath & "\Master.mdb"
myDBFileNameA = myRootPath & "\MasterA.mdb"
If Dir(myDBFileName) = "" Then Exit Sub
If Dir(myDBFileNameA) = "" Then Exit Sub

CN.ConnectionString = "Provider=""Microsoft.Jet.OLEDB.4.0"";" & "Data Source=""" & myDBFileNameA & """;"
SQL = CN.CreateCommand

'一旦コピー先のテーブル削除
SQL.CommandText = "DROP TABLE tblSagyousha"
CN.Open()
myCount = SQL.ExecuteNonQuery()
CN.Close()

'コピー実行
SQL.CommandText = "SELECT Code,Namae INTO tblSagyousha FROM " & myDBFileName & ".tblSagyoushaFull"
CN.Open()
myCount = SQL.ExecuteNonQuery()
CN.Close()

SQL.Dispose()
CN.Dispose()


引用返信 編集キー/
■61863 / inTopicNo.2)  Re[1]: データベース間のレコードコピーでエラー
□投稿者/ shu (980回)-(2011/09/09(Fri) 12:16:16)
No61862 (まぁ さん) に返信

外部MDBテーブルの参照は
テーブル名 in ファイル名
ではなかったかな?
引用返信 編集キー/
■61865 / inTopicNo.3)  Re[2]: データベース間のレコードコピーでエラー
□投稿者/ まぁ (2回)-(2011/09/09(Fri) 13:13:49)
No61863 (shu さん) に返信
> ■No61862 (まぁ さん) に返信
>
> 外部MDBテーブルの参照は
> テーブル名 in ファイル名
> ではなかったかな?

SQL.CommandText = "SELECT ID,fEnable,Code,fName,Furigana,Place INTO tblSagyousha FROM tblSagyoushaFull in """ & myDBFileName & """"

shuさん、ありがとうございます。
上記のコードで無事エラーがなくなりました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -