Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
647 / 100 / 11
Регистрация: 08.06.2015
Сообщений: 1,564
1

Каким образом продублировать одну запись 10 раз программно?

09.12.2015, 19:04. Показов 1152. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите каким образом можно продублировать одну запись 10 раз програмно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2015, 19:04
Ответы с готовыми решениями:

Продублировать запись в таблице несколько раз
Коллеги приветствую. Есть таблица с полями "Дата начала", "Дата окончания", "Работы". Как можно...

Каким образом скопировать запись из формы в таблицу?
Подскажите каким образом скопировать запись из формы в таблицу.

Каким образом можно программно проверить и получить почту
Не подскажите каким образом можно программно проверить и получить почту? Искал, но негде не нашёл (...

Каким образом можно программно перегнать картинку bmp в pdf
Подскажите, пожалуйста, каким-то образом можно программно перегнать картинку bmp в pdf? и если да,...

7
Эксперт MS Access
2833 / 1375 / 215
Регистрация: 13.05.2011
Сообщений: 4,217
09.12.2015, 19:43 2
alexpro1979, сделать запрос на добавление записи и прописать запуск 10 раз.
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.12.2015, 19:47 3
Можно достаточно просто запросом с юнионом. Проблема только как определить нужную запись (которая должна быть скопирована), а также возможен конфликт с ключом или уникальным индексом. Эти поля должны быть исключены из списка, если ключ счетчик или уникальное значение добавлено в каждую запись.
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
INSERT INTO Таблица (Поле1, Поле2,,,, ПолеN)
SELECT * FROM
(SELECT Поле1, Поле2,,,, ПолеN FROM Таблица WHERE ID=Значение
UNION ALL
SELECT Поле1, Поле2,,,, ПолеN FROM Таблица WHERE ID=Значение
UNION ALL
SELECT Поле1, Поле2,,,, ПолеN FROM Таблица WHERE ID=Значение
UNION ALL
SELECT Поле1, Поле2,,,, ПолеN FROM Таблица WHERE ID=Значение
UNION ALL
SELECT Поле1, Поле2,,,, ПолеN FROM Таблица WHERE ID=Значение
UNION ALL
SELECT Поле1, Поле2,,,, ПолеN FROM Таблица WHERE ID=Значение
UNION ALL
SELECT Поле1, Поле2,,,, ПолеN FROM Таблица WHERE ID=Значение
UNION ALL
SELECT Поле1, Поле2,,,, ПолеN FROM Таблица WHERE ID=Значение
UNION ALL
SELECT Поле1, Поле2,,,, ПолеN FROM Таблица WHERE ID=Значение
UNION ALL
SELECT Поле1, Поле2,,,, ПолеN FROM Таблица WHERE ID=Значение
Выполнить запрос можно в коде ВБА. Если он сохраненный, то
SQL
1
Currentdb.execute "ИмяЗапроса"
Если текст запроса задан переменной сгенерированной в коде, то
SQL
1
Currentdb.execute strSql
Также можно в коде ВБА размножить запись в рекордсете, не прибегая к запросу. Или создав запрос на основе известного запроса Digits. В общем вариантов не один, можно выбирать
1
647 / 100 / 11
Регистрация: 08.06.2015
Сообщений: 1,564
09.12.2015, 21:20  [ТС] 4
на каждый случай свое количество дублей

Добавлено через 49 секунд
нужна еще и возможность ввода количества строк
0
Эксперт MS Access
2833 / 1375 / 215
Регистрация: 13.05.2011
Сообщений: 4,217
09.12.2015, 21:22 5
alexpro1979, Можно сделать нормальный запрос на добавление с кнопкой. Если Вам надо 7 копий записей, то нажмите просто семь раз (наверное не будет необходимости делать по 30 копий - иначе можно сбиться со счета).
0
647 / 100 / 11
Регистрация: 08.06.2015
Сообщений: 1,564
09.12.2015, 21:23  [ТС] 6
я думаю максимум 8
0
Эксперт MS Access
2833 / 1375 / 215
Регистрация: 13.05.2011
Сообщений: 4,217
09.12.2015, 21:24 7
Лучший ответ Сообщение было отмечено alexpro1979 как решение

Решение

Цитата Сообщение от Вячеслав Я Посмотреть сообщение
Можно сделать нормальный запрос на добавление с кнопкой.
Покажите Ваш пример. На нем и сделаем.
1
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.12.2015, 21:34 8
Лучший ответ Сообщение было отмечено alexpro1979 как решение

Решение

Цитата Сообщение от alexpro1979 Посмотреть сообщение
на каждый случай свое количество дублей

нужна еще и возможность ввода количества строк
Это тоже несложно сделать в коде. Предположим в форме есть поле с задаваемым количеством дублей, назовем его Kol и кнопка, выполняющее размножение записей. На кнопке код
Visual Basic
1
2
3
4
5
6
7
8
Sub Кнопка_Click()
  Dim i, s, db as DAO.Database
  s="INSERT INTO Таблица (Поле1, Поле2,,,, ПолеN) " _
  & "SELECT Поле1, Поле2,,,, ПолеN FROM Таблица WHERE ID=" & Me.ID
  For i=1 to me.Kol
    db.Execute s
  Next
End Sub
1
09.12.2015, 21:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2015, 21:34
Помогаю со студенческими работами здесь

каким образом программно можно обновить страницу не сбрасывая пост данные?
Чтобы обновление было таким же как при нажатии правой клавиши мыши.

Каким образом вставить запись?
Вот уж не думал, что возникнут проблемы в таком пустяковом запросе. На форме лежит датасет и грид....

Каким образом с клавиатуры можно ввести текст (последовательность строк), и преобразовать это все в одну строку
Прошу вас помочь мне разобраться с одним вопросом: каким образом с клавиатуры можно ввести текст...

Каким образом заставить компонент RichEdit1 перемещать свой Skroll на последнюю запись?
На форме есть компонент RichEdit1 На этот компонент постоянно добавляются записи с других...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru