MyTetra Share
Делитесь знаниями!
рекордсет из закрытой книги2
27.06.2018
06:30
Текстовые метки: Подключение к Excel, рекордсет из закрытой книги, рекордсет, Recordset
Раздел: VBA - Array - Recordset

Я тут нарисовал такой Sanek_81.dqy

Код:


XLODBC

1

DSN=Excel Files;DBQ=C:\temp\Sanek_81\test.xls;DefaultDir=C:\temp\Sanek_81;DriverId=790;MaxBufferSize=2048;PageTimeout=5;

SELECT `Лист3$`.`test ok`, `Лист3$`.F2, `Лист3$`.`test ok1`, `Лист3$`.`test ok2`, `Лист3$`.`test ok3` FROM `C:\temp\Sanek_81\test`.`Лист3$` `Лист3$` WHERE (`Лист3$`.F2=1)



test ok F2 test ok1 test ok2 test ok3


Подправить пути, сохранить текст как имя.dqy, запустить.
Работает, но вытягивает только данные-цифры. Т.е. выбрал такие две строки, если единичку к семёркам поставить:

Код:


7 1 7 7 7

1


Может пригодится...

P.S. А почему именно SQL?
Я как-то массивами обхожусь - и быстрее получается, и код как хочешь можно повернуть...





'------------------------------------------------------------------------------------------------------------------------

Послушайтесь совета Hugo121.У вас данные должны быть сохранены как текст,иначе возьмет только числа

Код:

Public Const sCn1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="

Public Const sCn2 = ";Extended Properties=""Excel 8.0;HDR=No"";"

Public Sub Go_Junior()

Dim cn As ADODB.Connection, rs As ADODB.Recordset

Dim sCon As String, n As Long, sCon_R As String

Set cn = New ADODB.Connection

Set rs = New ADODB.Recordset

sCon = sCn1 + ThisWorkbook.FullName + sCn2

cn.Open sCon

If Not cn.State = 1 Then Exit Sub

sSql = "SELECT F1, F2, F3, F4, F5 " + _

" FROM [Лист3$A1:E5] T " & _

"WHERE F2 Like '1' ;"

rs.Open sSql, cn, adOpenStatic, adLockReadOnly

'

Лист1.Cells(1, 1).CopyFromRecordset rs

rs.Close


cn.Close


Set cn = Nothing


Set rs = Nothing

End Sub



 
MyTetra Share v.0.52
Яндекс индекс цитирования