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

[µo°Ý] VBA ªºSQL»yªk½Ð±Ð¦U¦ìÀ´SQLªº¤j¤j

[µo°Ý] VBA ªºSQL»yªk½Ð±Ð¦U¦ìÀ´SQLªº¤j¤j

¤@¡B·í¨ú±oSQLªº¸ê®Æ«á(¤w¸g±o¨ì¸ê®Æ),¥Î­þ¤@ºØ»yªk,¯à°÷³Ì§Ö³tªº±N¸ê®Æ¿é¥X¦Üexcel
EX:rng°}¦C¿é¤Jªº¤è¦¡,¦]¸Ó¬O:range("a1").resize(ubound(rng),ubound(rng,2)).value=rng
¥i¬OSQL¨ú±o¸ê®Æ«áµLªk¨Ï¥Î¦¹»yªk,¤£¾å±o°ª¤â¤j¤j­Ì³£¬O¥Î­þ¤@ºØ»yªk
¤p§Ì¥uÀ´±o¤U¦C2ºØ»yªk,½Ð°Ý¦³§ó§Ö³tªº¿é¥X»yªk¶Ü?©Î¬O±q­þÃä¥i¥H±oª¾¬ÛÃöªº»¡©úºô¯¸
conn¬°ADODB.Connection
1
ActiveSheet.Range("a1").CopyFromRecordset conn.Execute(strSQL)
2
Rng = conn.Execute(strSQL).GetRows  'Âର°}¦C(¬Û¤Ïªº)
Range("a1").Resize(UBound(Rng, 2) + 1, UBound(Rng) + 1).Value = Application.Transpose(Rng)


¤G¡B·í¨ú±oSQLªº¸ê®Æ«á(¤w¸g±o¨ì¸ê®Æ),¥Î­þ¤@ºØ»yªk,¯à°÷³Ì§Ö³tªº±N¸ê®ÆÂà´«¬°°}¦C
¤p§Ì¥u·|¥Îgetrowsªº¤èªkÂà´«¬°°}¦C(¦ýÁٻݭnÂà¸m¡A¤~¬O¥¿±`ªº¶¶§Ç)
©Î¬O¤£¥ÎÂà´«¬°°}¦C,­n¦p¦óŪ¨ú¥X¦¹­È(¦b¤£¿é¥X¦ÜexcelÀx¦s®æ¤Wªº±¡ªp¤§¤U¡A¦]¬°¿é¥X¤§«á¦AŪ¨ú¹ê¦b¤ÓºC¦Ó¥B¤£«K)
PKKO

¦^´_ 1# PKKO

http://forum.twbts.com/viewthread.php?tid=12095

ÃöÁä¦r  CopyFromRecordset

·|§Ö¤@ÂI

TOP

¦^´_ 2# joey0415


    ·PÁ¤j¤j,±z«Øijªº¤è¦¡¤]¬O§Ú¥Ø«e¥¿¦b¨Ï¥Îªº¤è¦¡

¥t¥~±zÂàpoªº¤å³¹,¤]¦³À°§U
¤U¤ècode,§Ú¨Ã¤£¾å±o¥i¥H¥Î³oºØ¤è¦¡,Ū¨ú¸ê®Æ
Set rs = conn.Execute(strSQL)
[E1] = rs.Fields(0)

¦ý¦¹¤è¦¡¥u¯àŪ¨úFieldsÄæ¦ì
µLªk±N¾ã­Ó¬d¸ßªºµ²ªG³£Åª¨ú
¤p§Ì¥u¬ã¨s¥XGetRowsªº¤è¦¡¥i¥HÂର°}¦C
¤£¹LÁÙ­nÂà¸m,¦]¦¹·|¦hªá¤@¨Ç®É¶¡
¤£¾å±o¤j¤j¦³§Oªº¤èªk¶Ü?
PKKO

TOP

¦^´_ 3# PKKO
§Ú¦Û¤v¥H«e³o¼Ë¼g¡A§A°Ñ¦Ò¬Ý¬Ý
  1.         sub ex
  2.                
  3.                         Set cnn = CreateObject("adodb.connection")
  4.                         cnn.Open ("Driver={SQLite3 ODBC Driver};database=" & ThisWorkbook.Path & "\CB.sqlite")'¦Û¦æ­×§ïdrive
  5.                         Set rss = cnn.Execute("select * from XXX")
  6.                                 For i = 0 To rss.Fields.Count - 1 '¨ú¼ÐÃD¡A¦pªG¤£­n¥i¬Ù²¤
  7.                                         Cells(1, i + 1) = rss.Fields(i).Name
  8.                                 Next
  9.                         Worksheets("X").Cells(2, 1).CopyFromRecordset (rss) 'cells(2,1)²Ä¤@¦æ¦³¼ÐÃD
  10.                         cnn.Close

  11.                         Set cnn = Nothing
  12.                         Set rss = Nothing
  13.                
  14.                 end sub
½Æ»s¥N½X

TOP

¦^´_ 4# joey0415


    ·PÁ¤j¤j
PKKO

TOP

¥»©«³Ì«á¥Ñ singo1232001 ©ó 2022-12-22 18:20 ½s¿è

¦^´_ 5# PKKO

¥ý·PÁÂ joey0415 ¸ò PKKO ¤j¤j

¤µ¤Ñ§Ú¤]¼²¨ì³o­Ó°ÝÃD¤F
·Q½Ð¤j®v¤ä´©¤@¤U

¥Ø«eÆ[¹î¨ìªºª¬ªp¦p¤U


¥¿±`ªº ¤Gºû°}¦C  ¥i¥H¨Ï¥ÎTranspose¤è¦¡Âà¸m  Âà90«×

¦ý³o­Ó°}¦C¤£¬O¤@¯ëÃþ«¬ªº
·í±qsql»yªk¨úªº¸ê®Æ,¥Î¤FGetrows«áÀò±o°}¦C«á
¥L°}¦C¸Ì­± ¨C­Ó"®æ" ³£¦³¦Û±aÄÝ©Ê (¤W¹Ï¥¿±`°}¦C ³£¬Ostring  ,  ±qsql¥X¨Óªº ¦³null date string int variant¦UºØ¸ê®ÆÄÝ©Ê)
³o´N¦nª±¤F

·QÂà°}¦C ¤£µ¹Âà ©Î³\¬OÄÝ©Ê¥d¦í
¥Ø«e¦n¹³¤]¥u¯à¤g¬¶ªº ¼g­Ó¤èªk±ÛÂà¦Ó¤w

°Ý1.¦³¶W²³æ±MªùÀ³¹ïªº¤èªk¶Ü?
°Ý2.­Y¯u¨S¦³,³q±`«Øij¥Î¬Æ»ò¼gªk¨Ó³B²z?
        A:¤@­Ó¤@­ÓÂà?
        B:¥Îjoin +splitÂà?
        C:¨ä¥L?

TOP

        ÀR«ä¦Û¦b : ¨C¤ÑµL©Ò¨Æ¨Æ¡A¬O¤H¥Íªº®ø¶OªÌ¡A¿n·¥¡B¦³¥Î¤~¬O¤H¥Íªº³Ð³yªÌ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD