免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
VBA-access表信息的獲取

1.首先我們來直接獲取某個數(shù)據(jù)庫的所有表信息

  1. Sub 獲取數(shù)據(jù)庫中所有表的名稱和類型()
  2. Dim i As String
  3. Dim mydata As String
  4. Dim con As New ADODB.Connection
  5. Dim rs As New ADODB.Recordset
  6. mydata = ThisWorkbook.Path & "\學生管理.accdb"
  7. With con
  8. .Provider = "microsoft.ace.oledb.12.0"
  9. .Open mydata
  10. End With
  11. Cells.Clear
  12. Range("A1:B1") = Array("表名稱", "表類型")
  13. i = 2
  14. Set rs = con.OpenSchema(adSchemaTables)
  15. Do Until rs.EOF
  16. If rs("table_type") = "TABLE" Then
  17. Cells(i, 1) = rs("table_name")
  18. Cells(i, 2) = rs("table_type")
  19. i = i + 1
  20. End If
  21. rs.MoveNext
  22. Loop
  23. Columns.AutoFit
  24. rs.Close
  25. Set rs = Nothing
  26. Set con = Nothing
  27. End Sub

2.檢查某個字段是否存在

  1. Sub 檢查數(shù)據(jù)是否存在()
  2. Dim mydata As String
  3. Dim mytable As String
  4. Dim mycol As String
  5. Dim con As New ADODB.Connection
  6. Dim rs As ADODB.Recordset
  7. mydata = ThisWorkbook.Path & "\學生管理.accdb"
  8. mytable = "學生"
  9. mycol = "姓名"
  10. With con
  11. .Provider = "microsoft.ace.oledb.12.0"
  12. .Open mydata
  13. End With
  14. Set rs = con.OpenSchema(adSchemaColumns)
  15. rs.Find "column_name='" & mycol & "'"
  16. If rs.EOF Then
  17. MsgBox "數(shù)據(jù)表<" & mytable & ">中不存在字<" & mycol & ">"
  18. Else
  19. MsgBox "數(shù)據(jù)表<" & mytable & ">中存在字<" & mycol & ">"
  20. End If
  21. hhh:
  22. rs.Close
  23. con.Close
  24. Set rs = Nothing
  25. Set con = Nothing
  26. End Sub

3.獲取某個數(shù)據(jù)表的所有字段名稱和類型,要注意的是用field.type 返回的不是字符串結果,而是其對應的數(shù)字,所以,用自定義函數(shù)inttostring來實現(xiàn)轉換

  1. Sub 獲取數(shù)據(jù)表的所有表的名稱和類型()
  2. Dim i As Integer
  3. Dim mydata As String
  4. Dim con As New ADODB.Connection
  5. Dim rs As New ADODB.Recordset
  6. Dim mytable As String
  7. mydata = ThisWorkbook.Path & "\學生管理.accdb"
  8. mytable = "學生"
  9. With con
  10. .Provider = "microsoft.ace.oledb.12.0"
  11. .Open mydata
  12. End With
  13. Cells.Clear
  14. Range("A1:C1") = Array("字段名", "字段類型", "字段大小")
  15. i = 2
  16. Dim myfield As ADODB.Field
  17. rs.Open mytable, con, adOpenKeyset, adLockOptimistic '直接打開對應的表
  18. For Each myfield In rs.Fields
  19. Range("A" & i) = myfield.Name
  20. 'field.type 用于獲取字段的類型,但不會直接返回類型的字符串
  21. '而是返回表示該類型的一個integer
  22. 'Range("B" & i) = myfield.Type
  23. Range("B" & i) = inttostring(myfield.Type)
  24. Range("C" & i) = myfield.DefinedSize
  25. i = i + 1
  26. Next
  27. Columns.AutoFit
  28. rs.Close
  29. con.Close
  30. Set rs = Nothing
  31. Set con = Nothing
  32. End Sub

4.轉換函數(shù)

  1. Function inttostring(myint As Integer) As String
  2. Dim mystr As String
  3. Select Case myint
  4. Case 20: mystr = "adBigInt"
  5. Case 128: mystr = "adBinary"
  6. Case 11: mystr = "adBoolean"
  7. Case 8: mystr = "adBSTR"
  8. Case 136: mystr = "adChapter"
  9. Case 126: mystr = "adChar"
  10. Case 6: mystr = "adCurrency"
  11. Case 7: mystr = "adDate"
  12. Case 133: mystr = "adDBDate"
  13. Case 134: mystr = "adDBTime"
  14. Case 135: mystr = "adDBTimeStamp"
  15. Case 14: mystr = "adDecimal"
  16. Case 5: mystr = "adDouble"
  17. Case 0: mystr = "adEmpty"
  18. Case 10: mystr = "adError"
  19. Case 64: mystr = "adFileTime"
  20. Case 72: mystr = "adGUID"
  21. Case 9: mystr = "adIDispatch"
  22. Case 3: mystr = "adInteger"
  23. Case 205: mystr = "adLongVarBinary"
  24. Case 201: mystr = "adLongVarChar"
  25. Case 203: mystr = "adLongVarWchar"
  26. Case 131: mystr = "adNumeric"
  27. Case 130: mystr = "adPropVariant"
  28. Case 4: mystr = "adSingle"
  29. Case 2: mystr = "adSmallInt"
  30. Case 16: mystr = "adTinyInt"
  31. Case 21: mystr = "adUnsignedBigInt"
  32. Case 19: mystr = "adUnsignedInt"
  33. Case 18: mystr = "adUnsignedSmallInt"
  34. Case 17: mystr = "adUnsignedTinyInt"
  35. Case 132: mystr = "adUserDefined"
  36. Case 204: mystr = "adVarBinary"
  37. Case 200: mystr = "adVarchar"
  38. Case 12: mystr = "adVariant"
  39. Case 139: mystr = "adVarNumeric"
  40. Case 202: mystr = "adVarWChar"
  41. Case 130: mystr = "adWChar"
  42. Case Else: mystr = "error"
  43. End Select
  44. inttostring = mystr
  45. End Function

 

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
第3章 獲取SQL Server數(shù)據(jù)庫信息
將數(shù)據(jù)庫記錄數(shù)據(jù)全部導入到excel工作表
怎樣用EXCEL動態(tài)調用ACCESS數(shù)據(jù) 愛問知識人
Excel VBA ADO連接ACCESS數(shù)據(jù)庫
vba 連接數(shù)據(jù)庫(vba中主要提供了3種數(shù)據(jù)庫訪問接口)
VB 把圖片存入數(shù)據(jù)庫(2)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服