|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
<p>我通过vba 调用sql server服务器数据来做报表,目前遇到一个问题:</p><p>excel 等待数据库返回的时间太短,</p><p>如果该查询语句在sql上运行超过 excel 等待时间,将出现如下类似超时引起的提示:</p><p>=======================</p><p>运行时错误 '-2147217887 (80040e21)';</p><p>多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。</p><p>=======================</p><p>有没有延长excel等待数据库返回数据时间的vba语句,请各位帮忙</p><p><br/>以下是连接数据库的方式<br/>Dim cnnConnect As ADODB.Connection<br/>Dim rstRecordset As ADODB.Recordset<br/>Set cnnConnect = New ADODB.Connection</p><p>cnnConnect.Open Lj<br/>Set rstRecordset = New ADODB.Recordset<br/>rstRecordset.Open _<br/> Source:=l, _<br/> ActiveConnection:=cnnConnect, _<br/> CursorType:=adOpenDynamic, _<br/> LockType:=adLockReadOnly, _<br/> Options:=adCmdText<br/>With Sheet1.QueryTables.Add( _<br/> Connection:=rstRecordset, _<br/> Destination:=Sheet1.Range("a"))<br/> .Name = "Contact List"<br/> .FieldNames = True<br/> .RowNumbers = False<br/> .FillAdjacentFormulas = False<br/> .PreserveFormatting = True<br/> .RefreshOnFileOpen = False<br/> .BackgroundQuery = False<br/> .RefreshStyle = xlInsertDeleteCells<br/> .SavePassword = False<br/> .SaveData = False<br/> .AdjustColumnWidth = False<br/> .RefreshPeriod = 0<br/> .PreserveColumnInfo = False<br/> .Refresh BackgroundQuery:=False<br/>End With<br/> Sheet1.Range("a").QueryTable.Delete<br/> <br/>rstRecordset.Close<br/>cnnConnect.Close<br/>Set rstRecordset = Nothing<br/>Set cnnConnect = Nothing</p> |
|