先在在工具栏右键选控件工具箱,再插入一个按钮来触发VBA的函数,双击按钮,进行代码编辑,在“工具”->“引用”添加Microsoft ActiveX Data 2.8 library和下面的Microsoft ActiveX Data RecordSet 2.8 library
再用如下代码:
1
Private Sub CommandButton1_Click()
2
3
'------db prepare-----
4
Dim conn, vcc, sql
5
6
sqlb = "select * from vba_test "
7
Set conn = New ADODB.Connection
8
conn.Open "driver={sql server};server=(local);UID=mydb;PWD=user; database=pass"
9
Set vcc = New ADODB.Recordset
10
11
'---- fill------
12
Dim msg
13
If Application.Documents(1).Tables.Count >= 1 Then
14
Dim tb, name, result
15
Set tb = Application.Documents(1).Tables(1)
16
Dim i
17
For i = 1 To tb.Rows.Count
18
name = tb.Cell(i, 1).Range.Text
19
sql = sqlb & "where name='" & Left(name, Len(name) - 2) & "'"
20
vcc.Open sql, conn, 3, 2
21
' MsgBox vcc = Null
22
If Not vcc.EOF Then
23
result = vcc("info") & " "
24
tb.Cell(i, 2).Range.Text = result
25
End If
26
vcc.Close
27
Next
28
29
Set tb = Nothing
30
End If
31
32
''--------clean up
33
Set conn = Nothing
34
Set vcc = Nothing
35
End Sub
36
37

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

下面是截图