0

これを行う方法はありますか?私はExcelに6000行あり、SQLデータベースにインポートするのに数か月かかります。

たとえば、Excelの列Aと列Bがあり、それを列Aと列BのSQLテーブルにインポートしたいと思います。

ありがとう!

4

2 に答える 2

0

これは、書籍データベースに使用した VBA によるアプローチです。DB への接続を確立できる限り、それほど難しくありません。明らかに、データベースとデータを操作するには、少し調整する必要があります。特に、データベースに接続するには、SQL 文字列を調整する必要があります (「test.yourdatabase」を変更します)。

Sub addBook(title As String, author As String, link As String, foundBy As String)
  ' for this code to work, you need a reference to the MS Activex
  ' data access objects
  ' Tools|References... microsoft activex data objects 2.8 (or newer)

  Dim cn As New Connection
  Dim cs As String
  Dim un as String
  Dim pw as String
  Dim sql As String


  cs = "DRIVER=SQL Server;SERVER=websql.org,5901;DATABASE=websql" 'connection string 

  un = username 'this is the username for the database

  pw = password 'this is the password for the database account

  cn.Open cs, Range("un").Value, Range("pw").Value


  sql = "insert into test.yourdatabase(searchtitle, searchAuthor, link, foundBy, foundTime) values(" & _
  "'<TITLE>', " & _
  "'<AUTHOR>', " & _
  "'<LINK>', " & _
  "'<FOUNDBY>', " & _
  "getdate());"

  'replace statements are for correcting any ' that occure in the titles or names

  sql = Replace(sql, "<TITLE>", Replace(title, "'", "''"))
  sql = Replace(sql, "<AUTHOR>", Replace(author, "'", "''"))
  sql = Replace(sql, "<LINK>", Replace(link, "'", "''"))
  sql = Replace(sql, "<FOUNDBY>", Replace(foundBy, "'", "''"))

  'Debug.Print sql

 cn.Execute sql

  cn.Close
End Sub
于 2012-05-02T20:07:41.807 に答える