С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/39: Рейтинг темы: голосов - 39, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10

Delphi + Access редактирование и заполнение БД через TDBEdit

16.09.2013, 14:19. Показов 7455. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня!
Идея :
1) Есть БД в Access в которой есть поля "Должность", "Имя","фамилия","отчество" и.т.д. Все ячейки таблицы имеют формат Text.
2) Есть форма в Delphi, в которой через tado компоненты и элемент TDBGrid выводится вся таблица.
3) Требуется при двойном клике по строчке в первой форме открывать вторую форму, где будет элементы редактирования каждой ячейки строчки по-отдельности (вероятно TDBEdit) и при нажатии кнопки "Сохранить" все изменённые (или не изменённые) значения заносились в БД.
Проблемма:
По какой то, неведомой мне причине, при компиляции вылетает ошибка, котогая как я понимаю говорит о несовместимости типов ячеек (ячейки БД и TDBEdit). Подскажите, нет ли ошибки в плане реализации? (к каждой ячейки строчки привязывать отдельный элемент TDBEdit второй формы). Возможно я использую не тот компонент (TDBEdit не подходит для этого??)
Не работал с Delphi уже 4 года, возобновляю навыки с самоучителем. Если у кого то есть возможность поделиться кодом такой операции буду очень признателен.
Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.09.2013, 14:19
Ответы с готовыми решениями:

как создать запрос на заполнение в полей таблицы Access через delphi
как создать запрос на заполнение в полей таблицы Access через delphi, при помощи Editов

Заполнение и редактирование формы Microsoft Access из SQL Server
Коллеги, доброго времени суток! Вопрос в следующем. Создал форму в Microsoft Access, добавил различные поля для заполнения и заполнил...

Delphi,access. Поиск и редактирование
К примеру, дана таблица с такими полями user_id , user_name , user_fam. Подскажите, каким образом при нажатии кнопки можно: 1) создать...

15
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
16.09.2013, 15:36
Покажите код который у вас сейчас есть (если такой имеется)
Цитата Сообщение от chindjer;5060971QUOTE
По какой то, неведомой мне причине, при компиляции вылетает ошибка, котогая как я понимаю говорит о несовместимости типов ячеек (ячейки БД и TDBEdit).
Покажите код ошибки (её скриншот например)
(TDBEdit не подходит для этого??)
Вполне подходит
1
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
16.09.2013, 16:07  [ТС]
К сожалению, смогу выложить код только через 3 часа. Очень надеюсь на помощь, поскольку на данный момент это основная проблема в реализации идеи.
Так же буду очень благодарен, если подскажете где есть хорошие уроки по работе в Delphi с Access (как сравнивать содержимое числовых и текстовых ячеек, как фильтровать столбцы по значению, как организовать мультивыбор из выпадающего списка). Во многих самоучителях имеются ошибки в коде, без которого мне чрезвычайно тяжело понять назначение того или иного оператора или функции.
0
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
16.09.2013, 19:59  [ТС]
Вот код собственно
Как должно быть :
1)форма sotrudniki загружает из БД таблицу с сотрудниками.
2)при двойном клике на строку, содержащую информацию о сотруднике (имя, отчество, дата рождения, и т п) открывается форма sotrudniki_red, в которой элементы TDBEdit должны содержать информацию о выбранном сотруднике (имя в TDBEdit "imya" ну и т п)
3) При необходимости, я исправляю данные, нажимаю кнопку и заношу изменения в БД.

Ошибку, к сожалению, уже не смогу точно воспроизвести, так как удалил всю процедуру.
Начало ошибки было: "access violation at address".
Как я понял, почему то программа воспринимала значение одного из полей как integer и не соглашается работать с полем "text" в Access ( это логично, но найти причину я так за пол ночи и не смог).
Помогите чем можете, или хоть подскажите где для подобных задач почитать учебник.
Спасибо.
Вложения
Тип файла: txt sotrudniki.txt (2.2 Кб, 63 просмотров)
Тип файла: txt sotrudniki_red.txt (1.5 Кб, 38 просмотров)
Тип файла: txt UnitDMsotrudniki.txt (1.2 Кб, 37 просмотров)
0
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
16.09.2013, 20:41
Вот посмотрите пример.., я не знаю как вы подключаете свою БД и таблицы, через ADOTable или ADOQuery
Если через ADOQuery то как то так
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
begin
With Form1.ADOQuery1 do begin
  Connection:=Form1.ADOConnection1;
  Insert;
  FieldByName('edit1').Value:=Form2.Edit1.Text;
  FieldByName('edit2').Value:=Form2.Edit2.Text;
  FieldByName('edit3').Value:=form2.Edit3.Text;
  Post;
end;
Вложения
Тип файла: rar Тест.rar (330.2 Кб, 207 просмотров)
1
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
17.09.2013, 00:12  [ТС]
Огромное спасибо!
Думаю это то что нужно.
0
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
22.09.2013, 18:57  [ТС]
Доброго дня!
Ошибка повторилась снова (скриншот во вложении).Пробовал делать по Вашему примеру из файла Тест.rar но она всё равно сохранилась. Решения не смог найти, даже не понял что означает данная ошибка.
Миниатюры
Delphi + Access редактирование и заполнение БД через TDBEdit  
0
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
23.09.2013, 14:19
chindjer, В какой момент события возникает эта ошибка, при запуске программы, при нажатии на какую либо кнопку?
Как вариант можно большие участки кода закомментировать на более мелкие, таким образом вы узнаете в каком именно участке кода возникает ошибка.
0
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
23.09.2013, 20:22  [ТС]
Программа вылетает когда на форме, содержащей TDBGrid со списком сотрудников я нажимаю на кнопку "новая запись" или "редактировать". На самой форме TDBGrid заполнен данными из таблицы, а вот когда я хочу перейти на форму редактирования/добавления строки в эту таблицу вылетает ошибка.
0
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
23.09.2013, 20:27
Выложите свой проект
0
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
23.09.2013, 20:41  [ТС]
Архив в приложении, начальная форма создана "про запас", проблема при нажатии :Справочники->сотрудники-> новая запись/редактировать
Вложения
Тип файла: rar KRUS.rar (611.4 Кб, 72 просмотров)
1
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
23.09.2013, 22:43
Если честно, я ваш проект даже открыть не могу, куча ошибок вылезает .
Вы на каких делфях пишете?
Как вариант, я вам могу предложить сделать свой проект заново, т.е открыть старый проект и по аналогии делать новый, только периодически проверять его работоспособность.
А по поводу вашей ошибки вот http://www.gunsmoker.ru/2009/0... ation.html
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33197 / 21493 / 8233
Регистрация: 22.10.2011
Сообщений: 36,886
Записей в блоге: 12
23.09.2013, 22:57
Цитата Сообщение от chindjer Посмотреть сообщение
Архив в приложении
Вот не поверишь, у меня на диске F: нет папки \Project 3, а в ней - файла Kemppi.pas... Да и диска F: вообще нет. Я безнадежен? Или это ты забыл приложить ВСЕ необходимые файлы?
0
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
24.09.2013, 00:16  [ТС]
Возможно я и безнадёжен, но компонент TADO как я понимаю достаточно легко перенастроить, если указать путь к файлу БД, который является единственным в архиве, путь к файлу БД указывался без полного пути, причины, почему он ссылается на полный путь я так же не знаю. Когда я запускаю KRUS.exe, то у меня всё работает запланированным образом, за исключением описаной ранее ошибки, я допускаю что в проекте имеется большое количество других ошибок, которые я не заметил и не увидел. Я попробую написать всё заново, спасибо!

PS: пишу на Delphi 2010, и повторюсь,UI, я не являюсь опытным программистом и взялся восстанавливать немногочисленные навыки после 6 лет простоя, если вас раздражает возникшая у меня проблема, то врятли я смогу получить от вас помощь. duh_si, спасибо.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33197 / 21493 / 8233
Регистрация: 22.10.2011
Сообщений: 36,886
Записей в блоге: 12
24.09.2013, 00:36
Меня раздражает то, что ты выкладываешь проект, который невозможно открыть, потому что часть этого проекта хранится в других папках, которые ты прикрепить не соизволил. Внимание, вопрос: зачем ты выложил проект? Чтобы занять место на сервере? Чтобы занять пользователей скачиванием больше, чем полумегабайта ненужного хлама (а проект без заглавной формы иначе не назовешь)?
0
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
24.09.2013, 01:26  [ТС]
Спасибо. Ваша модерация мне непонятна :
1) Вы не в состоянии объяснить внятно свою претензию, поскольку я открываю проект, и у меня всё читается, и в архиве имеются определённо все файлы, которые создавались при написании кода. Диск F является флешкой, на которой хранился проект ( Вы же грамотный человек, не заметили присутствие лишь одного файла БД, на которую и может ссылаться проект, пусть и с ошибочным путём?)
2) Я не претендую на место на вашем сервере, в особенности если оно иссякает. (можете удалить файлы)
3) Раз вы, являясь модератором, считаете тему бесполезной - её стоит удалить, Однако заметьте, вы не только не предложили решения, вы опубликовали 2 абсолютно бесполезных (по факту) поста, которые так же заняли место.

duh_si, спасибо, я постараюсь найти решение по предоставленной вами ссылке или на других ресурсах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.09.2013, 01:26
Помогаю со студенческими работами здесь

Заполнение из delphi связанной таблицы access
есть в базе три связанных таблицы дата с полем date связанна с таблицей склад где есть поле 'название склада' она связанна таблицей...

Редактирование строк через ADO (access)
Привет, есть DBGrid куда записываются данные из таблицы в бд (access) в DBGrid по строчное выделение, если выбрать строку и нажать кнопку...

Редактирование записей БД Access через DataGridview
Как можно поместить таблицу Datagridview в Access, а затем если пользователь захочет открыть ее снова в dataGridView??? Помогите плизз,...

Редактирование СУБД Access через интерфейс C#
Задание: Создать интерфейс к Базе Данных Access через C#. И возникает такой вопрос: Как вставлять, изменять и удалять строки из таблицы...

Редактирование строк через ADOTable (access)
Нужно сделать Редактирование строк через ADOTable (access) с помощью edit, !!!! не с помощью ADOqery!!!


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
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/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru