Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Связь двух таблиц одной БД Access 
:(
    Опции темы
mmik
Дата 26.2.2009, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 14.10.2008

Репутация: нет
Всего: нет



Не знаю в какую тему ткунться. У меня возникла проблема следующего плана. Есть БД в Access, в которой две таблицы. Мне нужно брать данные из одной таблицы, обрабатывать их и кидать в другую. Пытаюсь реализовать следующим образом: на форме два datasource и два table. Пришлось создать два источника данных, ссылающихся на одну и ту же БД. При этом связь с первой таблицей (откуда данные читаются) есть, а вот со второй проблемы. Думаю со связью что-то напутано. Да, еще оговорюсь. Обращение к полям второй таблицы идет так:
table2.FieldByName(table1.Fields[1].AsString+table1.Fields[2].AsString+table1.Fields[i].AsString).AsString:=Search(edit2.Text,table1.Fiel ds[i].AsString);

как составное из имен полей первой таблицы.

Ошибки выдает разные:
Stream write error
Dataset not edit or insert mode

И еще, как избавиться от запроса логина и пароля доступа к БД при запуске приложения?
PM MAIL   Вверх
Данкинг
Дата 26.2.2009, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(mmik @  26.2.2009,  13:04 Найти цитируемый пост)
И еще, как избавиться от запроса логина и пароля доступа к БД при запуске приложения? 

Отключить запрос пароля в настройках AdoConnection. Если через ADO.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
pseud
Дата 26.2.2009, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 16
Всего: 40



вобщем, как обычно, ошибка в 27 строке кода.

Добавлено через 4 минуты и 5 секунд
1. что за БД?
2. какие компоненты используешь?
3. на счет правомерности кода ничего не скажу, но читабельность....
table2.FieldByName(table1.Fields[1].AsString+table1.Fields[2].AsString+table1.Fields[i].AsString).AsString:=Search(edit2.Text,table1.Fiel ds[i].AsString);

а если так:
Код

with table1 do
begin
  s := Fields[1].AsString + Fields[2].AsString + Fields[i].AsString;
  table2.FieldByName(s).AsString := Search(edit2.Text, Fields[i].AsString);
end;



--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Hexel
Дата 27.2.2009, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 30.10.2007
Где: UA

Репутация: нет
Всего: нет



Цитата(mmik @  26.2.2009,  13:04 Найти цитируемый пост)
Dataset not edit or insert mode


так вот это не ответ? не забыл дописать edit or insert перед изменением поля?
PM MAIL   Вверх
mmik
Дата 27.2.2009, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 14.10.2008

Репутация: нет
Всего: нет



edit -а не было, только запись. Исправлено. 
Подробности: в первой таблице хранятся данные по приборам, группам и параметрам. На основании этих данных формируется запрос DDE-серверу. Данные, которые приходят от сервера нарезаются в соответствии с именем параметра и должны записываться в другую таблицу в поле с уникальным именем состоящим из имени группы,имени прибора и имени параметра. Это сделано для удобства пользователя, чтоб он сам потом мог подключать новые приборы и параметры.
Сейчас опять ошибку выдает, но почему-то в процедуре поиска по тексту (как раз той самой нарезке ответа от сервера). Которая до этого работал абсолютно четко. Буду разбираться. 

ODBC. Не найду никак где проверку пароля отменить.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.