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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2007, 15:56   #1
Inbox
Пользователь
 
Аватар для Inbox
 
Регистрация: 10.01.2007
Сообщений: 77
По умолчанию Обратиться к таблице Access

Мне необходимо вот что:

Код:
StrigGrid.Cells[6,5]:=Таблица "Цены".Поле-Отпускная.Строчка 3я.
Направте меня на путь истинный пжлстаю
Это тебе не следует читать.
Inbox вне форума Ответить с цитированием
Старый 25.06.2007, 01:34   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Подключись к базе через ADO. Напиши ADOQuery1.SQL.Text := 'SELECT * FROM Цены'
ADOQuery1.RecNo := 3 - самый поганый способ обратиться к нужной строке. А если данные отсортированны? Ну и наконец
StrigGrid.Cells[6,5]:= ADOQuery1['Отпускная'].Value
Баламут вне форума Ответить с цитированием
Старый 25.06.2007, 08:51   #3
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Баламут Посмотреть сообщение
Подключись к базе через ADO. Напиши ADOQuery1.SQL.Text := 'SELECT * FROM Цены'
ADOQuery1.RecNo := 3 - самый поганый способ обратиться к нужной строке. А если данные отсортированны? Ну и наконец
StrigGrid.Cells[6,5]:= ADOQuery1['Отпускная'].Value
Братка, а почему нежелательно использовать RecNo? Просто, я частенько пользуюсь им.... Например, когда мне нужно изменить текущую запись..... Объясни, если не затруднит...
Или ты имеешь ввиду, что это не надежно в данной ситуации, когда обращаешься к определенному полу(3)... Из-за того, что возможен вариант сортировки по другому полю?

можно еще сделать так:
table1.first;// В начало
Table1.MoveBy(3);// на 3 вперед....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp

Последний раз редактировалось Pitbull; 25.06.2007 в 09:14.
Pitbull вне форума Ответить с цитированием
Старый 25.06.2007, 09:03   #4
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

В зависимости от способа сортировки у тебя в строке №3 могут быть разные данные. Уж лучше по уникальному идентификатору искать нужную запись
Баламут вне форума Ответить с цитированием
Старый 25.06.2007, 09:15   #5
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от Баламут Посмотреть сообщение
В зависимости от способа сортировки у тебя в строке №3 могут быть разные данные. Уж лучше по уникальному идентификатору искать нужную запись
Спасибо, братумба....полностью согласен...
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 25.06.2007, 10:32   #6
Inbox
Пользователь
 
Аватар для Inbox
 
Регистрация: 10.01.2007
Сообщений: 77
По умолчанию

Я тут прикинул и решил обращаться к базе по артикулу товара(совпадений нет) Допустим артикулы в третей колонке, а мне надо выцепить цену из пятой колонке, для определенного артикула.
Как происходит обращение в этом случае??
ADOQuery в любом случае мне использовать?
Подскажите по шагово плиз ни разу не обращался.
Это тебе не следует читать.
Inbox вне форума Ответить с цитированием
Старый 25.06.2007, 11:19   #7
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Цитата:
Сообщение от Inbox Посмотреть сообщение
Я тут прикинул и решил обращаться к базе по артикулу товара(совпадений нет) Допустим артикулы в третей колонке, а мне надо выцепить цену из пятой колонке, для определенного артикула.
Как происходит обращение в этом случае??
ADOQuery в любом случае мне использовать?
Подскажите по шагово плиз ни разу не обращался.
Не хочешь Query - используй для поиска функцию Locate(const KeyFields: Strig; const KeyValues: Variant; Options: TLocateOptions): Boolean. Она ищет первую зпись, удовлетворяющую критериям поиска и делает ее текущей.

В твоем случае это будет выглядеть примерно так:

Код:
 
var myCena: Variant;
...
if Table1.Locate('ARTICUL','значение артикула',[]) then
  myCena:=Table1.FieldByName('CENA').Value;
где ARTICUL и CENA - имена полей БД;
myCena - имя переменной, куда сохранить значение цены.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 25.06.2007, 16:57   #8
eremin
Пользователь
 
Регистрация: 22.05.2007
Сообщений: 10
По умолчанию

А если не нужно перемещений, просто найти значение то функция

var myCena: Variant;
...
myCena:=Table1.Lookup('ARTICUL','зн ачение артикула','CENA');
eremin вне форума Ответить с цитированием
Старый 26.06.2007, 11:37   #9
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от eremin Посмотреть сообщение
А если не нужно перемещений, просто найти значение то функция

var myCena: Variant;
...
myCena:=Table1.Lookup('ARTICUL','зн ачение артикула','CENA');
для поиска еще можно использовать :

table1.SetKey;
table1Articul.value := 'значение'
table1.gotokey;
myCena:=Table1.FieldByName('CENA'). Value

только проиндексировать нужно таблицу
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp

Последний раз редактировалось Pitbull; 26.06.2007 в 11:41.
Pitbull вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Popup menu в таблице Access crazybabushka БД в Delphi 3 09.08.2008 12:09
Обратиться к классу (Delphi) Air Помощь студентам 16 17.07.2008 19:51
Счетчик в таблице MS Access Mishina Microsoft Office Access 1 15.06.2008 16:54
Как из проги обратиться к Excel ? Drozd Общие вопросы Delphi 3 26.03.2008 18:24
Как обратиться к ячейке таблицы Аналитик Помощь студентам 16 29.11.2007 20:11