Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / отсутствует значение одного или нескольких параметров / 25 сообщений из 39, страница 1 из 2
08.09.2015, 11:02
    #39045576
Igor2015
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Кто может подсказать, запросом ниже мне необходимо преобразовать поле и сделать отбор по нему.
однако в результате выдает ошибку отсутствует значение одного или нескольких параметров.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Dim rCell As Range
For Each rCell In rasd
    If rCell <> "" Then

sSQL = "SELECT  iif(InStr(StrReverse(F1),'.')=1,F1,F1&'.') as fodin FROM `" & imyaButget & "`" & vbCrLf & _
"where fodin = '" & IIf(InStr(StrReverse(rCell), ".") = 1, rCell, rCell & ".") & "';"

Set rsScores = New ADODB.Recordset
rsScores.Open sSQL, cn, 3, 3
rCell.Cells(1, 11).CopyFromRecordset rsScores

    End If
Next rCell
...
Рейтинг: 0 / 0
08.09.2015, 11:20
    #39045592
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
1) Это гениально - объявить объектную переменную, и сразу же, не присваивая ей значения, начинать по ней итерацию.
2) Не менее гениально - на каждой итерации формировать новую объектную переменную.
3) Зачем указывать, какая именно строка приводит к ошибке? тут народ умный, догадается...
4) Зачем показывать текст полученного запроса? тут народ... ну вы поняли.
5) Использование тегов - это для слабаков.
...
Рейтинг: 0 / 0
08.09.2015, 11:29
    #39045603
Igor2015
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Akina, в запросе ошибка, гений))
чтоб не смущало очень поверхностное понимание кода напишу только строку запроса.
ошибка в элементе as fodin и отбор по нему.
работает очень быстро даже во множестве итераций, другого выхода пока не вижу.
Есть мысли как объявить правильно переменную и сделать по нему отбор?

Код: vbnet
1.
2.
sSQL = "SELECT iif(InStr(StrReverse(F1),'.')=1,F1,F1&'.') as fodin FROM `" & imyaButget & "`" & vbCrLf & _
"where fodin = '" & IIf(InStr(StrReverse(rCell), ".") = 1, rCell, rCell & ".") & "';"


Модератор: Учимся использовать тэги оформления кода - FAQ

Заранее благодарю.
...
Рейтинг: 0 / 0
08.09.2015, 11:34
    #39045610
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
покажите значение переменной sSQL на момент возникновения ошибки
...
Рейтинг: 0 / 0
08.09.2015, 11:40
    #39045617
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Igor2015ошибка в элементе as fodin и отбор по нему
Угу... то есть получается запрос типа:

Код: vbnet
1.
2.
3.
SELECT (что-то) as fodin
FROM (откуда-то)
WHERE fodin = (чему-то)



Сервер СНАЧАЛА выполняет запрос, и только потом присваивает имена полям выходного набора. То есть в момент выполнения запроса этого самого поля fodin тупо не существует.

Да, это немного не так - но в данном случае как раз именно так.
Можешь попробовать вместо WHERE использовать HAVING - авось прокатит.
...
Рейтинг: 0 / 0
08.09.2015, 11:43
    #39045620
Igor2015
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Shocker.Pro,
значение переменной на момент ошибки:

Код: plsql
1.
2.
 sSQL = SELECT iif(InStr(StrReverse(F1),'.')=1,F1,F1&'.') as fodin FROM `Бюджет НМЗ$AF20:BI200`
where fodin = '1.1.1.';
...
Рейтинг: 0 / 0
08.09.2015, 11:51
    #39045629
Igor2015
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Akina,
нет не выходит.
а как тогда, подзапрос писать?
...
Рейтинг: 0 / 0
08.09.2015, 11:58
    #39045638
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Можно и подзапрос. А можно во WHERE писать не имя поля, а вычисляющее его выражение.
Что лучше - зависит от селективности запроса и используемого сервера БД.
...
Рейтинг: 0 / 0
08.09.2015, 12:03
    #39045648
Igor2015
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Akina,

а так несоответствие типов в отборе. я уже все перепробовал, убил кучу времени.

Код: plsql
1.
2.
[SRC PLSQL]sSQL = "SELECT iif(InStr(StrReverse(F1),'.')=1,F1,F1&'.') FROM `" & imyaButget & "`" & vbCrLf & _
"where iif(InStr(StrReverse(F1),'.')=1,F1,F1&'.') = '" & IIf(InStr(StrReverse(rCell), ".") = 1, rCell, rCell & ".") & "';"

[/SRC]
...
Рейтинг: 0 / 0
08.09.2015, 12:34
    #39045694
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Ну вот опять... да кому нахрен нужен код формирования строки запроса? Показывай содержимое переменной, сам запрос, выполнение которого приводит к ошибке.
...
Рейтинг: 0 / 0
08.09.2015, 14:23
    #39045839
Igor2015
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Akina,

блин, все написал, че еще надо?
есть предложения?
...
Рейтинг: 0 / 0
08.09.2015, 14:28
    #39045850
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Igor2015,

не, ну как хочешь конечно, раз помощь не нужна.

попробуй выполнить запрос без where
...
Рейтинг: 0 / 0
08.09.2015, 14:31
    #39045852
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
что за база данных?
ты используешь ф-ии VB внутри запроса:

Код: vbnet
1.
SELECT  iif(InStr(StrReverse(
...
Рейтинг: 0 / 0
08.09.2015, 14:46
    #39045893
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Konst_Oneчто за база данных?Igor2015блин, все написал, че еще надо?
есть предложения?

Судя по всему, автор использует Jet к экселевскому листу (хоть и не удосужился нам это рассказать). Там можно использовать iif и instr, насчет strreverse - не факт
...
Рейтинг: 0 / 0
08.09.2015, 14:55
    #39045913
Igor2015
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Konst_One, база - лист книги excel.
...
Рейтинг: 0 / 0
08.09.2015, 15:05
    #39045933
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Igor2015блин, все написал, че еще надо?
Да ни хрена ты не написал того, что надо!
Igor2015есть предложения?
Да.
Shocker.Proпокажите значение переменной sSQL на момент возникновения ошибки
...
Рейтинг: 0 / 0
08.09.2015, 15:10
    #39045941
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
На самом деле, лучше приложить тестовый файл. А то может там столбца F1 вообще нет.
...
Рейтинг: 0 / 0
08.09.2015, 15:10
    #39045944
Igor2015
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Igor2015Shocker.Pro,
значение переменной на момент ошибки:

Код: plsql
1.
2.
 sSQL = SELECT iif(InStr(StrReverse(F1),'.')=1,F1,F1&'.') as fodin FROM `Бюджет НМЗ$AF20:BI200`
where fodin = '1.1.1.';



Вот вроде как значение переменной, на мышке есть колесо))
...
Рейтинг: 0 / 0
08.09.2015, 15:17
    #39045955
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Igor2015Вот вроде как значение переменной, на мышке есть колесо))а вот ответ, на мышке есть колесо
AkinaСервер СНАЧАЛА выполняет запрос, и только потом присваивает имена полям выходного набора. То есть в момент выполнения запроса этого самого поля fodin тупо не существует.
...
Рейтинг: 0 / 0
08.09.2015, 15:34
    #39045976
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Igor2015 , уж не хочешь ли ты сказать, что при выполнении кода
Код: vbnet
1.
2.
sSQL = "SELECT iif(InStr(StrReverse(F1),'.')=1,F1,F1&'.') FROM `" & imyaButget & "`" & vbCrLf & _
"where iif(InStr(StrReverse(F1),'.')=1,F1,F1&'.') = '" & IIf(InStr(StrReverse(rCell), ".") = 1, rCell, rCell & ".") & "';"


значение переменной стало
Код: vbnet
1.
SELECT iif(InStr(StrReverse(F1),'.')=1,F1,F1&'.') as fodin FROM `Бюджет НМЗ$AF20:BI200` where fodin = '1.1.1.';


Не верю.
...
Рейтинг: 0 / 0
08.09.2015, 15:44
    #39045989
Igor2015
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Akina,

уважаемые специалисты, я ж никого не хочу здесь обмануть, нет смысла.
попробую подготовить архив с исполняющими файлами. может чем поможете.
...
Рейтинг: 0 / 0
08.09.2015, 15:58
    #39046011
Igor2015
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Akina,
исполняющий файл реестр платежей.
Макросом modul я пытаюсь вытянуть соответствующие пункты из файла книга1 в столбец G файла реестр платежей(столбец G)/
смысл предполагаемого sql в том, что я хочу предусмотреть ошибки ввода точек в написании пунктов столбец С.

Как то так.
...
Рейтинг: 0 / 0
08.09.2015, 16:34
    #39046047
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
В ячейке A3 файла с данными находится Null

Igor2015блин, все написал, че еще надо?а как мы могли об этом догадаться?
...
Рейтинг: 0 / 0
08.09.2015, 17:15
    #39046095
Igor2015
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Shocker.Pro,
да я и коннектился для этого с параметром IMEX=1.
ну, а все таки что можно решить?
...
Рейтинг: 0 / 0
08.09.2015, 17:17
    #39046097
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отсутствует значение одного или нескольких параметров
Я назвал причину ошибки, даль уже сам решай, что ты хочешь с этим делать
Хочешь - исправляй файл данных, хочешь - делай условие отбора в sql-запросе
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / отсутствует значение одного или нескольких параметров / 25 сообщений из 39, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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