|
Передать ID таблицы в запрос на добавление
|
|||
---|---|---|---|
#18+
Здравствуйте, знатоки! Возникла необходимость копировать кликом мышки некоторый строки из табличной формы в отдельную таблицу, в которой некоторое время накапливаются данные. Т.е. копировать указанные строки из Tab1 в Tab2. Обе таблицы одинаковые. Содержат столбцы (упрощаю для простоты): id (счетчик) Название (String) Количество (Integer) Долго мучился, но толком информации не нашёл... куски кода...советы, а рабочего примера нет. Временно решил проблему таким образом. Создал запрос на добавление, куда добавил ввод параметра, который вводится пользователем в диалоговом окне Код: sql 1. 2.
На КодЗаписи в форме прописал Код: vbnet 1. 2. 3.
При нажатии на нужной строке (по КодуЗаписи) загружается запрос, и ВРУЧНУЮ вводится код записи. Запрос отрабатывает правильно - указанная запись копируется из Tab1 в Tab2. Но такая технология в наше время просто неприемлема! Как передать параметр (id) в запрос по клику? Или как копировать другим способом? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 19:17 |
|
Передать ID таблицы в запрос на добавление
|
|||
---|---|---|---|
#18+
Повар555, Ну раз вы уже кликаете по этому коду записи, видите его, потом вводите руками... Замените в условии WHERE (((Tab1.Id)=[Введите код записи:])) зачеркнутое на путь к этому полю код записи и всё... Как обратиться к полю: Forms!ИмяГлавнойФормы!ИмяПоля - это если форма одна и поле прямо в ней... Forms!ИмяГлавнойФормы!ИмяПодчиненнойФормы!ИмяПоля - это если поле в подчиненной форме... Можно мастером попробовать вставить условие (естественно имена реальные подставить, а имя поля это ваш код записи)... Тут проще, - не получилось, можно переделать, не боись, кастрюлю с не удавшимся борщом на помойку нести не нужно... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 08:54 |
|
Передать ID таблицы в запрос на добавление
|
|||
---|---|---|---|
#18+
Проще так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 09:24 |
|
Передать ID таблицы в запрос на добавление
|
|||
---|---|---|---|
#18+
Повар555, поле ID в тбл2 является счетчиком и вставить в него значение из одноименного поля тбл1 не удастся нужно либо копировать без него(поле ID тбл2 заполнится автоматом и навряд-ли будет совпадать со значением в тбл1-в коде предложенном Анатолий ( Киев ) так и сделано),либо добавлять в тбл2 поле "ЗнСчетчикаТабл1" ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 12:33 |
|
Передать ID таблицы в запрос на добавление
|
|||
---|---|---|---|
#18+
Вырвался с кухни, пора делом заняться! vmag, Это примерно так? Код: sql 1.
Попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 19:33 |
|
Передать ID таблицы в запрос на добавление
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )Проще так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Что значит кусок кода? Код: vbnet 1.
Остальное смотрится понятно и не так страшно. Буду пробовать. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 19:39 |
|
Передать ID таблицы в запрос на добавление
|
|||
---|---|---|---|
#18+
sdkuПовар555, поле ID в тбл2 является счетчиком и вставить в него значение из одноименного поля тбл1 не удастся нужно либо копировать без него(поле ID тбл2 заполнится автоматом и навряд-ли будет совпадать со значением в тбл1-в коде предложенном Анатолий ( Киев ) так и сделано),либо добавлять в тбл2 поле "ЗнСчетчикаТабл1" Запрос пишет в тбл2 точный код из первой таблицы - полностью совпадает. Так же копирует и другие поля таблицы. С другой стороны, это и не важно. Но в таблицах пришлось разместить все поля в одинаковой последовательности.Спасибо, учту. Непривычно смотреть в таблицу Тбл2 с несколькими записями, первый Id которой начинается с номера 78765, а не с 1. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 19:49 |
|
Передать ID таблицы в запрос на добавление
|
|||
---|---|---|---|
#18+
Повар555Что значит кусок кода? Код: vbnet 1.
Ну Вы понимаете, что условие ложно? то есть рекордсет соединится с таблицей, но не отберёт при этом ни одно записи. Вставлять в него новые записи можно, и при этом существующие не мешаются (если не будет дублирование уникальных индексов) и нет опасности их попортить. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 20:10 |
|
Передать ID таблицы в запрос на добавление
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )Проще так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Получилось! Всё работает как надо! Решил последовать Вашему совету и на VBA сделать. По аналогии. В конце кода добавил MsgBox, а то не понятно, произошло копирование или нет. Уж очень быстро и незаметно операция проходит. Начнут мышью по 10 раз тыкать, потом дубликаты разгребать замучаешься. Надо учиться, нужна практика. Пока для меня борщ проще приготовить. ;) С WHERE 1=0 теперь всё понятно! Спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 20:43 |
|
|
start [/forum/topic.php?fid=45&fpage=77&tid=1612490]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 18ms |
total: | 136ms |
0 / 0 |