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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2010, 07:59   #1
kmvteam
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 21
По умолчанию Извлечь данные из access через AdoQuery

Как извлечь каждую ячеику строчки в баз данных access. \В отдельный edit,combox и т. п.
То есть как вытащить данные через AdoQuery?

Необходимо отредактировать данные в MS Access, как с помощью AdoQuery это можно сделать? То есть необходимо извлечь данные в edit и т.п.

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

А чем вам DBEdit не нравится, возни будет меньше. а лучше DBGrid. Но в любом случае делайте подключение через ADOConnection далее SQL запрос ( типа SELECT * FROM Название таблицы), а уж потом извращайтесь. Только неудобно вам будет загонять все поля в эдиты и редактировать их
SERG1980 вне форума Ответить с цитированием
Старый 05.05.2010, 08:26   #3
kmvteam
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 21
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
А чем вам DBEdit не нравится, возни будет меньше. а лучше DBGrid. Но в любом случае делайте подключение через ADOConnection далее SQL запрос ( типа SELECT * FROM Название таблицы), а уж потом извращайтесь. Только неудобно вам будет загонять все поля в эдиты и редактировать их
Задача, такая.
DbGRID имеется, есть отдел. форма добавления
Надо форму редактирования.

Данные извлек, но возникла проблема как извлечь нужную строку, у меня сечас извлекаются данные из первой в не зависемости где стоит курсор.
kmvteam вне форума Ответить с цитированием
Старый 05.05.2010, 08:30   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Дык я вам и говорю используйте лучше DBEdit а не эдит. Перевели вашу БД в состояние редакитрования и всё. А так покажите как вы извлекаете данные в эдит, потому как если делать всё правильно то где курсор такие данные и будут браться
SERG1980 вне форума Ответить с цитированием
Старый 05.05.2010, 08:41   #5
kmvteam
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 21
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
Дык я вам и говорю используйте лучше DBEdit а не эдит. Перевели вашу БД в состояние редакитрования и всё. А так покажите как вы извлекаете данные в эдит, потому как если делать всё правильно то где курсор такие данные и будут браться
Код как делаю:
Цитата:
ADOQuery1.Close;
ADOQuery1.SQL.Text:='select * from Картотека';
ADOQuery1.Open;
edit1.Text:=ADOQuery1.FieldByName(' Имя').AsString;
Edit2.Text:=ADOQuery1.FieldByName(' Фамилия').AsString;
Edit3.Text:=ADOQuery1.FieldByName(' Отчество').AsString;
ComboBox1.Text:=ADOQuery1.FieldByNa me('Пол').AsString;
DBCOmboBOx2.Text:= ADOQuery1.FieldByName('Подразделени е').AsString;
DBCOmboBOx1.Text:= ADOQuery1.FieldByName('Должность'). AsString;
Edit5.Text:=IntToStr(ADOQuery1.Fiel dByName('Код_сотрудника').AsInteger );
ComboBox2.Text:=ADOQuery1.FieldByNa me('Семеиное_положение').AsString;

Цитата:
лучше DBEdit а не эдит. Перевели вашу БД в состояние редакитрования и всё.
Можно поподробнее как реализовать?
kmvteam вне форума Ответить с цитированием
Старый 05.05.2010, 08:52   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Можно поподробнее как реализовать?
Че там подробнее-то. Кидаете на форму DBEdit1 на форму, настраиваете его свойство DataSource на нужный Вам DataSource, и, в поле FieldName (или DataField, точно не помню как называется) указываете нужное Вам поле. И фсе.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 05.05.2010, 09:10   #7
kmvteam
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 21
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Че там подробнее-то. Кидаете на форму DBEdit1 на форму, настраиваете его свойство DataSource на нужный Вам DataSource, и, в поле FieldName (или DataField, точно не помню как называется) указываете нужное Вам поле. И фсе.
Спасибо, но также отображается только первая строка.
kmvteam вне форума Ответить с цитированием
Старый 05.05.2010, 09:14   #8
kmvteam
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 21
По умолчанию

Цитата:
Сообщение от kmvteam Посмотреть сообщение
Спасибо, но также отображается только первая строка.
Я просто не как не передаю значение этой строки, поидее.
На форме два есть DBGrid:

Есть кнопка form9.Show
На этой форме код:
Цитата:
var
i,k:String;
begin
ADOQuery1.Active:=False;
ADOQuery1.Close;
ADOQuery1.SQL.Text:='select * from Картотека';
ADOQuery1.Open;
edit1.Text:=ADOQuery1.FieldByName(' Имя').AsString;
Edit2.Text:=ADOQuery1.FieldByName(' Фамилия').AsString;
Edit3.Text:=ADOQuery1.FieldByName(' Отчество').AsString;
ComboBox1.Text:=ADOQuery1.FieldByNa me('Пол').AsString;
DBCOmboBOx2.Text:= ADOQuery1.FieldByName('Подразделени е').AsString;
DBCOmboBOx1.Text:= ADOQuery1.FieldByName('Должность'). AsString;
Edit5.Text:=IntToStr(ADOQuery1.Fiel dByName('Код_сотрудника').AsInteger );
ComboBox2.Text:=ADOQuery1.FieldByNa me('Семеиное_положение').AsString;
DateTimePicker1.Date:= ADOQuery1.FieldByName('Дата_рождени я').AsDateTime;
Edit4.Text:=ADOQuery1.FieldByName(' Мед_осмотр').AsString;
Edit6.Text:=ADOQuery1.FieldByName(' Инструктаж').AsString;
if Edit4.Text='да' then
Begin
CheckBox1.Checked:=true;
DateTimePicker2.Date:= ADOQuery1.FieldByName('Дата_медосмо тра').AsDateTime;
end
Else
Begin
end;

if Edit6.Text='да' then
Begin
CheckBox2.Checked:=true;
DateTimePicker3.Date:= ADOQuery1.FieldByName('Дата_инструк тожа').AsDateTime;
end
Else
Begin
end;
kmvteam вне форума Ответить с цитированием
Старый 05.05.2010, 09:41   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а какая строка Вам нужна?! Откуда программа может это знать?!
Значит, или бросайте на форму DBGrid, через компонент DataSource связывайте с его с ADOQuery1 и будете видеть все записи.
на нужной записи становитесь, нажимаете кнопочку редактировать, там ваш код (только БЕЗ ОТКРЫТИЯ ЗАПРОСА!!):
Код:
procedure Form1.btEditClick(
begin
  ADOQuery1.Edit;
  edit1.Text:=ADOQuery1.FieldByName('Имя').AsString;
  Edit2.Text:=ADOQuery1.FieldByName('Фамилия').AsString;
Edit3.Text:=ADOQuery1.FieldByName('Отчество').AsString;
после окончания на кнопочке Save:
Код:
begin
  ADOQuery1.FieldByName('Имя').AsString := edit1.Text;
  ADOQuery1.FieldByName('Фамилия').AsString := Edit2.Text;
  ....
  ADOQuery1.Post;
end;
либо, можно на форме сделать кнопки первая запись/ вперёд / назад / последняя запись и ходить по датасету:
первая запись: ADOQuery1.First;
вперёд ADOQuery1.Next;
назад ADOQuery1.Prev;
последняя - ADOQuery1.Last;
(кстати, есть такой стандартный элемент - DBNavigator)


p.s. пишу всё прямо на форуме, поэтому возможны опечатки...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.05.2010, 09:42   #10
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Уважаемый автор темы, Вы уж определитесь, что именно Вам нужно. То вы спрашиваете
Цитата:
Как извлечь каждую ячеику строчки в баз данных access
Я Вам дал ответ на этот вопрос. То Вы пишите, что
Цитата:
также отображается только первая строка.
Если Вам нужно чтобы отображались в DBEdit-ax значения в ячейках из разных строчек, то просто настройте DBNavigator на тот же DataSource, на который настроены DBEdit-ы
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какие данные можно извлечь из exe файла?? Дима я Свободное общение 17 03.03.2010 20:08
как извлечь данные из паскаля в ворд? Elenka))) Помощь студентам 3 23.01.2010 00:23
База данных в Access, ADOQuery, организовать поиск monushka БД в Delphi 27 23.10.2009 20:45
Данные с Access в Excel sahtheey Microsoft Office Access 4 25.09.2009 19:43
Могу ли я извлечь данные, из БД не зная напрямую название имеющейся в ней таблицы. Cabyrc БД в Delphi 11 27.03.2009 01:16