powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / При выполнении sql запроса к Excel странно работает условие WHERE
8 сообщений из 8, страница 1 из 1
При выполнении sql запроса к Excel странно работает условие WHERE
    #37829408
slowmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.

Есть таблица в excel (15000 строк,50 столбцов).
Столбец [№ заказа] тип String в dataset и текстовый в Excel.
Так вот, если сделать запрос с условием select * from [Продукция$A5:Y13475] where [№ заказа] = '2952/2',
то в гриде видны все подходящие записи, но если [№ заказа] = '2952', то не выводится ниодной записи хотя в Excel они есть.
В чем косяк, хоть убей, не могу понять. Есть предположения?

Код подключения:

Dim strcon As String = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=""Excel 8.0;HDR=1""; Data Source=" + ExcelPath
MyConnection = New System.Data.OleDb.OleDbConnection(strcon)
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Продукция$A5:Y13475] where [№ заказа] = '2952' ", MyConnection)
DtSet = New System.Data.DataSet
MyCommand.Fill(DtSet)
DataGridView1.DataSource = DtSet.Tables(0)

Результат пустая таблица,а должна быть одна запись.
...
Рейтинг: 0 / 0
При выполнении sql запроса к Excel странно работает условие WHERE
    #37829475
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
where left([№ заказа], 4) = '2952'


Код: vbnet
1.
where [№ заказа] like '%2952%'
...
Рейтинг: 0 / 0
При выполнении sql запроса к Excel странно работает условие WHERE
    #37829774
slowmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оба варианта не помогли.
Результат одинаковый:

Строки, где значение столбца "2952" не выводятся, зато выводятся строки c "2952/1" , "2952/2", "2952/3"...
...
Рейтинг: 0 / 0
При выполнении sql запроса к Excel странно работает условие WHERE
    #37829797
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: slowmind
> Строки, где значение столбца "2952" не выводятся, зато выводятся строки c "2952/1" , "2952/2", "2952/3"...

Сделай весь столбец текстовым и преобразуй данные в текст функией ТЕКСТ(), после чего будет выводится.
Можеш выполнить запрос
Код: vbnet
1.
 ... where [№ заказа] is null

и увидиш что в результате будут строки у которых в
файле номер заказа стоит 2952

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
При выполнении sql запроса к Excel странно работает условие WHERE
    #37829847
slowmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое.
Помогло и главное понял в чем косяк.
...
Рейтинг: 0 / 0
При выполнении sql запроса к Excel странно работает условие WHERE
    #37829853
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slowmind, а такие варианты вы не пробовали?
where Val([№ заказа]) = 2952
и
where cstr([№ заказа]) = '2952'
...
Рейтинг: 0 / 0
При выполнении sql запроса к Excel странно работает условие WHERE
    #37829884
slowmind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_worldslowmind, а такие варианты вы не пробовали?
where Val([№ заказа]) = 2952
и
where cstr([№ заказа]) = '2952'

Пробовал - вываливался в ошибки.
Дело оказалось в значениях стобца Excel на что указал Игорь Горбонос.
...
Рейтинг: 0 / 0
При выполнении sql запроса к Excel странно работает условие WHERE
    #37829903
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: mds_world

Так не получится, потому что по строке подключения видно что тип данных столбца определяется первыми тремя(восьмью)
строками и все что умолчательно не конвертируется в этот тип просто не берётся, а заполняется NULL'ами. Можно поставить
в строку подключения IMEX=1, но тогда все данные будут текстовыми.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / При выполнении sql запроса к Excel странно работает условие WHERE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]