Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
6 / 6 / 4
Регистрация: 11.12.2011
Сообщений: 142

Программное заполение столбца

19.02.2013, 21:55. Показов 566. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. У меня создана база в Access, мне необходимо чтобы 1 столбец заполнялся из данных других столбцов. Я написал примерно такой код:

Delphi
1
DataSet1.FieldByName('столбец1').AsString:=DataSet1.FieldByName('столбец2').AsString[1] + ' '  + DataSet1.FieldByName('столбец3').AsString;
При добавлении новой записи он срабатывает и заполняет 1 столбец из других заполненных столбцов, а при редактировании изменять данные в базе не хочет. Помогите кто может, а то я уже долго бьюсь над этой проблемой, а решить никак не могу.

Использую команду после редактирования и добавления:

Delphi
1
DataSet1.Post;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.02.2013, 21:55
Ответы с готовыми решениями:

Программное добавление столбца в таблицу
На форуме уже рассмотрена тема программного создания таблицы: procedure TForm5.Button1Click(Sender: TObject); begin ...

Программное заполнение столбца
Привет всем. Ребята подскажите такую вещь. Имеется dataSet и 2 таблицы, связанные между собой. Нужно программно заполнить столбец Name...

Программное добавление столбца в таблицу
Возможно ли с помощью программного кода добавить столбец в таблицу?Если возможно, то как?

7
 Аватар для vampire6666
143 / 143 / 39
Регистрация: 17.08.2012
Сообщений: 411
19.02.2013, 22:37
Gantzer61, там нужно при редактировании писать
Delphi
1
DataSet1.Edit;
0
6 / 6 / 4
Регистрация: 11.12.2011
Сообщений: 142
20.02.2013, 00:39  [ТС]
Цитата Сообщение от vampire6666 Посмотреть сообщение
Gantzer61, там нужно при редактировании писать
Delphi
1
DataSet1.Edit;
Пробовал, эффект тот же.

Добавлено через 1 час 43 минуты
Есть ещё предложения?
0
 Аватар для vampire6666
143 / 143 / 39
Регистрация: 17.08.2012
Сообщений: 411
20.02.2013, 00:53
Gantzer61, если у вас надо много записей редактировать то после редактирования надо ставить
Delphi
1
DataSet1.Next;
и вообще ...все работает...
0
6 / 6 / 4
Регистрация: 11.12.2011
Сообщений: 142
20.02.2013, 21:16  [ТС]
vampire6666, не мне надо только в 1 записе менять. Работает всё норм если я меняю 2 столбца одновременно(т.е. столбец2 и столбец3) тогда столбец 1 меняется, в ином случае (если я меняю только 1 столбец) столбец 1 не меняется. Вот код, может он поможет выявить мою ошибку.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if DataModule2.sqllgotnikiDataSet1.Modified then
  begin
  //DataModule2.sqllgotnikiDataSet1.Edit;
  //DataModule2.sqllgotnikiDataSet1.FieldByName('fio').Text:='';
  DataModule2.sqllgotnikiDataSet1.FieldByName('fio').AsString:= DataModule2.sqllgotnikiDataSet1.FieldByName('famlgo').AsString + ' ' + DataModule2.sqllgotnikiDataSet1.FieldByName('namelgo').AsString[1] + '.' + DataModule2.sqllgotnikiDataSet1.FieldByName('otchlgo').AsString[1] + '.';
  //DataModule2.sqllgotnikiDataSet1.FieldByName('fio').AsString:= DBEdit8.Text+' '+DBEdit9.Text[1]+'.'+DBEdit10.Text[1]+'.';
  DataModule2.sqllgotnikiDataSet1.Post;
    a:=DataModule2.sqllgotnikiDataSet1.FieldByName('idlgo').AsString;
    DataModule2.sqllgotnikiDataSet1.Close;
    DataModule2.sqllgotnikiDataSet1.Open;
    DataModule2.sqllgotnikiDataSet1.Locate('idlgo', a, []);
  end;
  sPanel6.Visible:=false;
  if sPanel10.Visible=false then
  begin
  can();
  DBGridEh3.SetFocus;
  end;
Кстати вот такие коды тоже не работают:

Delphi
1
2
DataModule2.sqllgotnikiDataSet1.FieldByName('fio').Clear;
DataModule2.sqllgotnikiDataSet1.FieldByName('fio').AsString:= '';
0
 Аватар для vampire6666
143 / 143 / 39
Регистрация: 17.08.2012
Сообщений: 411
20.02.2013, 21:29
Gantzer61, а где вы собственно сами тут редактируете?

Добавлено через 2 минуты
Gantzer61, весь проект прикрепите...
0
6 / 6 / 4
Регистрация: 11.12.2011
Сообщений: 142
20.02.2013, 22:53  [ТС]
vampire6666, вот сам проект http://freespace.by/download/e25df35783 ,только боюсь он может у вас не пойти т.к. я использовал дополнительные библиотеки, код конечно просмотреть можно, но у меня он очень некрасиво написан боюсь что можете запутаться.

Добавлено через 6 минут
Там в справочниках при редактировании у Льготника Имя, Фамилию, Отчество должен меняться столбец в базе для краткой записи Фамилия и инициалы и выводится в Гриде.

Добавлено через 57 минут
После удаления условия
Delphi
1
if DataModule2.sqllgotnikiDataSet1.Modified then
заработало, вот только не могли бы вы подсказать к каким последствиям может привести удаление этого условия или можно без него обходится?
0
 Аватар для vampire6666
143 / 143 / 39
Регистрация: 17.08.2012
Сообщений: 411
20.02.2013, 22:55
Цитата Сообщение от Gantzer61 Посмотреть сообщение
if DataModule2.sqllgotnikiDataSet1.Modified then
само слово переводится как "измененный".т е если DataModule2.sqllgotnikiDataSet1 изменен, то выполняются все остальные операции.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.02.2013, 22:55
Помогаю со студенческими работами здесь

Программное имя столбца вида и формула
Всем привет! Обнаружил такую функциональность только что, которая абсолютно не отвечала моим ожиданиям. Есть вид, который отображает...

Программное изменение типа столбца в DataGridView
Подскажите пожалуйста как мне в программе (не в дизайнере) поменять тип столбца, необходимо установить DataGridViewCheckBoxColumn. VS...

Заполение таблиц
Доброго времени суток! У меня тут маленька проблемка, буду очень признательна если кто-нибудь поможет!!! В общем суть в том, что у...

Заполение полей
Здравствуйте, есть таблица news в ней поле user из 300 записей в этом поле записей всего 10, как мне заполнить остальные не заполненные...

JTable: Заполение
Всем привет! В общем у меня такая трабла, я подключаюсь к Mysql, принмаю бд в результсет(принял, проверял) создаю наследника...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru