Private Sub CommandButton1_Click()
Dim cn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim R, C, F, I As Integer
Dim Sql_text
Const cnnstr = "Provider = SQLOLEDB;" & _
"Data Source =schf;" & _
"Initial Catalog=abc;User ID =sa;Password =;"
'连接数据库
cn.Open cnnstr
Sql_text = "SELECt dbo.name.name,"
Sql_text = Sql_text & " dbo.name.phone"
Sql_text = Sql_text & " FROM dbo.name"
Sql_text = Sql_text & " ORDER BY dbo.name.id "
'使用SQL数据库查询语言查询
rst.Open Sql_text, cn, adOpenStatic, adLockBatchOptimistic '用adOpenStatic + adLockBatchOptimistic打开较快,且占用资源小
R = 5 'Excel表的行序号
C = 3 'Excel表的列序号
I = 0 'SQL表的字段序号
F = rst.Fields.Count - 1
Worksheets("sheet1").Unprotect
Worksheets("sheet1").Cells.ClearContents
While Not rst.EOF
For I = 0 To F
Sheet1.Cells(R, I + 3).Rows.Value = rst.Fields(I).Value
Next I
R = R + 1
rst.MoveNext '将数据库的数据返回到EXCEL表中
Wend
Worksheets("sheet1").Protect
UserForm1.Hide
'MsgBox ("读取完毕")
rst.Close '完成后要关闭
cn.Close '完成后要关闭
'注意:以上为直接连接SQL Server 的方法,不用建ODBC数据源
Worksheets("sheet1").Activate
End Sub
运行试错误424,要求对象
答案:2 悬赏:0 手机版
解决时间 2021-01-25 05:26
- 提问者网友:捧腹剧
- 2021-01-25 02:10
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-01-25 02:18
在窗体及模块的顶部都添加
Option Explicit '强制声明所有变量
然后再调试或是编译的时候,如果有没有声明的变量或是错误拼写造成的变量或对象名称都会有错误提示。
Option Explicit '强制声明所有变量
然后再调试或是编译的时候,如果有没有声明的变量或是错误拼写造成的变量或对象名称都会有错误提示。
全部回答
- 1楼网友:北城痞子
- 2021-01-25 03:18
如果我没猜错的话,应该是:
test1.text="vb原来如此容易"
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯