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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2010, 22:53   #1
jziiiiiii
Пользователь
 
Регистрация: 11.02.2008
Сообщений: 17
По умолчанию Проблема с MS access+ADOtable

Есть таблица в акцес, подключеная к делфи через адотейбл.
пишу
Код:
form1.adotable10.recno:=1;
showmessage(form1.adotable10.fields.fields[0].asstring);
выдает мне не первую запись а десятую, также пробовал
Код:
form1.adotable10.First;
showmessage(form1.adotable10.fields.fields[0].asstring);
тоже самое.
в таблице записи одинаковые, у первой счётчик 506, у десятой 515.

В чем загвоздка?

Последний раз редактировалось Stilet; 12.07.2010 в 09:22.
jziiiiiii вне форума Ответить с цитированием
Старый 11.07.2010, 04:29   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
в таблице записи одинаковые,
Может быть неправильно спроектировна БД? А если запросом выводиьт номер записи и использовать DISTINCТ, чтобы исключить дубликаты?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 11.07.2010, 05:51   #3
jziiiiiii
Пользователь
 
Регистрация: 11.02.2008
Сообщений: 17
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Может быть неправильно спроектировна БД? А если запросом выводиьт номер записи и использовать DISTINCТ, чтобы исключить дубликаты?
В данном случае одинаковые записи в таблице в mdb файле я сделал чтобы проверить - м.б. сортировка какая-то мешает.

Еще раз:
в таблице mdb файла:
код название цена
506 сапог 15 рублей
507 куртка 20 рублей
--------------------------
515 шапка 10 рублей
516 майка 5 рублей

adotable.recno:=1;
showmessage(adotable.fields.fields[0].asstring);
выдаёт 515
jziiiiiii вне форума Ответить с цитированием
Старый 11.07.2010, 12:02   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А зачем вот тут
Код:
showmessage(adotable.fields.fields[0].asstring);
Вы 2 раза написали fields?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 11.07.2010, 16:23   #5
jziiiiiii
Пользователь
 
Регистрация: 11.02.2008
Сообщений: 17
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
А зачем вот тут
Код:
showmessage(adotable.fields.fields[0].asstring);
Вы 2 раза написали fields?
в данной проблеме это не важно.
jziiiiiii вне форума Ответить с цитированием
Старый 11.07.2010, 18:19   #6
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Перед тем,как
Код:
form1.adotable10.recno:=1;
showmessage(form1.adotable10.fields .fields[0].asstring);
я полагаю никакие фильтры к набору данных не применялись.
В противном случае рекомендую сделать так
Код:
form1.adotable10.filtered:=false;
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 11.07.2010, 21:00   #7
jziiiiiii
Пользователь
 
Регистрация: 11.02.2008
Сообщений: 17
По умолчанию

Фильтры не применялись.
Записи добавлял с помощью adotable.append.
jziiiiiii вне форума Ответить с цитированием
Старый 12.07.2010, 08:11   #8
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

А физически в таблице, без сортировки по полю счетчик(сортировка делается автоматически Access'om) т.к. поле ключ.
Записи соответствуют порядку описанному здесь.
Цитата:
код название цена
506 сапог 15 рублей
507 куртка 20 рублей
--------------------------
515 шапка 10 рублей
516 майка 5 рублей
А то может просто сортировку внутри программы сделать.
Обратная сортировка.
Код:
  Table.Sort:=Table.FieldByName['Код'].FullName+' DESC';
Прямая сортировка
Код:
  Table.Sort:=Table.FieldByName['Код'].FullName+' ASC';
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема добавления >52 полей в adotable AK BULLETS БД в Delphi 4 01.04.2010 13:58
Проблема с MS Access Tatyana:) Microsoft Office Access 0 11.06.2009 19:14
как Microsoft Access(ADOConnection ADOTable DataSource DBGrid) переделать под mySQL? Levsha100 БД в Delphi 6 23.05.2009 19:48
Как копировать данные из ADOTable в ADOTable? mauar БД в Delphi 1 10.05.2008 16:05
Delphy и Access.вводя инфу во вторичный файл Access, она отражалась в первом ADOTable Lev БД в Delphi 0 11.11.2007 12:14