Board logo

標題: [發問] 資料庫條件資料抓取問題請教 [打印本頁]

作者: rouber590324    時間: 2017-1-13 13:39     標題: 資料庫條件資料抓取問題請教

DEAR ALL 大大
1.例
SHEET1.RABGE "A"  "B"  "C"攔資料如下
需求為抓取品名相同 AND 時間最新之該列資料至 SHEET2.中
品名       時間             內容
甲   106/01/11 15:20          A
甲   106/01/13 15:10          B
已   106/01/10 15:00          C
甲   106/01/05 05:00          D
乙   106/01/10 14:10          E
甲   106/01/03 16:53          F
乙   106/01/13 15:20          G
.........................................
2.結果
需求為抓取品名相同 AND 時間最新之該列資料至 SHEET2.中
如下
品名       時間             內容
甲   106/01/13 15:10          B
乙   106/01/13 15:20          G
3.煩不吝賜教.
作者: hcm19522    時間: 2017-1-13 15:36

http://blog.xuite.net/hcm19522/twblog/480500968
作者: rouber590324    時間: 2017-1-18 10:49

DEAR  SIRS-
小弟是要用VBA完成.非函數方式.THANKS*10000
作者: 准提部林    時間: 2017-1-20 10:11

回復 3# rouber590324


尋求VBA協助, 需要檔案做為基底, 最好能上傳檔案為宜!
作者: starbox520    時間: 2017-1-21 11:08

回復 1# rouber590324


    下SQL指令?
作者: starbox520    時間: 2017-1-21 12:07

回復 1# rouber590324
  1. Sub test()
  2.     Dim sql$, pn$
  3.     Sheet2.Cells.ClearContents
  4.     Sheet2.Range("b:b").NumberFormatLocal = "yyyy/m/d h:mm;@"
  5.     pn = ThisWorkbook.FullName
  6.     sql = "select 品名,last(時間) as 時間,last(內容) as 內容 from [sheet1$] where 品名<>null group by 品名"
  7.     SqCopy pn, sql, Sheet2.[a2], Sheet2.[a1]
  8. End Sub
  9. Sub SqCopy(pt As String, sq As String, Optional Rg As Range, Optional rg1 As Range)
  10.     Dim conn As Object, rst As Object, i%
  11.     Set conn = CreateObject("adodb.connection")
  12.     Set rst = CreateObject("ADODB.recordset")
  13.     Select Case Application.Version * 1
  14.     Case Is <= 11
  15.         conn.Open "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties='excel 8.0;hdr=yes;imex=1';data source=" & pt
  16.     Case Is >= 12
  17.         conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;extended properties='excel 12.0;hdr=yes;imex=1';data source=" & pt
  18.     End Select
  19.     Set rst = conn.Execute(sq)
  20.     If Not rg1 Is Nothing Then
  21.         For Each Field In rst.Fields
  22.             rg1.Offset(0, i) = Field.Name
  23.             i = i + 1
  24.         Next
  25.     End If
  26.     If Not Rg Is Nothing Then
  27.         Rg.CopyFromRecordset rst
  28.     End If
  29.     conn.Close
  30.     Set rst = Nothing
  31.     Set conn = Nothing
  32. End Sub
複製代碼

作者: rouber590324    時間: 2017-1-23 10:33

感謝各為大大回覆  THANKS*10000
小弟之公司電腦鎖無法上傳檔案 SORRY




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)