1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
|
|
1 | |
Delphi + Access редактирование и заполнение БД через TDBEdit16.09.2013, 14:19. Показов 7031. Ответов 15
Метки нет (Все метки)
Доброго дня!
Идея : 1) Есть БД в Access в которой есть поля "Должность", "Имя","фамилия","отчество" и.т.д. Все ячейки таблицы имеют формат Text. 2) Есть форма в Delphi, в которой через tado компоненты и элемент TDBGrid выводится вся таблица. 3) Требуется при двойном клике по строчке в первой форме открывать вторую форму, где будет элементы редактирования каждой ячейки строчки по-отдельности (вероятно TDBEdit) и при нажатии кнопки "Сохранить" все изменённые (или не изменённые) значения заносились в БД. Проблемма: По какой то, неведомой мне причине, при компиляции вылетает ошибка, котогая как я понимаю говорит о несовместимости типов ячеек (ячейки БД и TDBEdit). Подскажите, нет ли ошибки в плане реализации? (к каждой ячейки строчки привязывать отдельный элемент TDBEdit второй формы). Возможно я использую не тот компонент (TDBEdit не подходит для этого??) Не работал с Delphi уже 4 года, возобновляю навыки с самоучителем. Если у кого то есть возможность поделиться кодом такой операции буду очень признателен. Спасибо!
0
|
16.09.2013, 14:19 | |
Ответы с готовыми решениями:
15
как создать запрос на заполнение в полей таблицы Access через delphi Заполнение и редактирование формы Microsoft Access из SQL Server Delphi,access. Поиск и редактирование Заполнение из delphi связанной таблицы access |
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
|
|
16.09.2013, 15:36 | 2 |
Покажите код который у вас сейчас есть (если такой имеется)
Сообщение от chindjer;5060971QUOTE
1
|
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
|
|
16.09.2013, 16:07 [ТС] | 3 |
К сожалению, смогу выложить код только через 3 часа. Очень надеюсь на помощь, поскольку на данный момент это основная проблема в реализации идеи.
Так же буду очень благодарен, если подскажете где есть хорошие уроки по работе в Delphi с Access (как сравнивать содержимое числовых и текстовых ячеек, как фильтровать столбцы по значению, как организовать мультивыбор из выпадающего списка). Во многих самоучителях имеются ошибки в коде, без которого мне чрезвычайно тяжело понять назначение того или иного оператора или функции.
0
|
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
|
|
16.09.2013, 19:59 [ТС] | 4 |
Вот код собственно
Как должно быть : 1)форма sotrudniki загружает из БД таблицу с сотрудниками. 2)при двойном клике на строку, содержащую информацию о сотруднике (имя, отчество, дата рождения, и т п) открывается форма sotrudniki_red, в которой элементы TDBEdit должны содержать информацию о выбранном сотруднике (имя в TDBEdit "imya" ну и т п) 3) При необходимости, я исправляю данные, нажимаю кнопку и заношу изменения в БД. Ошибку, к сожалению, уже не смогу точно воспроизвести, так как удалил всю процедуру. Начало ошибки было: "access violation at address". Как я понял, почему то программа воспринимала значение одного из полей как integer и не соглашается работать с полем "text" в Access ( это логично, но найти причину я так за пол ночи и не смог). Помогите чем можете, или хоть подскажите где для подобных задач почитать учебник. Спасибо.
0
|
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
|
||||||
16.09.2013, 20:41 | 5 | |||||
Вот посмотрите пример.., я не знаю как вы подключаете свою БД и таблицы, через ADOTable или ADOQuery
Если через ADOQuery то как то так Кликните здесь для просмотра всего текста
1
|
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
|
|
17.09.2013, 00:12 [ТС] | 6 |
Огромное спасибо!
Думаю это то что нужно.
0
|
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
|
|
22.09.2013, 18:57 [ТС] | 7 |
Доброго дня!
Ошибка повторилась снова (скриншот во вложении).Пробовал делать по Вашему примеру из файла Тест.rar но она всё равно сохранилась. Решения не смог найти, даже не понял что означает данная ошибка.
0
|
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
|
|
23.09.2013, 14:19 | 8 |
chindjer, В какой момент события возникает эта ошибка, при запуске программы, при нажатии на какую либо кнопку?
Как вариант можно большие участки кода закомментировать на более мелкие, таким образом вы узнаете в каком именно участке кода возникает ошибка.
0
|
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
|
|
23.09.2013, 20:22 [ТС] | 9 |
Программа вылетает когда на форме, содержащей TDBGrid со списком сотрудников я нажимаю на кнопку "новая запись" или "редактировать". На самой форме TDBGrid заполнен данными из таблицы, а вот когда я хочу перейти на форму редактирования/добавления строки в эту таблицу вылетает ошибка.
0
|
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
|
|
23.09.2013, 20:27 | 10 |
Выложите свой проект
0
|
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
|
|
23.09.2013, 20:41 [ТС] | 11 |
Архив в приложении, начальная форма создана "про запас", проблема при нажатии :Справочники->сотрудники-> новая запись/редактировать
1
|
569 / 169 / 22
Регистрация: 18.10.2012
Сообщений: 912
|
|
23.09.2013, 22:43 | 12 |
Если честно, я ваш проект даже открыть не могу, куча ошибок вылезает .
Вы на каких делфях пишете? Как вариант, я вам могу предложить сделать свой проект заново, т.е открыть старый проект и по аналогии делать новый, только периодически проверять его работоспособность. А по поводу вашей ошибки вот http://www.gunsmoker.ru/2009/0... ation.html
0
|
Супер-модератор
|
|
23.09.2013, 22:57 | 13 |
Вот не поверишь, у меня на диске F: нет папки \Project 3, а в ней - файла Kemppi.pas... Да и диска F: вообще нет. Я безнадежен? Или это ты забыл приложить ВСЕ необходимые файлы?
0
|
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
|
|
24.09.2013, 00:16 [ТС] | 14 |
Возможно я и безнадёжен, но компонент TADO как я понимаю достаточно легко перенастроить, если указать путь к файлу БД, который является единственным в архиве, путь к файлу БД указывался без полного пути, причины, почему он ссылается на полный путь я так же не знаю. Когда я запускаю KRUS.exe, то у меня всё работает запланированным образом, за исключением описаной ранее ошибки, я допускаю что в проекте имеется большое количество других ошибок, которые я не заметил и не увидел. Я попробую написать всё заново, спасибо!
PS: пишу на Delphi 2010, и повторюсь,UI, я не являюсь опытным программистом и взялся восстанавливать немногочисленные навыки после 6 лет простоя, если вас раздражает возникшая у меня проблема, то врятли я смогу получить от вас помощь. duh_si, спасибо.
0
|
Супер-модератор
|
|
24.09.2013, 00:36 | 15 |
Меня раздражает то, что ты выкладываешь проект, который невозможно открыть, потому что часть этого проекта хранится в других папках, которые ты прикрепить не соизволил. Внимание, вопрос: зачем ты выложил проект? Чтобы занять место на сервере? Чтобы занять пользователей скачиванием больше, чем полумегабайта ненужного хлама (а проект без заглавной формы иначе не назовешь)?
0
|
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 10
|
|
24.09.2013, 01:26 [ТС] | 16 |
Спасибо. Ваша модерация мне непонятна :
1) Вы не в состоянии объяснить внятно свою претензию, поскольку я открываю проект, и у меня всё читается, и в архиве имеются определённо все файлы, которые создавались при написании кода. Диск F является флешкой, на которой хранился проект ( Вы же грамотный человек, не заметили присутствие лишь одного файла БД, на которую и может ссылаться проект, пусть и с ошибочным путём?) 2) Я не претендую на место на вашем сервере, в особенности если оно иссякает. (можете удалить файлы) 3) Раз вы, являясь модератором, считаете тему бесполезной - её стоит удалить, Однако заметьте, вы не только не предложили решения, вы опубликовали 2 абсолютно бесполезных (по факту) поста, которые так же заняли место. duh_si, спасибо, я постараюсь найти решение по предоставленной вами ссылке или на других ресурсах.
0
|
24.09.2013, 01:26 | |
24.09.2013, 01:26 | |
Помогаю со студенческими работами здесь
16
Редактирование строк через ADO (access) Редактирование записей БД Access через DataGridview Редактирование СУБД Access через интерфейс C# Редактирование строк через ADOTable (access) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |