powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / вот такой update можно сделать?
15 сообщений из 15, страница 1 из 1
вот такой update можно сделать?
    #33293877
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cnn.Execute "UPDATE top ('" & txt_print.Text & "') users set date_o=date() WHERE REG IN (" & s2 & ") and k_tov1 in (" & s3 & ") and (date >=" + d3 + ") and (date <=" + d4 + ") and IND is not null "

говорит ошибка синтаксиса в инструкции update
спасибо
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33293978
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
строку запроса в студию
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33294130
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я хочу обновить только количество записей которое написано в txt_print.Text
top ('" & txt_print.Text & "')
строка запроса, да хоть,

Код: plaintext
cnn.Execute "UPDATE top 100 users set date_o=date() WHERE REG IN 62 and k_tov1 in 105 and (date >=" + d3 + ") and (date <=" + d4 + ") and IND is not null "
я имею в виду в принципе можно такой апдейт произвести, n - записей отвечающих критерию
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33294404
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл сказать...
без top ('" & txt_print.Text & "') работает все как надо.
может быть при таком отборе нельзя обновить только несколько первых записий?
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33294420
без top ('" & txt_print.Text & "') работает все как надо.
может быть при таком отборе нельзя обновить только несколько первых записий?


если речь идет о MSSQL, то просто синтаксис неверный -- в update недопустимо использовать top

впрочем, можно обойти через подзапрос c top и inner join по PK с обновляемой таблицой
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33294449
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
речь идет о MS Access но синтаксис с SQL схож, даже больше, практически одинаковый.
автор в update недопустимо использовать top
я так и думал, но все же надеялся...
авторпрочем, можно обойти через подзапрос c top и inner join по PK с обновляемой таблицой
приблизительно как должно выглядеть? и что тако РК?
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33294452
речь идет о MS Access но синтаксис с SQL схож, даже больше, практически одинаковый.
приблизительно как должно выглядеть? и что тако РК?


РК = primary key

про Access не скажу, не знаком с этим чудом

[SRC для MSSQL прокатит такой пример]
declare @t table (i int, f int)

insert into @t(i) values (1)
insert into @t(i) values (2)
insert into @t(i) values (3)

update t
set f = 1
from @t t
inner join
(
select top 1 i
from @t
order by i desc
) t1 on t1.i = t.i

select * from @t
[/SRC]
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33294457
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо Голенков Владимир, попробую
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33294894
В Аксексе нельзя использовать UPDATE Top.

Воспользуйся вариантом Голенков Владимира.

Код: plaintext
1.
2.
3.
4.
UPDATE Table1 INNER JOIN (
SELECT TOP  5  ID, C
FROM Table1
WHERE B=# 9 / 29 / 2005 #) As z1
ON Table1.ID = z1.ID SET Table1.C = "Test";
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33297003
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, буду разбираться, как разберусь обязательно здесь напишу код.
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33299745
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ошибка синтаксиса в предложении FROM
что-то не могу найти ошибку...
Код: plaintext
"UPDATE users INNER JOIN (SELECT TOP " & txt_print.Text & " * From users WHERE (REG IN (" & s2 & ") and k_tov1 in (" & s3 & ") and (date >=" + d3 + ") and (date <=" + d4 + ") and IND is not null)) As Table ON users = table SET users.date_o=date()"
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33299758
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
"UPDATE users set date_o=date() WHERE EXISTS (SELECT top " & txt_print.Text & " * From users WHERE REG IN (" & s2 & ") and k_tov1 in (" & s3 & ") and (date >=" + d3 + ") and (date <=" + d4 + ") and IND is not null)"

пробывал запрос такого типа написать, но работает несовсем корректно, вместо обновления поля date_o=date() только выбранных записей, он обновляет все поле. почему такое может быть?
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33301551
Один1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shadyошибка синтаксиса в предложении FROM
что-то не могу найти ошибку...
Код: plaintext
"UPDATE users INNER JOIN (SELECT TOP " & txt_print.Text & " * From users WHERE (REG IN (" & s2 & ") and k_tov1 in (" & s3 & ") and (date >=" + d3 + ") and (date <=" + d4 + ") and IND is not null)) As Table ON users = table SET users.date_o=date()"
INNER JOIN ON Users.[имя колонки] = Table.[имя колонки]
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33301562
Один1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shady
Код: plaintext
"UPDATE users set date_o=date() WHERE EXISTS (SELECT top " & txt_print.Text & " * From users WHERE REG IN (" & s2 & ") and k_tov1 in (" & s3 & ") and (date >=" + d3 + ") and (date <=" + d4 + ") and IND is not null)"

пробывал запрос такого типа написать, но работает несовсем корректно, вместо обновления поля date_o=date() только выбранных записей, он обновляет все поле. почему такое может быть? Ваш запрос в "переводе на русский" звучит так: обновить поле date_o, если существуют строки возвращаемые подзапросом в Exists. Поняли ?
Вам нужен inner join, ответ см. выше.
...
Рейтинг: 0 / 0
вот такой update можно сделать?
    #33301837
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один1 shadyошибка синтаксиса в предложении FROM
что-то не могу найти ошибку...
Код: plaintext
"UPDATE users INNER JOIN (SELECT TOP " & txt_print.Text & " * From users WHERE (REG IN (" & s2 & ") and k_tov1 in (" & s3 & ") and (date >=" + d3 + ") and (date <=" + d4 + ") and IND is not null)) As Table ON users = table SET users.date_o=date()"
INNER JOIN ON Users.[имя колонки] = Table.[имя колонки]
Users.[имя колонки] = Table.[имя колонки] сделал, только ошибка не исчезла... решил проблему методом IN
Код: plaintext
Update Users Set date_o = Date() WHERE id IN (SELECT TOP " & txt_print.Text & " id From Users WHERE REG IN (" & s2 & ") AND k_tov1 IN (" & s3 & ") AND (date BETWEEN " + d3 + " AND " + d4 + ") AND IND IS NOT NULL)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / вот такой update можно сделать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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