Вопрос № 103801: Здравствуйте, господа-эксперты!
Имеется база данных Access, доступ через ADO.
Проблемы в следующем.
1) Нужно фильтровать данные одновременно по двум полям:
[1-я сдача крови] и [2-я сдача крови], при этом чтобы отбор по полю [1-я сда...Вопрос № 103827: ну, информатики могучие, помогайте:
Задание: с помощью свойства Flo, присвоить полю FloField значение 4.56
нашла этот же вопрос на вашем сайте, но эти ответы не подходят((...Вопрос № 103837: Доброе время суток! Уважаемые эксперты.
Подскажите пожалуйста какими средствами возможно создать 1 класс на базе 2 -х других классов. Если можно то с пирмерчиком , Пожалуйста!
Заранее благодарен!!!...
Вопрос № 103.801
Здравствуйте, господа-эксперты!
Имеется база данных Access, доступ через ADO.
Проблемы в следующем.
1) Нужно фильтровать данные одновременно по двум полям:
[1-я сдача крови] и [2-я сдача крови], при этом чтобы отбор по полю [1-я сдача крови] был меньше или равным указанной дате в <MaskEdit1>, а поле [2-я сдача крови] - только пустые ячейки.Эти поля в формате <дата/время>.
Если компилировать проект так, как в листинге (фильтр только по полю [1-я сдача крови]), все работает, а если снять комментарий в
<procedure TForm1.FilterButtonClick> - компилятор выдает ошибку (при попытке изменить код ошибка меняется).Помогите справиться.
2) Как из программы запустить файл (справка *.chm) по нажатию на кнопку,например,"Справка".
3) Как после фильтрации вернуть полный вид базы (кнопка "Обновить"), а то приходиться выходить из программы и запускать снова.
ЗЫ: Не судите строго за, может быть, наивные вопросы. Просто я новичек в программировании, и к тому же самоучка. Опыта никакого, знания тоже, естественно, слабые.
Приложение:
Отправлен: 29.09.2007, 22:51
Вопрос задал: Krizz (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Виктор Пырлик
Здравствуйте, Krizz!
Во первых, никогда не используйте русских названий в именовании полей базы данных, если к тому же, вы предполагаете работать с этой базой внешними средствами (в данном случае - Delphi).
По этому, я заменил ваши имена на:
Фамилия -> Surname
1-я сдача крови -> First_shelters
2-я сдача крови -> Second_shelters
Во вторых, я заменил вашу кнопку FilterButton на более подходящий компонент - FiltrCheck (TCheckBox).
В третих, если есть необходимость во всех этих кнопках - по работе с набором данных (редактирование, удаление, вставка и т.д.), рекомендую использовать стандартный набор событий - Action (Standart Action -> Dataset).
Остальное, приведено в коде с комментариями.
Приложение:
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Студент)
Ответ отправлен: 30.09.2007, 12:38 Оценка за ответ: 5 Комментарий оценки: Большое спасибо, буду пробовать.
Вопрос № 103.827
ну, информатики могучие, помогайте:
Задание: с помощью свойства Flo, присвоить полю FloField значение 4.56
нашла этот же вопрос на вашем сайте, но эти ответы не подходят((
Отвечает: sir henry
Здравствуйте, Малюшенкова Диана Игоревна!
Во-первых, класс объявлен неверно. Если всё оставить как есть, то полю FloField можно присваивать значение непосредственно. Обычно поля класса скрывают от непосредственного использования с помощью волшебного слова private:
Type
TaClass=Class private
FloField:Real;
Function GetField:Real;
Procedure SetField(Value:Rea); public
Property Flo: Real Read GetField Write SetField;
End;
Во-вторых, сначала необходимо определить алгоритм присвоения полю значения. Например, необходимо чтобы значение укладывалось в какой-то диапазон или дополнительно проводилось какое-либо действие. Для этого используют специальную функцию, которая записывается после волшебного слова write и определяется в классе:
TaClass=Class private
...
Procedure SetField(Value:Rea);
Property Flo: Real read FloField write SetField;
implementation
...
Procedure TaClass.SetField(Value: Real);
Begin
If Value<4,56 Then
MessageBox(0, 'Это не катит, надо 4,56 или больше!', 'Ошибка', MB_OK)
Else
FloField:=Value;
End;
Если же никаких предварительных действий со значением проводить не нужно, то после слова write пишут название поля, тогда значение сразу присвоится этому полю:
TaClass=Class private
... public
Property Flo: Real read FloField write FloField;
...
Теперь, когда Вы определились с действием которое нужно проводить над значением поля, свойству можно присваивать значение:
Var
a:TaClass;
Begin
a:=TaClass.Create;
a.Flo:=4.56;
...
End;
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 30.09.2007, 15:40 Оценка за ответ: 5 Комментарий оценки: Спасибо вам большое) Думаю,в задание нет ошибки,т.к так написано в обучающей программе Но ответ подошёл) спасибо
Вопрос № 103.837
Доброе время суток! Уважаемые эксперты.
Подскажите пожалуйста какими средствами возможно создать 1 класс на базе 2 -х других классов. Если можно то с пирмерчиком , Пожалуйста!
Заранее благодарен!!!
Отправлен: 30.09.2007, 16:47
Вопрос задал: Andrey (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)