ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] excel vba (´¡¤J¸ê®Æ)insert ¶i sqlite ½wºC°ÝÃD

¦^´_ 12# koshi0413


    ZA=cells(i,j)

¥ý§âCELLS´«¦¨°}¦C
«á­±ªºZA³£¤£¥Î°Ê,´N¤w¸g§Ö«Ü¦h¤F
·N«ä¬O¤@¼Ëªº

VBA±j¨îÂà´«¤å¦rªº«ü¥O¬OCSTR(XXX)
100¦h­ÓÀx¦s®æ¤]¬O¤@¼Ë
¥ý¤@¦¸©ÊÂର°}¦C
µM«á¶]¦^°é
©p¦pªG¨S¦³Âà°}¦C¥Îrange("A" & i) ¤j·§·|ºC¨ì·Q­n¥´¤H§a!
PKKO

TOP

p¤j¡A
('Bob','SHIT','TWN','SHIT2','SHIT3',2016-01-01," & 100 + i & ")"  << ³o¦æ¬O¤p§Ì¬Ý¤£À´ªº¦a¤è
®¦~~¬°¦ó¬Ý¤£À´¡A¬O¦]¬°¤p§Ì­n³v¦æ120­ÓÀx¦s®æ¬Ò¼g¤J¡A
ÁÙ¬O­n¼g¦¨  strSQL = "INSERT INTO customer VALUES (Range("A" & i),Range("B" & i),Range("C" & i),.......¦@120­Ó.......," & 100 + i & ")"
§Ú¦n¹³Æ[©À©Ç©Çªº@@
  1. Sub WRITE_SQL() '¼g¤J¸ê®Æ
  2. conn_connect'³o¬O©I¥s¶}±ÒSQL
  3. For i = 1 To 10000
  4.     strSQL = "INSERT INTO customer VALUES ('Bob','SHIT','TWN','SHIT2','SHIT3',2016-01-01," & 100 + i & ")" '¨C¤@¦Cªº»yªk
  5.     If i = 1 Then
  6.            strSQL2 = strSQL
  7.     Else
  8.            strSQL2 = strSQL2 & ";" & strSQL'±N»yªk³s±µ
  9.     End if
  10. Next
  11. Conn.Execute (strSQL2)'°õ¦æSQL
  12. End Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ koshi0413 ©ó 2016-12-31 14:34 ½s¿è

¦^´_ 10# PKKO

¥i§_½Ðp¤j¨ó§U¤@¤U¡A¬Ý¤p§Ìªº»yªk¬O¤£¬O¦³°ÝÃD  
¦]¬°¦b¶]  For j = 3 To rcnt  << ³Ì¦h·| 3 to 10000 °j°é³\¤[
za = cell(j,i) ¬O¬°¤FªÅ®æ&¦r¦ê§P§O¡A³o¦n¹³¤£³o¼Ëªº¸Ü¾É¤J¤é´Á³£¿ù»~¡AÁÙ¬O¥i¥H³o¼Ë  str("2016/03/03") ³o¼ËÂà´«¦¨¦r¦ê

¦Ü©ó¾É¤Jsqlite3 ¬O³o¦æ¡A¶}Ãö¤@¤U´Nµ²§ô¤F¡A¥Ø«eÃö¥d¦b °j°é¤Ó¤[ orz.....
Set cn = CreateObject("adodb.connection")
    cn.Open ("Driver={SQLite3 ODBC Driver};database=" & SQLName)
    cn.Close
Set cn = Nothing

ps:¤p§Ì¬Oµ{¦¡¥Õ·ö¡A¥þ¦Û¾Çªº¡A python¤ñ¸û¶¶¤â
  1. Sub SQLite_insert()

  2. Sheets("SQL JOIN").Select
  3. SQLName = "D:\Dropbox\SQLite3\StockAll.sqlite"

  4.     insert = "insert into StockAll values"
  5.     ret = ""
  6.     ret = insert
  7.         et = 114 '¾É¤Jªº¼ÐÃD¼Æ
  8.         rcnt = Range("A1").CurrentRegion.Rows.Count '­pºâ©Ò¦³ªº¦æ
  9.             For j = 3 To rcnt
  10.                 zc = ""
  11.                     For i = 1 To et
  12.                         za = Cells(j, i)
  13.                             If za = "" Then 'ªÅ®æÂà´«
  14.                                 za = 0
  15.                                 
  16.                             ElseIf i = 2 Then '¤é´ÁÂà´«
  17.                                 If (Len(Split(za, "/")(1)) = 1) And (Len(Split(za, "/")(2)) = 1) Then
  18.                                     za = Split(za, "/")(0) & "-0" & Split(za, "/")(1) & "-0" & Split(za, "/")(2)
  19.                                 ElseIf Len(Split(za, "/")(1)) = 1 Then
  20.                                     za = Split(za, "/")(0) & "-0" & Split(za, "/")(1) & "-" & Split(za, "/")(2)
  21.                                 ElseIf Len(Split(za, "/")(2)) = 1 Then
  22.                                     za = Split(za, "/")(0) & "-" & Split(za, "/")(1) & "-0" & Split(za, "/")(2)
  23.                                 Else
  24.                                     za = Split(za, "/")(0) & "-" & Split(za, "/")(1) & "-" & Split(za, "/")(2)
  25.                                 End If
  26.                                 
  27.                             End If
  28.                         zc = zc & "'" & za & "',"
  29.                     Next i
  30.                 zc = Left(zc, Len(zc) - 1)  '§R°£³Ì«á¤@­Ó","
  31.                 rez = "(" & zc & ")"
  32.                 ret = ret & rez & ","
  33.                 DoEvents
  34.             Next j
  35.         'MsgBox "¶]§¹°j°é"
  36.         ret = Left(ret, Len(ret) - 1)  '§R°£³Ì«á¤@­Ó","
  37.         SqlImport = ret
  38.         
  39. Set cn = CreateObject("adodb.connection")
  40.     cn.Open ("Driver={SQLite3 ODBC Driver};database=" & SQLName)
  41.     cn.Close
  42. Set cn = Nothing
  43. End Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ PKKO ©ó 2016-12-28 21:48 ½s¿è

¦^´_ 9# koshi0413


   excel ¤£·|ºC¨ì­þÃä¥h®@
§Úªº³£¬O¤@¬í¦h´Nµ²§ô¤F(¤@¬í¬O¦]¬°­n¶}±Ò©MÃö³¬¸ê®Æ®w)
±zªº³t«×ºC¬O¦]¬°©p¥Î¤FZA=CELLS(I,J)

excel­n§Ö³Ì°ò¥»ªº­n¥ó´N¬O¥ýÂର°}¦C
¨Ò¦p
RNG=[A1].RESIZE(100,10).VALUE'¨ú¥X100¦C*10Äæ¦ìªº¸ê®Æ
±µµÛ§â©pªºcells´«¦¨RNG´N¥i¥H¤F
excelŪ¨úÀx¦s®æ¬O«D±`ºCªº³t«×
Ū¨ú°}¦C¬O«D±`§Öªº,©ñ¸ê®Æªº®É­Ô¤]¤@¼Ë®@,¤£¯à¤@­Ó¤@­Ó©ñ,­n¤@¦¸©ñ¤@¾ã­Ó°}¦C¶i¥h®@!

¥H¤Î¤W¤è¥ý©ñ¤J¹Bºâªºµ{¦¡,ÁקK¨C¤@­Óif³£­n°õ¦æ¤@¦¸SPLIT
PKKO

TOP

¦^´_ 8# PKKO

P¤j
¤p§Ìªº¨Ò¤l´N¬O¥Î¸ò±z¤@¤Uªº¤èªk
®¦   vba¶]°j°é¬O¤£¬O¤ñ¸ûºC©O¡H
¤@¦¸500µ§«Ü§Ö
¤@¦¸7999µ§¡A¤@¤ÀÄÁ
µM«á¤@¦¸©Ê¥á¤J sqlite3

j¤jªº§å¦¸¤è¦¡¡A¦n¹³´N¬O 7999/500 ¡A¤À¬qªº¤@¦¸©Ê¥á¤J
¥u¬O¤p§Ì¤À¬q¥á¤J³£¥Xªù¡A7999/3000 ¡A¤]¤@¼Ë¥á¤£¶i¡A
«Ü©_©Ç¡A¤£ª¾¹D¬O¤£¬Osqlite3¤ÏÀ³®É¶¡ªº°ÝÃD¡A¤U¦¸¦³ªÅ, ¤¤¶¡¥á­Óµ¥«Ý¦n¤F
¤£¹L³o¼Ë¤@¨Ó¡A´N¸ò¤@¦¸©Ê7999°j°é®t¤£¦h®É¶¡¡H
­n¸Õ¸Õ~~

TOP

¦^´_ 5# joey0415


¤p§Ì¥ÎEXCEL¼g¤Jmysql ©M mssql ¥H«e¤]¹J¨ì¬Û¦Pªº°ÝÃD
¦ý¤p§Ì¸Ñ¨Mªº¤è¦¡¤£¬O®¼Àu,±z¤£¶û±óªº¸Ü¥i¥H¸Õ¸Õ¬Ý

¥Î³s±µ²Å¸¹=";"  
§â»yªk³s±µ°_¨Ó,EXCUTEªº°Ê§@µ¥°j°é¶]§¹¤§«á,¦Aµ¹¥L¤@¦¸EXCUTE´N¦n¤F

±zªº»yªk¥D­n¬OºC¦b¼Æ¶q¦h,§A¨C¤@¦C³£¥´¶}¸ê®Æ®w³sµ²¤@¦¸,¦]¦¹³t«×ºC¤F
³s±µ¦b¤@°_´N¥u­n¥´¶}¸ê®Æ®w¤@¦¸,¤@¦¸©ñ¤J¤­¦Êµ§¸ê®Æ,´N«D±`§Ö¤F!
  1. Sub WRITE_SQL() '¼g¤J¸ê®Æ
  2. conn_connect'³o¬O©I¥s¶}±ÒSQL
  3. For i = 1 To 10000
  4.     strSQL = "INSERT INTO customer VALUES ('Bob','SHIT','TWN','SHIT2','SHIT3',2016-01-01," & 100 + i & ")"'¨C¤@¦Cªº»yªk
  5.     If i = 1 Then strSQL2 = strSQL Else strSQL2 = strSQL2 & ";" & strSQL'±N»yªk³s±µ
  6. Next
  7. Conn.Execute (strSQL2)'°õ¦æSQL
  8. End Sub
½Æ»s¥N½X
PKKO

TOP

¦^´_ 6# koshi0413

­è¤~¸Õ¤F¡@¢¶¢¸¢·¢²µ§¡A¢°¤ÀÄÁ
pythonªº for ¦n¹³¤ñ¸û§Ö  «¢«¢
¥i¬Oexecl ÁÙ¬O¦³¤è«K­pºâªº¦a¤è

TOP

¦pªG¤j¤jÁÙ¦³§ó¦nªº¤èªk¡A½Ð¦^¤åÅý¤p§Ì¦h¾Ç²ß¡A³o¸ê®Æ¥i¬Oªá¤F«Ü¤[ªº®É¶¡¤~¬ð¯}ªº
joey0415 µoªí©ó 2013-8-7 16:10


¤p§Ì¤Þ¥Î§A¤W­zªº¤è¦¡¡A¤@ª½¶]¨ì²Ä500µ§§Y¥¢±Ñ
¥H¤U¬O¤p§Ìªº¤èªk¡A³t«×¦n¹³ÁÙ¦n¡A½d¦C 4000µ§¡A¦³¤ñ§A­ì¨Óªº¤@µ§¤@µ§§Ö¡A¦ýÀ³¸Ó¤ñ§Aªº¤@¦¸500µ§ºC
  1. Sub SQLite_insert()

  2. Sheets("SQL JOIN").Select
  3. SQLName = "D:\Dropbox\SQLite3\Stock.sqlite"

  4.     insert = "insert into Stock values"
  5.     ret = ""
  6.     ret = insert
  7.    
  8.     et = 113 '¾É¤Jªº¼ÐÃD¼Æ
  9.     rcnt = Range("A1").CurrentRegion.Rows.Count '­pºâ©Ò¦³ªº¦æ
  10.     xa = 3 '±q²Ä¤T¦æ¶}©l­pºâ

  11.             For j = xa To rcnt - 2
  12.                 zc = ""
  13.                     For i = 1 To et
  14.                         za = Cells(j, i)
  15.                             If za = "" Then 'ªÅ®æÂà´«
  16.                                 za = 0
  17.                                 
  18.                             ElseIf i = 2 Then '¤é´ÁÂà´«
  19.                                 If (Len(Split(za, "/")(1)) = 1) And (Len(Split(za, "/")(2)) = 1) Then
  20.                                     za = Split(za, "/")(0) & "-0" & Split(za, "/")(1) & "-0" & Split(za, "/")(2)
  21.                                 ElseIf Len(Split(za, "/")(1)) = 1 Then
  22.                                     za = Split(za, "/")(0) & "-0" & Split(za, "/")(1) & "-" & Split(za, "/")(2)
  23.                                 ElseIf Len(Split(za, "/")(2)) = 1 Then
  24.                                     za = Split(za, "/")(0) & "-" & Split(za, "/")(1) & "-0" & Split(za, "/")(2)
  25.                                 Else
  26.                                     za = Split(za, "/")(0) & "-" & Split(za, "/")(1) & "-" & Split(za, "/")(2)
  27.                                 End If
  28.                                 
  29.                             End If
  30.                         zc = zc & "'" & za & "',"
  31.                     Next i
  32.                 zc = Left(zc, Len(zc) - 1)  '§R°£³Ì«á¤@­Ó","
  33.                 rez = "(" & zc & ")"
  34.                 ret = ret & rez & ","
  35.             Next j
  36.         ret = Left(ret, Len(ret) - 1)  '§R°£³Ì«á¤@­Ó","
  37.         SqlImport = ret
  38.         
  39. Set cn = CreateObject("adodb.connection")
  40.     cn.Open ("Driver={SQLite3 ODBC Driver};database=" & SQLName) '¶}±Òsqlite«ü©w¸ê®Æ®w¡A¸ô®|»PÀɮצWºÙ­n¹ï
  41.     cn.Execute (SqlImport)
  42.     cn.Close
  43. Set cn = Nothing
  44. End Sub
½Æ»s¥N½X

TOP

¦pªG¤j¤jÁÙ¦³§ó¦nªº¤èªk¡A½Ð¦^¤åÅý¤p§Ì¦h¾Ç²ß¡A³o¸ê®Æ¥i¬Oªá¤F«Ü¤[ªº®É¶¡¤~¬ð¯}ªº

TOP

§ä¨ì¸Ñ¨Mªº¤èªk¤@¡A«D¥¿¦¡¡K

sql»y¥y¨Ò¦p
INSERT INTO "ªí®æ¦W" ("Äæ¦ì1", "Äæ¦ì2", ...)VALUES ("­È1", "­È2", ...);
sqlite¥¦¤¹³\
INSERT INTO "ªí®æ¦W" ("Äæ¦ì1", "Äæ¦ì2", ...)VALUES ("­È1", "­È2", ...),("­È3", "­È4", ...),("­È5", "­È6", ...);
ªº¤èªk¡A¤@¦¸³Ì¦h¿é¤J500²Õ¼Æ­È¡A¶W¹L«á¤@¼Ë·|³ø¿ù

¦pªG§A¦³1534²Õ­ninsert¶i¸ê®Æ®w¤¤¡A¥i¥H¤À¦¨¥|²Õ 34  500 500 500 ªº¤èªk¤À§å¥[¶i¸ê®Æ®w¤¤
¦pªG¬O¤@²Õ²Õ¿é¤J¡A¤W¨Ò¤j·§­n30¬í¥H¤W
¦pªG¬O¤À¥|²Õ¿é¤J¡A¦ô¤£¥Î2¬í

¥H¤U¬O­Ó¤Hµ{¦¡½X¡G¶È¨Ñ°Ñ¦Ò
  1. Sub sqlite§å¦¸insert¦hµ§¦¨¥\()
  2. '³Ì¦h¤@¦¸500±ø¡A­n¤À¬q©ñ¶i¥h

  3.     Dim x, rcnt, i
  4.     Dim sql_command As String
  5.     Dim connection_string As String
  6.    
  7.     Worksheets(1).Activate
  8.     rcnt = Range("a1").CurrentRegion.Rows.Count
  9.     ­¿¼Æ = (rcnt \ 500)
  10.     zx = rcnt Mod 500 '§ä500¾l¼Æ

  11.      
  12.      j = 0

  13.         If rcnt < 500 Then  '¦pªG¤p©ó500®É¥u­pºâ¤U­±¸ê®Æ
  14.         
  15.                         aa = "insert into dbs(yyyymmdd, stockname, tradercode, price, buyamount, sellamount) values"
  16.                         Set x = CreateObject("adodb.recordset")
  17.                         cc = ""
  18.                         cc = aa
  19.                         i = 1

  20.                             For i = 1 To rcnt
  21.                                 bb = "('" & Cells(i, 1) & "','" & Cells(i, 2) & "','" & Cells(i, 3) & "','" & Cells(i, 4) & "','" & Cells(i, 5) & "','" & Cells(i, 6) & "')"
  22.                                 '¦ê±µ­ninsertªº¼Æ­È¹ï
  23.                                 cc = cc & bb & ","
  24.                             Next
  25.         
  26.                         cc = Left(cc, Len(cc) - 1)  '¨ú¦r¦ê¨Ã§R°£³Ì«á¤@­Ó","
  27.                         sql_command = cc
  28.                         connection_string = ("Driver={SQLite3 ODBC Driver};database=D:\ªÑ²¼¸ê®Æ¤U¸ü\dbs.sqlite")
  29.                         x.Open sql_command, connection_string
  30.                         Set x = Nothing

  31.         Else '¦pªG¤j©ó500®É¡A­nºâ¤U­±¨âºØ¸ê®Æ
  32.         
  33.                         aa = "insert into dbs(yyyymmdd, stockname, tradercode, price, buyamount, sellamount) values"
  34.                         Set x = CreateObject("adodb.recordset")
  35.                         cc = ""
  36.                         cc = aa
  37.                         i = 1
  38.                             For i = 1 To zx
  39.         
  40.                                 bb = "('" & Cells(i, 1) & "','" & Cells(i, 2) & "','" & Cells(i, 3) & "','" & Cells(i, 4) & "','" & Cells(i, 5) & "','" & Cells(i, 6) & "')"
  41.                                 cc = cc & bb & ","
  42.                             Next
  43.                         cc = Left(cc, Len(cc) - 1)
  44.                         sql_command = cc
  45.                         connection_string = ("Driver={SQLite3 ODBC Driver};database=D:\ªÑ²¼¸ê®Æ¤U¸ü\dbs.sqlite")
  46.                         x.Open sql_command, connection_string
  47.                         Set x = Nothing

  48.                         For j = 0 To ­¿¼Æ - 1
  49.         
  50.                         aa = "insert into dbs(yyyymmdd, stockname, tradercode, price, buyamount, sellamount) values"
  51.                         Set x = CreateObject("adodb.recordset")
  52.                         cc = ""
  53.                         cc = aa
  54.                         i = 1
  55.         
  56.                             For i = j * 500 + zx + 1 To (j + 1) * 500 + zx
  57.         
  58.                                 bb = "('" & Cells(i + j * 500, 1) & "','" & Cells(i + j * 500, 2) & "','" & Cells(i + j * 500, 3) & "','" & Cells(i + j * 500, 4) & "','" & Cells(i + j * 500, 5) & "','" & Cells(i + j * 500, 6) & "')"
  59.                                 cc = cc & bb & ","
  60.         
  61.                             Next
  62.         
  63.                         cc = Left(cc, Len(cc) - 1)
  64.                         sql_command = cc
  65.                         connection_string = ("Driver={SQLite3 ODBC Driver};database=D:\ªÑ²¼¸ê®Æ¤U¸ü\dbs.sqlite")
  66.                         x.Open sql_command, connection_string
  67.                         Set x = Nothing
  68.                     Next
  69.         
  70.         End If

  71. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¤ß¤¤±`¦sµ½¸Ñ¡B¥]®e¡B·P«ä¡Bª¾¨¬¡B±¤ºÖ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD