21 / 22 / 10
Регистрация: 03.07.2014
Сообщений: 398

Занесение значения поля из связанной таблицы другому полю

17.06.2016, 18:48. Показов 1119. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть две таблицы DataTable - основная с именем DT_MAIN, в составе которой есть поля KEY и VL, и справочник - DT_SPR, состоящий из двух полей - KEY и VL. Обе таблицы свободные (не в составе DataSet).

Надо для всех записей основной таблицы присвоить полю DT_MAIN.VL значение поля DT_SPR.VL при совпадении ключа: DT_MAIN.KEY = DT_SPR.KEY

На старом добром Фоксе делалось тривиально двумя командами:

таблицы связывались с помощью Set Relation и производилась замена
Code
1
Replace all DT_MAIN.VL = DT_SPR.VL for !eof("DT_SPR")
А вот как это сделать с помощью высоких технологий VB.NET?

Подскажите, кто знает.


P.S. Таблица DT_MAIN большая, поэтому создавать НОВУЮ крайне НЕЖЕЛАТЕЛЬНО.

Добавлено через 4 часа 18 минут
М-да... Чем выше технология, тем сложнее с ее помощью делать простые вещи...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2016, 18:48
Ответы с готовыми решениями:

Как установить отбор для поля таблицы по другому полю той же таблицы реквизитов связанных через регистр сведений
Здравствуйте, уважаемые специалисты. Подскажите как установить отбор (скрин формы прилагается) при выборе в поле...

Присвоить значения одного поля ввода другому полю в 1С:8.2 Управляемое приложение
Подскажите пожалуйста, у меня есть на форме в 1С 8.2 поля для ввода данных. Необходимо после ввода данных в одно поле присвоить это...

Rails. Доступ к полям связанной таблицы. Имя связанной модели и поля в переменных
Добрый день, добрым людям! Вероятно ответ прост, однако найти его сам оперативно не смог. Есть две модели. tickers Id Name ...

4
 Аватар для XIST
1960 / 1061 / 148
Регистрация: 01.10.2009
Сообщений: 3,584
Записей в блоге: 1
18.06.2016, 20:10
Так а почему, не сделать тривиально и как мне кажется правильно, в самой базе, запросом с
T-SQL
1
inner join
Цитата Сообщение от Ivan215 Посмотреть сообщение
М-да... Чем выше технология, тем сложнее с ее помощью делать простые вещи...
Тут совсем дело не в технологии (хотя fox это еще те карты таро), делается обычный запрос (vb.net, C#,Java, Delphi и etc) разницы нет, тут знание sql
0
21 / 22 / 10
Регистрация: 03.07.2014
Сообщений: 398
19.06.2016, 15:56  [ТС]
Так а почему, не сделать тривиально и как мне кажется правильно, в самой базе, запросом с INNER JOIN
Господа, таблицы ЛОКАЛЬНЫЕ, они должны пройти проверку, а УЖЕ ПОТОМ будут загружены в базу. А если они проверку НЕ пройдут, то и в базу грузиться не будут по причине их некорректности.

Это во-первых.

Во-вторых. SQL (или в данном случае LINQ to Dataset) создаст новую таблицу, а мне нужно сделать ну совсем тривиальную вещь - изменить данные в существующей.

И в-третьих. INNER JOIN здесь не годится, нужен LEFT OUTER JOIN, чтобы не выбросить записи, не прошедшие стыковку со справочником.
0
 Аватар для XIST
1960 / 1061 / 148
Регистрация: 01.10.2009
Сообщений: 3,584
Записей в блоге: 1
20.06.2016, 15:24
Цитата Сообщение от Ivan215 Посмотреть сообщение
чтобы не выбросить записи, не прошедшие стыковку со справочником.
один черт не пойму, тут Вы говорите

Надо для всех записей основной таблицы присвоить полю DT_MAIN.VL значение поля DT_SPR.VL при совпадении ключа: DT_MAIN.KEY = DT_SPR.KEY

что и сделает правильно составленный запрос, и никто их выбрасывать не будет, а сделает присвоить полю DT_MAIN.VL значение поля DT_SPR.VL при совпадении ключа: DT_MAIN.KEY = DT_SPR.KEY.
Локальные\серверные, какая разница? По-моему Вы себе все усложняете, да, нужно посидеть над запросом, но все что вы хотите, умещается в один правильный запрос для таблицы!
0
21 / 22 / 10
Регистрация: 03.07.2014
Сообщений: 398
20.06.2016, 21:30  [ТС]
один черт не пойму
Если Вы чего-то не понимаете, это еще не повод для ругательств...

что и сделает правильно составленный запрос
Если у Вас есть решение проблемы, которое НЕ СОЗДАЕТ новой таблицы, а корректирует поле в УЖЕ ИМЕЮЩЕЙСЯ, большая просьба его привести.

Решение, при котором создается новая таблица - тривиальный LINQ-запрос, и над ним не надо СИДЕТЬ.

Далее. Что не понятно в словах:

чтобы не выбросить записи, не прошедшие стыковку со справочником.
Именно этим и отличается соединение INNER JOIN от LEFT OUTER JOIN. Ликбезом здесь заниматься не буду.

Локальные\серверные, какая разница
Как говорят в Одессе, Вы делаете мне смеяться. На сервере есть SQL, а локально - SQL нет, есть только LINQ. Надо объяснять, насколько LINQ усеченнее SQL? Думаю, что нет. На языке SQL эта задача решается также тривиально. Единственный способ решить задачу локально - засунуть таблицы в Dataset, связать их с помощью Relation и т.д.

Тема как раз и создана в попытке найти более простое и менее громоздкое решение для простой и тривиальной проблемы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.06.2016, 21:30
Помогаю со студенческими работами здесь

Не удается получить значение поля бд по известному другому полю
Здравствуйте! Вот часть кода. Нужно из бд аксесс изъять значение поля Namereg по значению поля Phone. Выдает не само значение в label, а...

Соответствие значения поля подчиненной формы полю таблицы основной формы
Здравствуйте. В основной форме две подчиненные формы, одна в табличном режиме другая в режиме формы. Так вот, значения подчиненной формы...

Сумма значений поля связанной таблицы
Здравствуйте. Помоги разобраться: Есть 2 связанные таблицы ФИО и Работа В таблице ФИО 2 поля : "Фио" и "Зарплата" ...

Отображение в DataGridView значения со связанной таблицы
Колонка Таблицы, которая является DataSource для DataGridView, содержит идентификатор на строку из связанной Таблицы. В DataGridView у...

Отображение в DataGridView значения со связанной таблицы TableAdapter
В общем проблема в том, что я не могу вывести значение с таблицы в грид. У меня подключена моя база, есть таблицы. Посредством визуальных...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru