Excel VBA 实现SQL数据读取K3人员信息
Private Sub CommandButton1_Click()
Worksheets("Sheet2").Select
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
'清除在Excel中的数据,确保导入信息不出现与原Excel数据进行叠加
Dim cnnConnect As Object
Dim rstRecordset As Object
Columns("A:C").Select
Range("A1").Activate
Selection.Delete Shift:=xlToLeft
Set cnnConnect = CreateObject("ADODB.connection")
Set rstRecordset = CreateObject("ADODB.Recordset")
cnnConnect.Open "Provider=SQLOLEDB;" & _
"Data Source=10.11.1.4;" & _
"User ID=finWork;Password=finwork;"
rstRecordset.Open _
Source:="Select code, name, email from hm_employees where status=1", _
ActiveConnection:=cnnConnect
'建立数据库连接,Source为数据库数据服务器IP,及连接用户名与密码,在实现时确保用户对K3数据库有读取权限
With ActiveSheet.QueryTables.Add( _
Connection:=rstRecordset, _
Destination:=Range("A1"))
.Name = "Contact List"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
'导入K3数据到Excel中,
Range("A1").Value = "工号"
Range("B1").Value = "姓名"
Range("C1").Value = "Email"
ActiveWorkbook.Worksheets("Sheet2").QueryTables
相关文档:
第一题:
为管理业务培训信息,建立3个表:
S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄
C(C#,CN)C#,CN分别代表课程编号,课程名称
SC(S#,C#,G) S#,C#,G分别代表学号,所选的课程编号,学习成绩
(1)使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?
(2) 使 ......
第十一题:
有表students(name,class,grade),请用标准sql语句完成
name class grade
张三 数学 81
李四 语文 70
王五 数学 90
张三 语文 60
李四 数学 100
王五 语文 90
王五 英语 81
要求: 用sql语句输出各门功课都大于80分的同学姓名?
create table students (
name varchar(25),
class varchar(25), ......
CREATE PROCEDURE
创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。
可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。也可以创建在 Microsoft? SQL Server? 启动时自动运行的存储过程。
语法
CREATE ......
现在发现SQL语句确实是太强大了,以后遇到问题要尽量先好好思考下,不要按照最笨的方法来做!
1.从tblFaultDetailTemp表中,找到ID=14的项,并将所列出的四个字段的值拷贝到tblFaultDetail表中
Insert into tblFaultDetail(Code,FileType,FaultCode,FaultRect) select Code,FileType,FaultCode,FaultRect from tblF ......
为了大家更容易理解我举出的SQL语句,本文假定已经建立了一个学生成绩管理数据库,全文均以学生成绩的管理为例来描述。
1.在查询结果中显示列名:
a.用as关键字:select name as '姓名' from students order by age
b.直接表示:select name '姓名' from students order by age
2.精确查找:
a.用 ......