powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос на изменение записей.
15 сообщений из 15, страница 1 из 1
Запрос на изменение записей.
    #32580919
Андрей GR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, какой синтаксис запроса должен быть на изменение, если мы не знаем название полей, но знаем их последовательность и тип?


Со вставкой все просто:
INSERT INTO TableName
Values('sdf','asfasd','fghdfg');
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32580926
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
одним запросом не получица. будешь вставлять в цикле.
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32580960
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей GRНарод, какой синтаксис запроса должен быть на изменение, если мы не знаем название полей, но знаем их последовательность и тип?


Со вставкой все просто:
INSERT INTO TableName
Values('sdf','asfasd','fghdfg');Нет такого в SQL.
Но если знаешь последовательность и тип, то можно через Recordset поля поменять:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim strSQL as String
Dim rs as Recordset
strSQL = "..."  ' открываем rs на нужной записи
 
Set rs = ... 

rs.Edit
rs( 0 ) = ...  ' первое поле
 
rs( 1 ) = ...  ' второе
 
...
rs.Update
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32581003
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Компромиссное решение - через vba смотрим названия полей, дальше к ним sql-ем обращаемся.
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32581105
Андрей GR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все дело в том, что именно на SQL надо! :-(
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32581111
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей GRВсе дело в том, что именно на SQL надо! :-(
Непонятно, как можно работать с таблицей не зная названия столбцов?
Что за задача такая?
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32581353
Андрей GR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Вставить-то можно строку, без названия столбцов.
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32581374
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 ну хоть количество столбцов заранее известно ?
2 что дальше делается с запросом:
- запускается руками
- запускается из формы
- ???
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32581384
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
задачу целиком опиши - возможно существуют готовые нетривиальные решения
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32582192
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paparome Андрей GRНарод, какой синтаксис запроса должен быть на изменение, если мы не знаем название полей, но знаем их последовательность и тип?

Со вставкой все просто:
INSERT INTO TableName
Values('sdf','asfasd','fghdfg');Нет такого в SQL.


Это, видать, в вашем нету - а вообще есть :)

Если не указывать список полей - то считается, что поля идут в том же порядке как и при декларации таблицы.
при этом необходимо перечислять все значения полей.

Код: plaintext
1.
2.
3.
4.
CREATE TABLE tt1
( f1 INTEGER, f2 VARCHAR( 128 ), f3 DOUBLE);

INSERT INTO tt1 VALUES( 1 ,'10', 1 . 2 );
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32582194
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего-то туплю... вобще не по поводу ответил.
там же не про INSERT а про UPDATE.

Для UPDATE - действительно нету.
В качестве вариантов - как сказал paparome, открывать recordset и идти по записям вколлекции через индекс.
Второй вариант - более надежный (IMHO).
считать спецификацию из того же открытого recordset-а (названия полей) и составить UPDATE запрос.
Третий вариант - почти как второй, только обновлять непосредственно в recordset-е, всеравно он уже открыт.
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32582251
Андрей GR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, похоже придется мне тогда перечислять поля. Всем спасибо!
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32582365
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВторой вариант - более надежный (IMHO).
считать спецификацию из того же открытого recordset-а (названия полей) и составить UPDATE запрос.
Третий вариант - почти как второй, только обновлять непосредственно в recordset-е, всеравно он уже открыт.
Второй вариант: Дык один фиг для чтения спецификации придется по числовым индексам проходить
Третий вариант: вообще, от моего ни чем не отличается :)
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32582396
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так задачку и не обьяснил - жаль , вдруг что-то красивое ускользнуло!
...
Рейтинг: 0 / 0
Запрос на изменение записей.
    #32582709
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paparomeТретий вариант: вообще, от моего ни чем не отличается :)
Ну как сказать... вообще все эти варианты слабо друг от друга отличаются, поскольку все сводится к Recordset-у
А разница между нашими вариантами мала, но есть.
Одно дело индексировать поля в Recordset-е по порядку вхождения, другое дело считывать имена и искать под это имя правильное значение.

При создании VIEW на основе таблицы и перепутывании полей твой способ ломается, мой - нет.

А я вот еще о чем подумал...
Если в таблице нет Counter-ов, особенно в качестве ключа и эта таблица не является MASTER-ом для других, то можно разбить задачц на две:
1) Удалить старую запись
2) Добавить новую INSERT-ом

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


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