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

[µo°Ý] ¦p¦ó§Q¥ÎVBA¹ï¥t­ÓÀɮתº¸ê®Æ®w¶i¦æ¿z¿ï¡AµM«á±N¿ï¥Xªº­È¦s¤Jªí®æ¤¤

[µo°Ý] ¦p¦ó§Q¥ÎVBA¹ï¥t­ÓÀɮתº¸ê®Æ®w¶i¦æ¿z¿ï¡AµM«á±N¿ï¥Xªº­È¦s¤Jªí®æ¤¤

­Ó¤H¹ïVBA¸û¬°¥Í²¨¡A¦ý¬O¥Ø«e¥\¯à¨ç¼Æ¤wµLªkº¡¨¬¡A¬Gµo°Ý«e¨Ó¨D§U­Ó¦ìVBA±M®a..
¤]§Æ±æÂǦ¹¨Ó´£¤É¦Û¨­VBAªºµ{«×¡A«áÄò¤]·|§V¤O¦^õX¦U¦ìªº!!!

Àɮצ³¨â­Ó
data.xlsx : ¸ê®Æ¦Cªí

list.xlsm : VBAªºForm»P¬ö¿ý°Ï°ì


¦pªG§Æ±ælist.xlsmªºComboBox°w¹ïdata.xlsx¸ê®Æ¦Cªí¶i¦æ¿z¿ï
(Ãþ¦ü¦Û°Ê¿z¿ï¡A©¼¦¹Ãö«Y¬O³s°Êªº¡A®Ú¾Ú½d³òªº¿ï©w«á¡A«á­±¥i¿ïªº¿ï¶µ·|ÁY¤p¡A¨Ò¦p¥_³¡/°ê¥ß/A¾Ç®Õ¡A«n³¡/¨p¥ß/H¾Ç®Õ)
µM«á³Ì«álist.xlsmªº¤T­ÓComboBox¿ï©w«á¦A«ö¿é¤J¸ê®Æ«á¡A·|¿é¤J¦blist.xlsmªº¿é¤J¸ê®ÆÄæ¦ì¤º¡A­Y¤W¤@¦C¦³¸ê®Æ«h·|Ä~Äò¦V¤U»¼¸É

§Æ±æ¦U¦ì¥i¥HÀ°¦£¤@¤U¡A·PÁ¦U¦ìªº¨ó§U¡AÁÂÁ¤j®a.. file.rar (16.42 KB)

¦^´_ 1# colinyang

À³¸Ó¬O»¡ComboBox¤ñ¸û¹³¬O³s°Ê¿ï³æ¡A¦]¬°¨S¦³­n°w¹ï­ì©l¸ê®Æ¶i¦æ¿z¿ï¡A¥u¦³¤U©Ô¦¡¿ï³æ­n¸ê®Æ³s°Ê¦Ó¤w..
¤£¦n·N«ä..

TOP

¦^´_ 3# lpk187

¹ê»Ú´ú¸Õ¡A¤U©Ô¿ï³æ»P¿é¤J¬ÒµL²§±`¡A³o¹ï§Ú¦Ó¨¥¯uªº¬O¤@­Ó¸g¨åªº½d¨Ò¡A¯uªº¤Q¤Àªº·PÁÂ
«áÄò±N·|¦A¶i¦æ¤À­¶ªº¼W¥[¦A¶i¦æ´ú¸Õ¡A¦n¦n¸ÑªR¤@¤Uµ{¦¡½X¤F¡A­Y¦³¥ô¦ó°ÝÃD·|¦A»P±z½Ð±Ð
¯uªº¬O¤Ó·PÁ¤F!!!

TOP

¦^´_ 3# lpk187

Dear lpk187,

¦pªG§ÚªºData¤u§@ªí¦A¥[¤J¤@­Ó"¾Ç®Õ¦W³æ2"

§Ú¦bList¦b·s¼W1­ÓComboBox4¨Ó¶i¦æ¤Á´«§@·~
¤w¦bForm Initialªº®É­ÔaddItem¶iComboBox4¤F

µ²ªG¦bSQL»yªk¤¤§Q¥Î"&"¶i¦æSQL¦r¦ê»PÅܼƳs±µ®É¡A°õ¦æ®É«o³y¦¨¥H¤U²§±`¡A§Ú¸Ó¦p¦ó­×¥¿§Úªº»yªk¨Ó¹F¨ìÅܧ󪺥تº©O...


¥H¤U¬°µ{¦¡½X¡A¨Ãªþ¤WÀɮסAÁٽбz«ü±Ð..ÁÂÁÂ
File2.rar (29.22 KB)
  1. Option Explicit
  2. Dim myCon As Object, myRs As Object, SQL$
  3. Private Sub ComboBox1_Click()
  4.     ComboBox2.Clear
  5.     ComboBox3.Clear
  6.     '¼W¥[¤FComboBox4.Value¦Ü FROMªº«á­±¨Ó¤Á´«¤u§@ªí
  7.     SQL = "SELECT ¤½¨p¥ß" & _
  8.           " FROM [& ComboBox4.Value &$]" & _
  9.           " Where °Ï°ì Like '" & ComboBox1.Value & "'" & _
  10.           " GROUP BY ¤½¨p¥ß;"
  11.     Set myRs = myCon.Execute(SQL)
  12.     ComboBox2.List = Application.Transpose(myRs.GetRows)
  13. End Sub

  14. Private Sub ComboBox2_Click()
  15.     ComboBox3.Clear
  16.     '¼W¥[¤FComboBox4.Value¦Ü FROMªº«á­±¨Ó¤Á´«¤u§@ªí
  17.     SQL = "SELECT ¾Ç®Õ" & _
  18.           " FROM [& ComboBox4.Value &$]" & _
  19.           " GROUP BY ¾Ç®Õ, [°Ï°ì] & [¤½¨p¥ß]" & _
  20.           " HAVING [°Ï°ì] & [¤½¨p¥ß] Like '" & ComboBox1.Value & ComboBox2.Value & "';"
  21.     Set myRs = myCon.Execute(SQL)
  22.     ComboBox3.List = Application.Transpose(myRs.GetRows)
  23. End Sub

  24. Private Sub CommandButton1_Click() '¿é¤H¸ê®Æ
  25.     Dim ro
  26.     With Sheets("¤u§@ªí1")
  27.         ro = .Cells(Rows.Count, 2).End(xlUp).Row + 1
  28.         .Cells(ro, 2) = ComboBox1.Value
  29.         .Cells(ro, 3) = ComboBox2.Value
  30.         .Cells(ro, 4) = ComboBox3.Value
  31.     End With
  32.     ComboBox3.Clear
  33.     ComboBox2.Clear
  34.     ComboBox1.Value = ""
  35. End Sub

  36. Private Sub CommandButton2_Click() 'Â÷¶}
  37.     Unload Me
  38. End Sub

  39. Private Sub UserForm_Initialize()
  40.     Set myCon = CreateObject("ADODB.Connection")
  41.     Set myRs = CreateObject("ADODB.Recordset")
  42.     myCon.Open "provider=Microsoft.ACE.OLEDB.12.0;" & _
  43.                "Data Source=" & ThisWorkbook.Path & "\data.xlsx;" & _
  44.                "Extended Properties=""Excel 12.0;HDR=Yes;"";"
  45.     '¼W¥[¤FComboBox4.Value¦Ü FROMªº«á­±¨Ó¤Á´«¤u§@ªí
  46.     SQL = "SELECT °Ï°ì" & _
  47.           " FROM [& ComboBox4.Value &$]" & _
  48.           " GROUP BY °Ï°ì;"
  49.     Set myRs = myCon.Execute(SQL)
  50.     ComboBox1.List = Application.Transpose(myRs.GetRows)
  51.     Set myRs = Nothing
  52.    
  53. '   ¥[¤JComboBox4ªºVlaue
  54.     ComboBox4.AddItem "¾Ç®Õ¦W³æ"
  55.     ComboBox4.AddItem "¾Ç®Õ¦W³æ2"
  56. '    myCon.Close
  57. '    Set myCon = Nothing
  58. End Sub
½Æ»s¥N½X
Best Regards,
Colin

TOP

¦^´_ 6# lpk187
ÁÂÁ§A¡A³y¦¨±zªº§xÂZ¤F...©êºp

TOP

¦^´_ 8# Hsieh

ÁÂÁª©¥D¡A¬Ý°_¨Ó¤S¬O¥t¥~¤@ºØ¤è¦¡¨Ó¶i¦æ¿ï¨ú©O!·|¦n¦n§l¦¬ªº!¤£¹L¦bCombobox4¿ï¨ú®É·|¦³µe­±§ó·sªº°Ê§@
¥[¤JApplication.ScreenUpdating = False¡A¥i¥H§í¤î§ó·sª¬ªp¡A¦ý¬O¦P¼Ë¿é¤Jªº®É­Ô¸ê®Æ¤£·|¯B²{..¥²¶·­«·s¥´¶}Àɮפ~¬Ýªº¨ì
¦ý¬Oµ{¦¡½XÁÙ¬O«Ü­È±o¾Ç²ß¡AÁÂÁ©O!!!

TOP

¦U¦ì¦n..¦³µo²{­Ó°ÝÃD·Q°Ý¤F..¬OÃö©ó¸ê®Æ¦³Nullªº³¡¤À

¦bÂà´«®É¦]¬°·|¦³¦r¦ê»PNULLªº°ÝÃD¡A©Ò¥HÂà´«¸ê®Æ·|¥X²{²§±`

¦³¬d¸ß¨ìSQL¥i¨Ï¥ÎCASE¶i¦æIS NOT NULL§PŪ..¥i¬O±µµÛ¦bCASE IS NOT NULL "WHEN"ªº®É­Ô
ADODB»{¤£¥XWHENªº¤èªk..½Ð°Ý¸Ó¦p¦ó±NNULL²¾°£©O..ÁÂÁÂ

TOP

        ÀR«ä¦Û¦b : ¨ü¤HÂI¤ô¤§®¦¡A¶··í´é¬u¥H³ø¡C
ªð¦^¦Cªí ¤W¤@¥DÃD