Board logo

標題: [發問] 從excel 抓取access目前使用到的編號後自動編5碼 [打印本頁]

作者: Changbanana    時間: 2017-3-21 11:44     標題: 從excel 抓取access目前使用到的編號後自動編5碼

請教各位先進~

目前可以從excel設計按鈕把access的資料匯入到excel
但想要讀取access中使用到的編號後
在excel自動編5碼下去

例如:[access]
名稱        ID        編號
新一        105111        1
小二        105222        2
小三        105333        3
肆四        105444        4
王五        105555        5
六六        105666        6
七七        105777        7
八八        105888        8
久久        105999        9

編號使用到9
所以希望在excel可以在編號欄位直接顯示10-14讓使用者人工輸入資料
想請教這要怎麼打~或是教學一下邏輯~謝謝

測試檔案:[attach]26834[/attach]
作者: Changbanana    時間: 2017-3-22 10:23

我嘗試用以下代碼解出來了
方法有點笨
  1. Sub autonumber()
  2.   Dim arr, i%
  3.   Dim myCon As Object, myRs As Object, sql$

  4.    
  5.     USE = Worksheets("工作表1").Range("A65536").End(xlUp).Row
  6.     Worksheets("工作表1").Range("A2:C" & USE).ClearContents
  7.     Set myCon = CreateObject("ADODB.Connection")
  8.     Set myRs = CreateObject("ADODB.Recordset")
  9.     myCon.Open "provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\test.accdb;"

  10.     sql = "SELECT * FROM 資料表1 ORDER BY 資料表1.編號;"
  11.     Set myRs = myCon.Execute(sql)

  12.     Do While Not myRs.EOF
  13.              vl = myRs.Fields(2).Value
  14.             Sheets(1).Cells(2, 1) = vl + 1
  15.             Sheets(1).Cells(3, 1) = vl + 2
  16.             Sheets(1).Cells(4, 1) = vl + 3
  17.             Sheets(1).Cells(5, 1) = vl + 4
  18.             Sheets(1).Cells(6, 1) = vl + 5
  19.         myRs.MoveNext
  20.     Loop
  21.    
  22.   Application.EnableEvents = True
  23. End Sub
複製代碼





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