powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / OpenRecordset и дробные числа
13 сообщений из 38, страница 2 из 2
OpenRecordset и дробные числа
    #39436996
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

Всё равно не работает. Опять выскакивает ошибка, что мало параметров и требуется1.
А задача-то простая:генерируем случайное число и проверяем есть оно в таблице или нет. Вот процедура:

Dim qqq As Database
Dim www As Recordset
Dim slch As Double

slch = Rnd(1)
Set qqq = CurrentDb
Set www = qqq.OpenRecordset("SELECT*FROM szayavka WHERE [szayavka]![szayavka_id]= " & Replace(CStr(Nz(slch, 0)), ",", "."))
...
Рейтинг: 0 / 0
OpenRecordset и дробные числа
    #39437037
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TauriВсё равно не работает. Опять выскакивает ошибка, что мало параметров и требуется1.
Эта ошибка означает, что названия колонок или таблиц в запросе неверные. Постройте выражение в конструкторе и не мучайтесь.
...
Рейтинг: 0 / 0
OpenRecordset и дробные числа
    #39437045
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri,
а так:
Код: vbnet
1.
2.
3.
4.
Dim rs As Recordset, slch
slch = Replace(Rnd(1), ",", ".")
Set rs = CurrentDb.OpenRecordset("select * from таблица1 where ctl=" & slch)
.......
...
Рейтинг: 0 / 0
OpenRecordset и дробные числа
    #39437066
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку:
и не будет работать пока slch as Double (string или integer или ничего не пишите)
(присваивать значение отдельной строчкой не обязательно)
...
Рейтинг: 0 / 0
OpenRecordset и дробные числа
    #39437076
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще: почитайте про Randomize
...
Рейтинг: 0 / 0
OpenRecordset и дробные числа
    #39437130
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ура! Заработало!

Надо было заменить WHERE [szayavka]![zayavka_id] на WHERE (szayavka.zayavka_id)


sdku, MrShin ОГРОМНОЕ СПАСИБО.
...
Рейтинг: 0 / 0
OpenRecordset и дробные числа
    #39437210
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri,
не в этом причина (так тоже будет работать),а в типе данных (переменной slch вообще нет ):
Код: vbnet
1.
Set rs = CurrentDb.OpenRecordset("select*from таблица1 where [таблица1]![ctl]=" & Replace(Rnd(1), ",", "."))
...
Рейтинг: 0 / 0
OpenRecordset и дробные числа
    #39437247
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuTauri,
не в этом причина (так тоже будет работать),а в типе данных (переменной slch вообще нет ):
Код: vbnet
1.
Set rs = CurrentDb.OpenRecordset("select*from таблица1 where [таблица1]![ctl]=" & Replace(Rnd(1), ",", "."))



Есть: Dim slch As Double
...
Рейтинг: 0 / 0
OpenRecordset и дробные числа
    #39437256
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuTauri,
не в этом причина (так тоже будет работать),а в типе данных (переменной slch вообще нет ):
Код: vbnet
1.
Set rs = CurrentDb.OpenRecordset("select*from таблица1 where [таблица1]![ctl]=" & Replace(Rnd(1), ",", "."))



Что такое ctl ? Это поле в таблица1 ?
...
Рейтинг: 0 / 0
OpenRecordset и дробные числа
    #39437290
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И никто не сказал про параметры...

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Dim db As DAO.Database, r As DAO.Recordset
Dim q As DAO.QueryDef, p As DAO.Parameter

Private Sub Form_Load()
    Set db = CurrentDb
    Set q = db.QueryDefs("Запрос1")
    Set p = q.Parameters!p
End Sub

Private Sub tx_AfterUpdate()
    p.Value = tx
    Set r = q.OpenRecordset
    MsgBox IIf(r.EOF, "Нет записи", "Есть запись"), vbInformation
End Sub



Базка с примером приложена
...
Рейтинг: 0 / 0
OpenRecordset и дробные числа
    #39437337
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TauriЕсть: Dim slch As Doubleа должно быть 20392720
ctl-поле таблицы
...
Рейтинг: 0 / 0
OpenRecordset и дробные числа
    #39437364
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

а мне ранее сказали что можно 20385334
...
Рейтинг: 0 / 0
OpenRecordset и дробные числа
    #39437374
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

Но, во всяком случае синтаксис

Dim qqq As Database
Dim www As Recordset
Dim slch As Double

If DCount("*", "szayavka") = 0 Then
slch = Rnd(1)
Else
Do
slch = Rnd(1)
Set www = qqq.OpenRecordset("SELECT*FROM szayavka WHERE (szayavka.zayavka_id)= " & Replace(CStr(Nz(slch, 0)), ",", "."))
Loop Until www.RecordCount = 0
End If

наконец-то работает.

Так, что ещё раз спасибо всем, кто мне помог разобраться.
...
Рейтинг: 0 / 0
13 сообщений из 38, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / OpenRecordset и дробные числа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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