|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Напоминание о дне рождения у меня в БД (Access, ADOConnection,ADOTable) есть поле дня рождения типа дата\время. В программе я предусматриваю функцию напоминания о дне рождения за три дня. Использовала я вот такой код: Код: n:=Form1.DBGrid1.DataSource.DataSet.RecordCount;
for i:=1 to n do
begin
Vday:=DayOf(DBGrid1.Columns[13].Field.AsDateTime);
Vmonth:=MonthOf(DBGrid1.Columns[13].Field.AsDateTime);
if(Vmonth=MonthOf(Date))and((Vday-DayOf(Date)<3)and(Vday-DayOf(Date)>=0)) then
        begin
            case Vday-DayOf(Date) of
                0: Day:='сегодня';
                1: Day:='завтра';
                2: Day:='послезавтра';
            end;
            ShowMessage('У ФИО День рождения '+Day);
        end;
        DBGrid1.DataSource.DataSet.Next;или вот такой: Код: 1
2
	
if (DayOfTheYear(DataModule2.ADOTable1.Fields[13].AsDatetime)-DayOfTheYear(Now)=3) and (MonthOfTheYear(DataModule2.ADOTable1.Fields[13].AsDatetime)=MonthOfTheYear(Now)) then
ShowMessage(IntToStr('Happy Birthday!'));Но возникает ошибка типа EAccessViolation на первых строчках выше приведенных кодов. В чем может быть проблема ? Заранее спасибо  |