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

[µo°Ý] Excel¤u§@ªí³æ»PAccess¸ê®Æ®wªºVBA¤¬°Ê°ÝÃD

¦^´_ 14# c_c_lai
2014¦~¾÷²¼°O¿ý¡G
¥»µ{¦¡¤§Ã±ÃÒ¶O¥Î¡B¾÷²¼¶O¥Îªº¥[Á`­pºâ³B²z§Ú¤w¸g±N¥¦
¥[¤J¤F (§Q¥Î¦r¨åª«¥óªº³B²z)¡A¨Ï¥ÎªÌ©óÁA¸Ñ Excel ªí³æ³B²z¡B
¥H¤Î Access ªº¸ê®Æ¦s¨ú«á¡A«K¥i±qµ{¦¡¤¤±N¥¦­Ì¤©¥H¤À¶}¡A
¦Ó¥uÂ^¨ú¨Ï¥ÎªÌ¨ä¥»¨­»Ý¨Dªº³¡¤À¡C ¥Ø«eµ{¦¡¥]§t A¡BB ¨â³¡¤À¡G
A¡B¯Âºé Excel ¤u§@ªí³æ (¥»¨­) Àx¦s§@·~¡A¸ê®ÆÀx¦s©ó¤u§@ªí³æ¤¤¡F
B¡B±N©Ò¦³³B²z¸ê®Æµ²ªGÀx¦s¦Ü Access ¸ê®Æ®w¤¤¡A¤è«K¤é«á¦s¨ú§@·~¡C

TOP

§Ú±N acdx ¤j¤j©ó 2013-12-11 16:52 ´£°Ýªº
"¦p¦óÅýComboBox¥i¥H¥Î·Æ¹«ºu°Ê?" ¸Ñ¨M¤è®×
¥[¥HÀ³¥Î¥[¤J¨ì "ñÃÒ¤º®e1"¡B"ñÃÒ¤º®e2"
¤º¡A¥i§@¬°½d¨Ò¤Þ¥Î¡A¦p©|¦³§ó¨Îªº³B²z¤èªk
©|½Ð¦U¦ì¤j¤j«ü±Ð¡I
2014¦~¾÷²¼°O¿ý.rar (84.95 KB)

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2013-12-26 10:53 ½s¿è

¦^´_ 19# JEAN
§Ú´N¬O¤@®É§Ñ¤F·íªì¬O½Ö´£°Ýªº¡A¹ê¦b
¤Ó¦n¤F¡I
·íªì©pªº´£°Ý¬O "¾÷²¼"¡A§Ú¬Ý¤F¤§«á«K
¸ÕµÛ±N¥¦§ï¦¨ ¤u§@ªí³æ¡B¥H¤Î Access ¸ê®Æ®w
³£¯à°õ¦æªº¤è¦¡ (¦P¨B¥Ü½d¦p¦ó§@·~)¡CÁ|¨Ò¨Ó»¡¡G
¦pªG³æ¯Â¦a¥u·Q¦b Excel °µ¿é¤Jµe­±¡AÀx¦s®É±N
¸ê®ÆÀx¦s¨ì  Access ¸ê®Æ®w¡A¨º»ò«K±N Excel "data" Àx¦s
¸ê®Æªº³¡¤À²¾°£¡A¥u«O¯dÀx¦s Access ¸ê®Æ®wªºµ{¦¡½X¡C
¤Ï¤§¡B¥çµM¡C©p¤@©w·|°Ý¬°¦ó¬Oºî¦Xªº¡A³o¯Âºé¬O¬°¤F
´ú¸Õ¡B¤ÎÁA¸Ñ¡A¦p¦ó¨Ï¥Î Excel À³¥Î ADO ³B²z¸ê®Æ°ÝÃD¡A
¥H¤Î¦p¦ó¦P®É³B²z Access ¸ê®Æ®wªºÅª¨ú¡B¬d¸ß¡B§R°£¡B¥H¤Î
¼g¤Jªº»yªkÀ³¥Î¦Ó°µ¥X¨Óªº½d¨Ò¡C©Ò¥H¤~±N©p·íªìªº´£°Ý
§¡¼g¦b "¾÷²¼§@·~" ¡B¥H¤Î "data" ¤º¤§¬G¡C¦p¦¹¡B¥ç¦^´_¤F
¤u§@ªí³æ "¾÷²¼" ªº³B¸Ì´£°Ý¡C³o»ò»¡©ú¬O§_¸Ñµª¤F©pªº°ÝÃD¡H

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2013-12-26 10:50 ½s¿è

¦^´_ 19# JEAN
¦Ü©ó "¾÷²¼§@·~"¸Ì­±ªºªí®æ³£¤£¯à¥Î
½Ð°Ñ¦Òªþ¥ó¡G
¾÷²¼°O¿ý©ú²Óªí.rar (11.43 KB)
¾÷²¼°O¿ý©ú²ÓªíÀÉ®×.rar (17.9 KB)
¦pªG©p¨ººÝ¬O¶}±Ò Access MDF ªºÀÉ®× (Office 2003) ¡G
  1. Sub OpenDB()
  2.     If ExcelData.Value = True Then    '  [data$]
  3.         Set cnn = CreateObject("ADODB.Connection")
  4.         Set rs = CreateObject("ADODB.Recordset")
  5.         Set cmd = CreateObject("ADODB.Command")
  6.     Else                              '  ¾÷²¼¬ö¿ý
  7.         Set cnn = New ADODB.Connection
  8.         Set rs = New ADODB.Recordset
  9.         Set cmd = New ADODB.Command
  10.     End If

  11.     With cnn
  12.         If .State = 1 Then .Close    '  adStateOpen
  13.         
  14.         If ExcelData.Value = True Then
  15.             .ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & _
  16.                                 ActiveWorkbook.Path & Application.PathSeparator & ActiveWorkbook.Name
  17.         Else
  18.             '  .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & _
  19.             '                    ThisWorkbook.Path & Application.PathSeparator & "¾÷²¼°O¿ý©ú²Óªí.mdb" & ";"
  20.             '  For Microsoft.ACE.OLEDB.12.0,you need Microsoft Office 12.0 Access Database Engine to be installed.
  21.             .ConnectionString = "Provider=Microsoft.Ace.OLEDB.12.0;" & "Data Source=" & _
  22.                               ThisWorkbook.Path & Application.PathSeparator & "¾÷²¼°O¿ý©ú²ÓªíÀÉ®×.accdb" & ";"
  23.         End If
  24.         .Open
  25.     End With
  26. End Sub
½Æ»s¥N½X
«h±N¤W¦Cµ{¦¡½X¤§ Else ªº³¡¤À§ï¦¨¦p¤U¡G
  1.         Else
  2.            .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & _
  3.                              ThisWorkbook.Path & Application.PathSeparator & "¾÷²¼°O¿ý©ú²Óªí.mdb" & ";"
  4.              '  For Microsoft.ACE.OLEDB.12.0,you need Microsoft Office 12.0 Access Database Engine to be installed.
  5.             '   .ConnectionString = "Provider=Microsoft.Ace.OLEDB.12.0;" & "Data Source=" & _
  6.             '                   ThisWorkbook.Path & Application.PathSeparator & "¾÷²¼°O¿ý©ú²ÓªíÀÉ®×.accdb" & ";"
  7.         End If
½Æ»s¥N½X
§Y¥i¡C
¦¹µ{¦¡½X¥i¥H³B²z MDF (For Excel 2003) ©ÎªÌ¬O ACCDB (For Excel 2007¡B2010) µ¥¸ê®Æ®w®æ¦¡¡C

TOP

¦^´_ 22# JEAN
¤@¡B ±N 2014¦~¾÷²¼°O¿ý.xls¡B¾÷²¼°O¿ý©ú²Óªí.mdb (§í©Î¬O ¾÷²¼°O¿ý©ú²ÓªíÀÉ®×.accdb)
     ¥þ³¡³£©ñ¸m©ó¦P¤@¥Ø¿ý¤U¡C ¨Ò¦p¡G §Ú¬°¤F¤è«K´ú¸Õ°_¨£¡A¦Ó±N¥¦­Ì¥þ¼Æ©ñ¦b¤@­Ó¦W¬°
     "2014¦~¾÷²¼°O¿ý" D ºÏºÐ¾÷ªº¦¸¥Ø¿ý¤U¡C
¤G¡B ¦pªG©p¨ººÝ¬O¶}±Ò Access MDF ªºÀÉ®× (Office 2003)¡A­þ»ò©p¥²¶·¥ý±N 21# ©Ò»¡ªº
     µ{¦¡½X (Else ³¡¤À) ¥ý¦æ­×¥¿¡C
     ¥Ø«e§Ú¬O¹w³]¶}±Òªº¬O Access ACCDB ªº¸ê®Æ®w¡A¦pªG­n¨Ï¥Î Access MDF ªºÀɮסA½Ð±N
     ACCDB ªº³¡¤À¤©¥H Mark °_¨Ó¡A¦Ó±N­ì¥» Mark ¤§ MDF ªº³¡¤À¥´¶} (²¾°£ Mark ' )¡A
     ¦p¦¹§Y¥i¨Ï¥Î MDF ªºÀɮפF¡C
     (¨âºØ¸ê®Æ®w§Ú³£¤@»ô©ñ¸m©ó D:\2014¦~¾÷²¼°O¿ý\ ¥Ø¿ý¤U¡A¥H¤è«K´ú¸Õ¤ÎÆ[¹î¸ê®ÆÅܤÆ)
¤T¡B ÂI¿ï¸Ó¦¸¥Ø¿ý D:\2014¦~¾÷²¼°O¿ý\2014¦~¾÷²¼°O¿ý.xls «K¥i°õ¦æ¡C

TOP

¦^´_ 22# JEAN

TOP

¦^´_ 22# JEAN

TOP

¦^´_  c_c_lai


±z¦n:
ÁÂÁ±zªº¾÷²¼§@·~,½Ð°Ý§Ú¬O§_¥i¥H§ï¬°§â¦W¦r¥Î¿ï¶µ¤è¦¡¿é¤J.....µM«á¦Û°Ê±a¤J ...
JEAN µoªí©ó 2013-12-27 13:32

·íµM¥i¦æ¡A¥u­n¬O VBA »yªk¯à³B¸Ìªº¡A´X¥G³£¦³¹ê²{¤§¥i¯à¡C
¥t¥~§ÚºK¿ý¤F SQL ¤@µüªº¸ÑÄÀ¡G
µ²ºc¤Æ¬d¸ß»y¨¥¡]Structured Query Language¡AÁY¼g¬°SQL¡^¡A¤@ºØµ{¦¡»y¨¥¡A¥Î©ó¸ê®Æ®w¤¤ªº¼Ð·Ç¸ê®Æ¬d¸ß»y¨¥¡AIBM¤½¥q³Ì¦­¨Ï¥Î¦b¨ä¶}µoªº¸ê®Æ®w¨t²Î¤¤¡C1986¦~10¤ë¡A¬ü°ê°ê®a¼Ð·Ç¾Ç·|¡]ANSI¡^¹ïSQL¶i¦æ³W½d«á¡A¥H¦¹§@¬°ÃöÁp¦¡¸ê®Æ®wºÞ²z¨t²Îªº¼Ð·Ç»y¨¥¡]ANSI X3. 135-1986¡^¡A1987¦~±o¨ì°ê»Ú¼Ð·Ç²Õ´ªº¤ä´©¤U¦¨¬°°ê»Ú¼Ð·Ç¡C¤£¹L¦UºØ³q¦æªº¸ê®Æ®w¨t²Î¦b¨ä¹ê½î¹Lµ{¤¤³£¹ïSQL³W½d§@¤F¬Y¨Ç½s§ï©MÂX¥R¡C©Ò¥H¡A¹ê»Ú¤W¤£¦P¸ê®Æ®w¨t²Î¤§¶¡ªºSQL¤£¯à§¹¥þ¬Û¤¬³q¥Î¡C
¬Ý§¹¤F³o¬q»¡©ú¡A§AÀ³¸Ó«K¯à¤F¸Ñ¨ì SQL ¥¦§êºtªº¥u¬O¤@¯ëµ{¦¡»y¨¥»P¸ê®Æ®w¶¡ªº¤@­Ó¤¶­±»y¨¥¡C¨Ò¦p¡G
¥»µ{¦¡½X¸Ìªº¡G
  1.     If ExcelData.Value = True Then
  2.         '  strSQL = "Select Distinct [ñÃÒ¤º®e] From [ñÃÒ¶µ¥Ø$] Order by [ñÃÒ¤º®e]"
  3.         strSQL = "Select * From [ñÃÒ¶µ¥Ø$] Order by [ñÃÒ¤º®e]"
  4.     Else
  5.         '  strSQL = "Select Distinct ñÃÒ¤º®e From ñÃÒ¶µ¥Ø Order by ñÃÒ¤º®e"
  6.         strSQL = "Select * From ñÃÒ¶µ¥Ø Order by ñÃÒ¤º®e"
  7.     End If
  8.    
  9.     '  closeRS
  10.     OpenDB
  11.   
  12.     rs.Open strSQL, cnn, 1, 3     '  adOpenKeyset, adLockOptimistic
  13.     If rs.RecordCount > 0 Then
  14.        .
  15.        .
  16.     End If
  17.       .
½Æ»s¥N½X
µ¥»P¸ê®Æ®w¦s¨ú¦³Ãö»yªk¬ÒÄݤ§¡C

TOP

¦^´_ 26# JEAN
¤S¡B©p»¡¥Î³£¤£¦æ¡H
¦¹¸Ü«ç»¡¡H
©p¬O«üª½±µÂI¿ï "¾÷²¼°O¿ý©ú²Óªí.mdb" ³£µLªk¶i¤J¨ì Access ¶Ü¡H

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2013-12-27 18:03 ½s¿è

¦^´_ 30# JEAN
³o­Ó¬O§R°£¸ê®Æ¿ýªºµ{¦¡½X¡A
¨ä¤º®e¬O­º¥ý·|§R°£ Sheets("data") ¤º¹ïÀ³ªº³Q§R°£¸ê®Æ¡A
±µµÛ¡B¦^ÀY¤SÄ~Äò¥h§R°£Àx¦s¦b Access ªº¹ïÀ³ªº¸ê®Æ¡A¥H«O«ù¨âªÌ¸ê®Æ¦P¨B¤§¬G¡C
­º¥ý¡B©pÀ°§ÚÀˬd¤@¶µ°Ê§@¡G
A¡B  ¥ý¤Ä¿ï  "SQL Data"¡CµM«á¦b "¦W¦r" ÄæÀH«K¿é¤J¤@¦W¦r¡B¦p¡G LuLu¡C
B¡B  ¿é§¹ LuLu «á¡AÂI¿ï "¿é¤J½T©w" «ö¶s¡A±µµÛÂI¿ï "ñÃÒ¤º®e1"¡B©ÎªÌ¬O
         "ñÃÒ¤º®e2"¡AµM«áÁ@Á@¸Ì­±¦³¨S¦³ "ñÃҿﶵ"¡A¦pªGµª®×¬O "Yes"¡A
        ¨º«K­n®¥³ß©p¤w§ä¨ì(³sµ²¨ì) Access ¸ê®Æ®w¤F¡C
C¡B  ³Ì«á©p¤~§i¶D§Ú¡A©p¹ê»Ú·Q°µªº¬O¬Æ»ò¡H

TOP

        ÀR«ä¦Û¦b : Ãø¦æ¯à¦æ¡AÃø±Ë¯à±Ë¡AÃø¬°¯à¬°¡A¤~¯àª@µØ¦Û§Úªº¤H®æ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD