Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Запрос на выборку из файла Excel


Автор: Андреy 1.4.2009, 12:31
Еще раз здравствуйте! Такая проблема: 
делаю запрос на выборку из файла Excel, и в некоторых полях оказываются значения, которых на листе реально нет!
Поясню:
Код

PL_ConnectionData = "Provider=Microsoft.Jet.OLEDB.4.0;" + _
                                 "Data Source=" & PriseListFullName & ";" + _
                                 "Extended Properties=""Excel 8.0;HDR=No;"""
                                 
             Set cn_PL = New ADODB.Connection
             With cn_PL
               .ConnectionString = PL_ConnectionData
               .ConnectionTimeout = 15
               .CommandTimeout = 15
               .Mode = adModeRead
               .Open 
             End With

Dim sql_cmd As String
  sql_cmd = "select F6, F11, F13, F21 from [" & SearchShName & "$A7:U65535] " & _
            " where F1 = 'ФП' and F2 = '" & CStr(Producer) & "'"
Dim ar_rec As Recordset
  Set ar_rec = cn_PL.Execute(sql_cmd )
If Not rs_res.EOF Then
    PriceValue = rs_res.Fields(2).Value
    SalesPriceValue = rs_res.Fields(3).Value
  End If

Так вот, в PriceValue записывается то, что надо - значение есть в соотв. ячейке файла-источника. А вот в SalesPriceValue записывается число, которого нет в данных. В файле, откуда делается выборка, в обеих ячейках значения считаются по формулам (я сначала на это грешил). В чем может быть дело??! Формула может быть причиной? Еще бывает такая проблема - в ячейке есть значение, а после выборки в поле - null. 

Автор: Staruha 1.4.2009, 18:47
возможно,когда ты открываешь книгу для проверки формулы пересчитываются.Ты закрываешь без сохранения и снова тащишь необновленные данные

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)