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
相关文档:
第二十题:
怎么样抽取重复记录
表:
id name
--------
1 test1
2 test2
3 test3
4 test4
5 test5
6 test6
2 test2
3 test3
2 test2
6 test6
查出所有有重复记录的数据,用一句sql 来实现
create table D(
id varchar (20),
name varchar (20)
)
insert into D values('1','test1')
insert into D val ......
sql在多方摸索和朋友的帮助下,终于可以连接成功,这对我来说是个里程碑来的,在工作的过程中我总是没有机会可以碰触到SQL,当我鼓起勇气勇气想学习的时候我连怎么用都不会,进来终于链接成功,开心地和朋友分享我的成果。
1.安装sql,学习SQl,因为一般我是想要用于VS2005项目的,所以一般最后就先安装VS软件,以便 ......
/*--text字段的替换处理
--*/
--创建数据测试环境
--create table #tb(aa text)
declare @s_str varchar(8000),@d_str varchar(8000), --定义替换的字符串
......
---------数学函数
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) value from dual
4.取整(截取)
S:select cast(-1.002 as int) v ......
手动清理
1、打开查询分析器,输入命令DUMP TRANSACTION 数据库名 WITH NO_LOG
2、再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至: ,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
如1)
自动清理
企业管理器-》管理-》sql ......