标签:VBA Set Name Fields Object DB Number TableDefs Rst
使用DAO和ADODB 2中方法获取,结果显示在Debug中,以”,“分开,方便复制到Excel中处理。
附上常用对应关系。
'DAO ADO Type '1 11 Yes/No '2 17 Number byte '3 2 Number Integer '4 3 Number LongInteger '4 3 AutoNumber '5 6 Currency '6 4 Number Single '7 5 Number Double '15 72 Number Replication ID '20 131 Number Decimal '8 7 Date/Time '10 202 Short Text '11 205 OLE Object '12 203 Hyperlink '12 203 Long Text '16 20 Large Number '26 135 Date/Time Extended '101 203 Attachement
程序如下:
Sub GetDatabaseType() Dim DBE As Object, DB As Object, Tbl As Object, TbName As String Dim Rst As Object, SQL As String Dim i As Long TbName = "Hand" '表名 SQL = "SELECT * FROM " & TbName Set Rst = CreateObject("ADODB.RecordSet") Set DBE = CreateObject("DAO.DBEngine.120") Set DB = DBE.OpenDatabase(PathBas & "\Database\xxxxx.accdb")'路径 Set Tbl = DB.TableDefs(TbName) Rst.Open SQL, "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & PathBas & "\Database\xxxxx.accdb", 1, 1 With Tbl For i = 0 To .Fields.Count - 1 Debug.Print .Fields(i).Name & "," & .Fields(i).Type & "," & Rst.Fields(i).Type Next End With Rst.Close DB.Close Set Rst = Nothing Set Tbl = Nothing Set DB = Nothing Set DBE = Nothing End Sub
标签:VBA,Set,Name,Fields,Object,DB,Number,TableDefs,Rst 来源: https://www.cnblogs.com/NightSun/p/15830733.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。