|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
Здравствуйте. Я в процедуре VBA использую простую конструкцию: Dim qqq As Database Dim www As Recordset Dim slch As Variant Set qqq = CurrentDb Set www = qqq.OpenRecordset("SELECT*FROM Таблица1 WHERE [Таблица1]![prob]= " & slch & "") Переменная slch - всегда число. Если slch - целое число, то всё работает идеально, но если slch - дробное число, то возникает сообщение об ошибке. Что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2017, 17:39 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
Tauri, замени запятую на точку ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2017, 17:48 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
\\\\, я пробовал. не помогает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2017, 17:49 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
Tauri\\\\, я пробовал. не помогает.У всех помогает, а у тебя нет. Странно. И что же пишет когда поменяешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2017, 17:56 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
Tauri, так? Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2017, 18:00 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
\\\\, Нет. Так не пробовал. Сейчас проверю. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2017, 18:08 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
\\\\, Да, этот синтаксис помог. Спасибо большое. А почему тогда даже при принудительном присваивании slch = 0.301948 Set qqq = CurrentDb Set www = qqq.OpenRecordset("SELECT*FROM Таблица1 WHERE [Таблица1]![prob]= " & slch & "") не работало? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2017, 18:21 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
Tauri, так там запятая все равно. А вот если бы было так, то сработало бы slch = "0.301948" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2017, 19:21 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
Tauri, кстати, не плохо бы в тексте запроса ставить пробелы ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2017, 19:23 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
\\\\, Да, slch ="0.301948" сработало. Спасибо. Впредь буду знать. А какой тип данных можно присваивать переменной, если она всегда дробное число от 0 до 1 ? Long можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2017, 12:42 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
\\\\, Пробелы в тексте запроса необходимы для удобства или для корректного выполнения запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2017, 12:43 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
Tauri\\\\, Пробелы в тексте запроса необходимы для удобства или для корректного выполнения запроса?Для красоты, поговаривают :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2017, 13:07 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
Tauri\\\\, ...А какой тип данных можно присваивать переменной, если она всегда дробное число от 0 до 1 ? Long можно? LONG это длинное целое-ответьте себе можно ли его присваивать дробной переменной. (когда уже народ будет читать HELP...) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2017, 14:44 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
TauriА какой тип данных можно присваивать переменной, если она всегда дробное число от 0 до 1 ? Long можно?Double ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2017, 15:03 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
Tauri\\\\, А почему тогда даже при принудительном присваивании slch = 0.301948 Set qqq = CurrentDb Set www = qqq.OpenRecordset("SELECT*FROM Таблица1 WHERE [Таблица1]![prob]= " & slch & "") не работало? Потому что нужно писать str(slch). Что происходит: ваше число из-за операции & со строкой превращается в строку, причем используется системный разделитель, т.е. запятая в вашем случае, то же происходит, если использовать CStr. Если использовать str(), то будет использоваться точка, которая и требуется в SQL ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2017, 07:11 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
MrShin Если использовать str(), то будет использоваться точка, которая и требуется в SQL Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2017, 07:59 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
\\\\ Код: vbnet 1. 2.
Для компилятора запросов вполне съедобная форма. Он правильно воспримет выражение Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2017, 09:02 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
mds_world, ну может и так. Стараюсь не приравнивать к Double, весьма неоднозначные результаты можно получить. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2017, 09:26 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
\\\\, Снова здравствуйте. Теперь новая напасть: при выполнении Set www = qqq.OpenRecordset("SELECT*FROM szayavka WHERE [szayavka]![szayavka_id]= " & Replace(CStr(Nz(slch, 0)), ",", ".") & "") выскакивает сообщение об ошибке, хотя записи в таблице есть. Что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2017, 17:00 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
szayavka_id это что? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2017, 17:13 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
bubucha, это поле в таблице. числовое. не счётчик. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2017, 22:09 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
Tauri, Код: vbnet 1. 2.
почувствуйте разницу ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 00:43 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
sdkuпочувствуйте разницу Это нормально. Звездочка такой же разделитель как и пробел ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 01:10 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
Выделенное-это что? так все работает Код: vbnet 1.
(наличие пробелов возле звездочки не обязательно-привычка,не знаю хорошая или плохая) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 01:51 |
|
OpenRecordset и дробные числа
|
|||
---|---|---|---|
#18+
Tauriвыскакивает сообщение об ошибке, хотя записи в таблице есть. Что делать? Нажимаем Debug, копируем все, что внутри скобок OpenRecordset, Открываем окно Immediate, там после знака вороса вставляем скопированное и после нажатия Enter вы увидите то SQL выражение, которое пытается выполнить акцесс. Копируем его и вставляем в конструктор запросов, который точно скажет, что в нем неправильно. Практически уверен, что ошиблись в написании szayavka_id. Ну в качестве совета: сначала сконструируйте нужный рабочий запрос в конструкторе, а потом копируйте его в код, заменяя константы переменными. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 06:59 |
|
|
start [/forum/topic.php?fid=45&msg=39436660&tid=1612560]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 146ms |
0 / 0 |