Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2009, 14:01   #1
Scabby
Пользователь
 
Аватар для Scabby
 
Регистрация: 20.01.2009
Сообщений: 26
По умолчанию Delphi/Access

Здравствуйте.
Я делаю базу данных сотрудников отдела, использую Дельфи и Аксесс.
Вроде все подключенно.
Но у меня не работает навигатор. Он не подключается к DataSource. Не могу понять что мне сделать.
вот исходники
помогите пожалуйста
Осознание того,что есть место "гдевсехорошо" даёт надежду,что ещё не все потеряно.
Scabby вне форума Ответить с цитированием
Старый 19.05.2009, 14:02   #2
Scabby
Пользователь
 
Аватар для Scabby
 
Регистрация: 20.01.2009
Сообщений: 26
По умолчанию

вот исходник
Вложения
Тип файла: zip бд.zip (374.2 Кб, 21 просмотров)
Осознание того,что есть место "гдевсехорошо" даёт надежду,что ещё не все потеряно.
Scabby вне форума Ответить с цитированием
Старый 19.05.2009, 14:56   #3
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Во-первых, у вас путь к базе прописан как: "G:\Курсовая\бд\БД2.mdb"
У меня ничего не работает, вы исправьте просто на "БД2.mdb"
Установите у ADOConnection свойство Connected в false; У всех DataSet'ов(TADOTable, TADOQuery) свойство Active тоже в false
Пропишите в onCreate DataModule:
Код:
procedure Tdm_Connect.DataModuleCreate(Sender: TObject);
var
 i: integer;
begin
 try
  for i := 0 to ADO.DataSetCount - 1 do
  begin
   //Тут можно проверять разные условия, например:
   if ADO.DataSets[i].Name <> 'ADOMember' then
   if ADO.DataSets[i].Name <> 'aq_Member' then
   if ADO.DataSets[i].Name <> 'aq_Price' then
    ADO.DataSets[i].Active := true;
  end;
 except
  on e: exception do MessageBox(GetActiveWindow, PChar(e.Message),
    'Ошибка открытия базы данных', MB_OK or MB_ICONSTOP);
 end;
end;
В onDestroy:
Код:
procedure Tdm_Connect.DataModuleDestroy(Sender: TObject);
var
 i: integer;
begin
 try
  for i := 0 to ADO.DataSetCount - 1 do
   ADO.DataSets[i].Active := false;
 except
  on e: exception do MessageBox(GetActiveWindow, PChar(e.Message),
    'Ошибка закрытия базы данных', MB_OK or MB_ICONSTOP);
 end;
end;
И добавьте в раздел Uses модуль Windows

Во вторых, исправьте запросы и саму таблицу, там не хватает поля какого-то, вот я и написал вверху:
Код:
   if ADO.DataSets[i].Name <> 'ADOMember' then
   if ADO.DataSets[i].Name <> 'aq_Member' then
   if ADO.DataSets[i].Name <> 'aq_Price' then
В-третьих, навигатор не работает, потому что вы не выставили у него свойство DataSource. Выставьте на то, которое вам нужно.
Для этого нажмите в Unit3 File/Use Unit... и выберите Unit2, чтоб использовать DataModule в программе
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.

Последний раз редактировалось Neeter; 19.05.2009 в 15:08.
Neeter вне форума Ответить с цитированием
Старый 19.05.2009, 15:02   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Вам нужно в в Unit3 добавить Unit2
В главном меню делфи File -> Use Unit и из списка выбрать Unit2 после этого в св-ве DataSource навигатора можно выбрать необходимый datasource
SERG1980 вне форума Ответить с цитированием
Старый 19.05.2009, 15:08   #5
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Я это сказал вверху
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 19.05.2009, 15:09   #6
Scabby
Пользователь
 
Аватар для Scabby
 
Регистрация: 20.01.2009
Сообщений: 26
По умолчанию

спасибо большое.
попробую сделать.
Осознание того,что есть место "гдевсехорошо" даёт надежду,что ещё не все потеряно.
Scabby вне форума Ответить с цитированием
Старый 19.05.2009, 17:14   #7
Scabby
Пользователь
 
Аватар для Scabby
 
Регистрация: 20.01.2009
Сообщений: 26
По умолчанию

^Во вторых, исправьте запросы и саму таблицу, там не хватает поля какого-то, вот я и написал вверху^

не понимаю что с этим делать.все остально исправленно.
возле aq_Member и aq_Price стоят вопросительные знаки.
что это значит?

исходник:
http://ifolder.ru/12196903
Осознание того,что есть место "гдевсехорошо" даёт надежду,что ещё не все потеряно.
Scabby вне форума Ответить с цитированием
Старый 19.05.2009, 17:28   #8
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Так, удалите строчку
Код:
if ADO.DataSets[i].Name <> 'ADOMember' then
Дальше, нажмите на ADOMember два раза и удалите поле зароботная плата
Их у вас там два одинаковых, только одно правильно написано.

Насчет вопросительных знаков... Вы имеете в виду иконки что ли?)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.

Последний раз редактировалось Neeter; 19.05.2009 в 17:37.
Neeter вне форума Ответить с цитированием
Старый 19.05.2009, 17:34   #9
Scabby
Пользователь
 
Аватар для Scabby
 
Регистрация: 20.01.2009
Сообщений: 26
По умолчанию

да.что они значат?
без этой строки выдает ошибку - Заработная плата not found.
что-то торможу ужасно.
Осознание того,что есть место "гдевсехорошо" даёт надежду,что ещё не все потеряно.
Scabby вне форума Ответить с цитированием
Старый 19.05.2009, 17:38   #10
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Я же сказал, вы читайте до конца:
Цитата:
Дальше, нажмите на ADOMember два раза и удалите поле зароботная плата
Их у вас там два одинаковых, только одно правильно написано.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delphi+access eldar БД в Delphi 0 20.03.2009 22:56
Access+Delphi Levsha100 Помощь студентам 2 27.11.2008 20:22
Access и Delphi Kostia Win Api 0 15.01.2008 15:38
Access и Delphi Mitron БД в Delphi 6 10.01.2008 20:25
Access Delphi Yana БД в Delphi 1 04.01.2008 21:54