Topic: Ошибка: нулевое значение ID, помогите разобраться

Здравствуйте!
Извините за дилетантизм, только взялся осваивать эту программу. Решил создать простую базу данных клиентов. Все вроде делал по аналогии с видеоуроками на сайте программы.
При попытке добавления данных в через формы в таблицы, связанные с основной таблицей клиентов, выскакивает такое сообщение об ошибке:

http://i.piccy.info/i9/452c6c3f9d273b7ad70653e51613152e/1419703380/51152/787939/scr1_800.jpg

Что это за id_clients ? И почему оно у меня нулевое?

Спасибо.
P.S. Во вложении zip-архив без exe и dll

Post's attachments

Attachment icon customer database.zip 5.14 kb, 431 downloads since 2014-12-27 

Re: Ошибка: нулевое значение ID, помогите разобраться

Приветсвую,


нашел несколько ошибок

1.
на форме frm_client на настройках кнопки "Сохранить запись", вы внесли в список сохраняемых компонентов, компоненты table_phone и TableGrid2, этого не нужно было делать.


2. в таблице базы данных clients у вас есть обязательное текстовое поле email, но на форме frm_client нет компонента, который бы был привязан к данному полю в БД.  также в этой таблице есть поле phone,которое тоже скорей всего лишнее. И обязательные поля pokup и prod, на данной форме нет компонентов, привязанных к данным полям.


3. На форме Form1, кнопка "Добавить нового клиента в базу" имеет действие "Показать форму", а должно иметь действие "Новая запись", тоже самое и на других формах, если кнопка вызывает форму для создания новой записи, действие кнопки должно быть "Новая запись"


4. На форме Form1 в настройках кнопки "Найти" в список компонентов, которые отвечают за критерии поиска, был внесен лишний компонент "table_clients", который не может быть одновременно критерием поиска и компонентом для вывода результатов поиска.


Исправленный проект приложил к сообщению.

Post's attachments

Attachment icon customer database2.zip 5.8 kb, 468 downloads since 2014-12-27 

Dmitry.

Re: Ошибка: нулевое значение ID, помогите разобраться

DriveSoft wrote:

Приветсвую,


нашел несколько ошибок
1.
на форме frm_client на настройках кнопки "Сохранить запись", вы внесли в список сохраняемых компонентов, компоненты table_phone и TableGrid2, этого не нужно было делать.
2. в таблице базы данных clients у вас есть обязательное текстовое поле email, но на форме frm_client нет компонента, который бы был привязан к данному полю в БД.  также в этой таблице есть поле phone,которое тоже скорей всего лишнее. И обязательные поля pokup и prod, на данной форме нет компонентов, привязанных к данным полям.
3. На форме Form1, кнопка "Добавить нового клиента в базу" имеет действие "Показать форму", а должно иметь действие "Новая запись", тоже самое и на других формах, если кнопка вызывает форму для создания новой записи, действие кнопки должно быть "Новая запись"
4. На форме Form1 в настройках кнопки "Найти" в список компонентов, которые отвечают за критерии поиска, был внесен лишний компонент "table_clients", который не может быть одновременно критерием поиска и компонентом для вывода результатов поиска.
Исправленный проект приложил к сообщению.

   DriveSoft, крайне признателен! Кое-что еще подправил и все работает! Прям не рассчитывал на такую помощь, приятно удивлен.  Хочу еще один небольшой вопрос уточнить с вашего разрешения:
    В данном проекте (или, наверное, в любой базе, имеющей структуру "один ко многим") наблюдается такая ситуация.  Если у меня, скажем, база клиентов, и каждый клиент имеет несколько номеров телефонов, то при добавлении второго, третьего и т.д номера телефонов записи в базе клиентов дублируются. Т.е., если у какого-то клиента два телефона, то в таблице clients появляются две две одинаковые записи клиентов, со всеми одинаковыми полями (только телефоны разные).  Если еще и имейлы разные, то количество дублей соответственно увеличивается. Можно ли как-то откорректировать вывод информации в таком случае? Спс... P.S. Можно, наверное, писать все телефоны в одно поле через запятую, но использовать этот вариант не хотелось бы.

Re: Ошибка: нулевое значение ID, помогите разобраться

Androsh
Думаю лучше не выводить в компонент TableGrid помимо данных о клиентов, их номера телефонов и емейлы.
Либо опишите, как бы вы хотели, чтобы данные были показаны, включая телефоны и емейлы клиентов?

Dmitry.

Re: Ошибка: нулевое значение ID, помогите разобраться

DriveSoft wrote:

Androsh
Думаю лучше не выводить в компонент TableGrid помимо данных о клиентов, их номера телефонов и емейлы.
Либо опишите, как бы вы хотели, чтобы данные были показаны, включая телефоны и емейлы клиентов?

Просто было бы неплохо, если бы все добавленные телефоны выводились в одном поле, и добавление телефона не приводило к дублированию всех полей. Лучше, если б было как-то так:

http://i.piccy.info/i9/9bb131e5fd4e53e7ce3401dedf0a46c8/1420033860/48651/787939/scr2_800.jpg

Если это возможно, конечно. Если нет, то можно выходить из положения, как я писал выше. Спс...

Post's attachments

Attachment icon customer database.zip 5.91 kb, 444 downloads since 2014-12-31 

Re: Ошибка: нулевое значение ID, помогите разобраться

Могу предложить такой вариант

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=496&download=0


К сообщению прикрепил ваш проект.


С Наступающим smile

Post's attachments

Attachment icon customer database2.zip 6.94 kb, 445 downloads since 2014-12-31 

Attachment icon customers.png 52.55 kb, 334 downloads since 2014-12-31 

Dmitry.