|
0 / 0 / 0
Регистрация: 17.07.2017
Сообщений: 5
|
|
OnValidate Delphi 717.07.2017, 09:30. Показов 2687. Ответов 36
Метки нет (Все метки)
Привет всем. Я хотел поставить одно условие в DBEdit1 чтобы при вводе туда определенных чисел оно проверяла в Таблице1 (БД) наличие такого числа и если такое есть запись не происходила (то есть проверка идет до записи в БД) я так понимаю нужно использовать событие OnValidate действующая на Field к которому привязан DBEdit1?
0
|
|
| 17.07.2017, 09:30 | |
|
Ответы с готовыми решениями:
36
Что лучше брать Delphi XE2, Delphi XE, Delphi 7? Какие отличия Delphi 5, Delphi 6 и Delphi 7 ZipForge для Delphi Xe - интерфейс стал выглядеть как в Delphi 2007 |
|
0 / 0 / 0
Регистрация: 18.07.2017
Сообщений: 13
|
||||||
| 28.07.2017, 21:00 | ||||||
|
Подскажите вот написал так:
0
|
||||||
|
Айлурофил
|
|
| 28.07.2017, 21:38 | |
|
Как код может работать нормально, если в первой же строке несоответствие скобок?
0
|
|
|
0 / 0 / 0
Регистрация: 18.07.2017
Сообщений: 13
|
||||||
| 28.07.2017, 22:25 | ||||||
|
извиняюсь как то код скопировался странно там в коде Format( пропустил перед 'select
Добавлено через 37 минут вот так код выглядит:
а если например в поле Edit3 впишу цифру 1 а потом сразу удалю ее backspace'ом (тоесть поле сново становится пустым) то код говорит ('Такой номер уже есть.') пока я не залезу и не удалю эту запись в базе вручную получается код чтото туда всетаки записывает только не понятно что ведь в базе поле ОСНномер тоже пустое подскажите в чем причина?
0
|
||||||
|
Айлурофил
|
|
| 28.07.2017, 22:39 | |
|
Исходно Edit3.Text пустое? Не визуально, а на самом деле? То есть, уверены, что там нет ни одного пробела?
0
|
|
|
0 / 0 / 0
Регистрация: 18.07.2017
Сообщений: 13
|
|
| 29.07.2017, 20:37 | |
|
пробелов нет, изначально оно тоже пустое. Вообщем он создает запись пустую а вторую пустую запись не создает. Как сделать чтобы можно было оставлять это поле пустым сколько угодно раз?
Добавлено через 15 часов 38 минут помогите пожалуйста Добавлено через 4 часа 59 минут ни кто не знает? не как не сделать так чтобы поле пустым сохранялось?
0
|
|
|
0 / 0 / 0
Регистрация: 18.07.2017
Сообщений: 13
|
||||||
| 30.07.2017, 00:20 | ||||||
|
вот код:
как сделать так чтобы код давал сохранять пустые записи?
0
|
||||||
|
Модератор
|
|
| 30.07.2017, 07:14 | |
|
АфоняРубльДолж, значит, в вашей БД уже есть записи с пустым полем [ОСНномер]. Вы же сами делаете запрос на поиск количества записей с указанным значением и если такие записи есть - выдаете ошибку и выходите...
0
|
|
|
0 / 0 / 0
Регистрация: 18.07.2017
Сообщений: 13
|
|
| 30.07.2017, 10:41 | |
|
так я и говорю что они там есть точнее одна запись. можно как то код переделать чтобы он пропускал пустое поле? и давал сохранять еще одно? и потом еще одно и т.д ... (вобщем много пустых давал сохранять)
0
|
|
|
Айлурофил
|
|
| 30.07.2017, 11:44 | |
|
Так, может, там сделать .Append, а не .Edit?
0
|
|
|
Модератор
|
||||||
| 30.07.2017, 12:19 | ||||||
|
Ну а тогда на кой ляд проверка эта стоит на отсутствие совпадающих полей? Уберите ее, если Вы считаете, что это поле БД должны быть пустыми... Или, в конце концов, делайте перед этой проверкой еще одну - на заполненность поля Edit3
Вот только в Вашем случае абсолютно неясно, в какой именно записи произойдет заполнение поля [ОСНномер]...
1
|
||||||
|
0 / 0 / 0
Регистрация: 18.07.2017
Сообщений: 13
|
|
| 31.07.2017, 22:57 | |
|
опять я зашел в тупик(( обрисую ситуацию вобщем я создал форму1 там разместил Dbgrid1 подключил к нему бд ацесс через АДО на этой форме разместил кнопку при нажатии на которую открывается форма2 в которой расположены едиты при их заполнении и нажатии кнопки сохранить (в этой кнопке и располагается код выше для проверки номера) все что там было заполнено сохраняется в бд. потом я начал создавать еще кнопку на форме1 при нажатии на которую открывается форма3 в ней можно отредактировать уже созданые в бд записи (по суте это таже форма2 только в ней отображается то что уже введено в бд едиты заменены на ДБедиты чтобы было видно что редактировать) на этой форме3 располагается кнопка сохранить (в ней я тоже прописал код который выше для проверки номера) но вот беда в том что этот код ругается на номер забитый в эту запись((
тоесть допустим я создал запись ввел для него номер 1. потом я допустим захотел поменять наименование изделия жму на кнопку открывается форма3 там я вижу наименование количество и номер изделия которое я вводил при создании записи (номер изделия 1) вобщем меняю наименование жму сохранить но код ругается на то что номер уже есть (номер 1) тоесть код думает что я пытаюсь сохранить запись с уже созданным номером и не может понять что этот номер уже был привязан к этому изделию. если ввиду другой номер которого нет в бд то все сохраняется как надо. как сделать так чтобы код проверял при открытии формы3 (или както поправить код выше) забитый номер и не ругался на него при сохранении? а ругался только если я хочу ввести другой существующий уже в бд номер не привязанный к этому изделию. надеюсь понятно объяснил проблему. помогите пожалуйста.
0
|
|
|
Модератор
|
|
| 01.08.2017, 08:17 | |
|
1. Зачем отдельные формы для создания и редактирования? Там ведь одно и то же? Ну и используйте спокойненько одну и ту же форму...
2. Откажитесь Вы уже от этих дебильный DBEdit-ов... Работайте через SQL-запросы... Вот посмотрите примерчик небольшой... Данные добавляются, изменяются и удаляются, причем одно из полей может оставаться пустым, но если оно не пусто, то его содержимое должно быть уникальным. Надеюсь, я правильно Вашу задачу озвучил?
0
|
|
|
0 / 0 / 0
Регистрация: 18.07.2017
Сообщений: 13
|
|
| 01.08.2017, 16:13 | |
|
Спасибо за пример но в вашем примере таже проблемка что я и описал. выбираю например Деталь11 жму кнопку изменить открывается окно меняю там наименование жму ок и выдается ошибка что этот номер уже есть в базе и не дает сохранить изменения.
0
|
|
|
0 / 0 / 0
Регистрация: 18.07.2017
Сообщений: 13
|
||||||||||||||||
| 01.08.2017, 22:16 | ||||||||||||||||
|
Спасибо еще раз.
Вот вопросик у меня есть
и все заработало теперь.
0
|
||||||||||||||||
|
Модератор
|
||||||||
| 02.08.2017, 04:14 | ||||||||
|
Вот Вы выдрали кусок кода из контекста, поэтому ничего не понятно... Полностью эта строка выглядит так:
1. Строковый параметр - текст SQL запроса 2. Целочисленный параметр - режим выполнения запроса: 0 - запрос вернет НД (конструкция SELECT), 1 - запрос не возвращает НД (конструкции INSERT, UPDATE, DELETE)
0
|
||||||||
| 02.08.2017, 04:14 | |
|
SQL-запрос в Delphi и в Access один и тот же, но в Delphi не работает Переписать часть кода с Delphi на ассемблер (ассемблерные вставки в Delphi) где найти delphi c компилятором? и с чего начинать программирование в delphi? Почему функция работающая в Delphi 7 не работает в Delphi 2007 и в 2009 ?? Как в Lazarus сделать интерфейс Delphi 2006 вместо Delphi 7? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс
Ссылка на сгенерированную музыкальную композицию:
https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013
Я говорю, что Время- как вода
течет. . .
|