tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル SQLでテーブル間でフィールドコピーするには?
投稿日: 2012/03/06(Tue) 10:51
投稿者ペコ
[開発環境]
・Windows7 64Bit
・VisualBasic2008EE
・Access2000
------------------------------
SQLについて質問です。

テーブル間でのフィールドのコピーを行いたいのですが、
下記のコード(モジュール)を連続的に実行すると
コピー先で本来
[フィールドA][フィールドB]
AAA           BBB
AAA           BBB
AAA           BBB
となるべきところが
[フィールドA][フィールドB]
AAA
AAA
AAA
              BBB
              BBB
              BBB
のようにズレてしまいまう上、コピー先ではオートナンバー型のフィールドも中途半端な番号から始まってしまいます。
また、コピーするフィールドによっては
「指定されたデータ量がフィールドサイズを超えています」
といったエラーも発生します。

何が原因かわかりません。
どなたかアドバイスをお願いいたします。

[--- コード ---]
    Sub DbCopyField(ByVal myFilePath As String, ByVal myExpTableName As String, ByVal myExpFieldName As String, ByVal myImpTableName As String, ByVal myImpFieldName As String)

        Dim Cn As New System.Data.OleDb.OleDbConnection(Provider & myFilePath)
        Dim SQLCm As System.Data.OleDb.OleDbCommand = Cn.CreateCommand

        Try
            Cn.Open()
            SQLCm.CommandText = "INSERT INTO " & myImpTableName & "(" & myImpFieldName & ") SELECT " & myExpFieldName & " FROM(" & myExpTableName & ")"
            SQLCm.ExecuteNonQuery()
            Cn.Close()

        Catch ex As Exception
            MessageBox.Show(ex.Message)
            Cn.Close()
        End Try

    End Sub

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。