年纪大了。发现知识是用来分享的。整天的在网上爬别人的经验。现在也希望能为这个网络留下一点自己的经验。先把EXCEL查询SQL SERVER 数据库的代码黏贴出来。当然,本人的方法并不是最好的,还有很多需要改进的地方。只为还在学习的同学一起学习交流而分享。代码都有注释,应该比较好看的懂。代码送上。
- Public Function search_sql()
- Dim I2 As Integer, j2 As Integer, sht As Worksheet ' i2,j2为整数变量;sht 为excel工作表对象变量,指向某一工作表
- Dim CR, JR, C, F, CFKG As Integer 'CR Excel表的需要查询的行序号,JRExcel表的得到的结果行序号, C Excel表的列序号 F 查询结果的总记录数 I SQL表的字段序号
- Dim strCn As String, strSQL As String '字符串变量
- '========================循环读取查询=====================================
- CR = 2 '表示从第二行开始,行序号
- JR = CR '表示从第二行开始,行序号
- C = 1 '表示从第一列开始,列序号
- '这里需要注意的是,如果用这一句,只能在当前工作表中正常使用。另存为宏后就不能正常工作了
- 'ThisWorkbook指的是当前工作簿,不是活动工作表。她就指向宏的工作簿了。
- ' Set sht = ThisWorkbook.Worksheets("Sheet1")'把sht指向当前工作簿的Test工作表
- '改用ActiveWorkbook就指向当前活动工作簿了。就能正常工作了。O(∩_∩)O哈哈~
- Set sht = ActiveWorkbook.Worksheets("Sheet1") '把sht指向当前工作簿的Test工作表
- Dim strA As String '我定义的字符串变量名
- ' Dim strB(10) As String '我定义的字符串变量名
- Dim length As Long, count As Long
- ' zonglieshu = 1 To Worksheets(2).UsedRange.Rows.Count '得到总的列数,本例中不适用。
- ' length = sht.UsedRange.Columns.count '得到该列元素个数
- '=================唯一的缺点就是这句话还有问题,有时候多,有时候少的。===================
- 'length = sht.UsedRange.Rows.count '得到该列元素个数
- ' MaxRows = Range("A1").CurrentRegion.Rows.count '统计行数
- ' MaxCols = Range("A1").CurrentRegion.Columns.count '统计列数
- length =