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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2008, 11:17   #11
BarD
 
Регистрация: 26.05.2008
Сообщений: 5
По умолчанию

Ругается на строку
KeyFields:='idManager';
Пишет что такого поля в таблице нет, хотя оно присутствует (имя конечно у меня свое).
Может быть поле должно быть определено каким-то конкретным способом ?
Оно у меня задается из программы SQL запросом, тип SMALLINT
BarD вне форума Ответить с цитированием
Старый 28.05.2008, 11:33   #12
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

Выложи код.
Domovoy вне форума Ответить с цитированием
Старый 28.05.2008, 12:24   #13
BarD
 
Регистрация: 26.05.2008
Сообщений: 5
По умолчанию

Создание основной таблицы:
Код:
procedure CreateTableSportsmen();
begin
DBModule.SQLCommand.CommandText:='CREATE TABLE Sportsmen ([ФИО] CHAR(30), [Команда] SMALLINT);';
DBModule.SQLCommand.Execute();
DBModule.SQLCommand.CommandText:='CREATE INDEX TeamIndex ON Sportsmen (Команда);';
DBModule.SQLCommand.Execute();
end;
Создание дочерней таблицы:
Код:
procedure CreateTableTeams();
begin
DBModule.SQLCommand.CommandText:='CREATE TABLE Teams ([Ключ] COUNTER PRIMARY KEY, Команда CHAR(30));';
DBModule.SQLCommand.Execute();
end;
Кнопка в меню:
Код:
procedure TMainForm.N2Click(Sender: TObject);
var
BaseName:string;
F:TField;
begin
//установка связи с БД
if MainForm.DBSaveDialog.Execute then
  begin
  BaseName:= MainForm.DBSaveDialog.FileName;
  SetConnection(DBModule.DBConnection,BaseName);

  //Таблица со списком Команд
  ListForm.TableList.TableName:='Teams';
  ListForm.Show;

  //Основная таблица, где должен быть выпадающий список
  MainForm.TableTeam.Close;
  MainForm.TableTeam.TableName:='Sportsmen';
  MainForm.TableTeam.FieldDefs.Update;
  F:=TStringField.Create(MainForm.TableTeam);
  with F do
    begin
    FieldName:='LookUp';
    DisplayLabel:='LookUp';
    FieldKind:=fkLookup;
    DisplayWidth:=50;
    DataSet:=MainForm.TableTeam;
    LookupDataSet:=ListForm.TableList;
    KeyFields:='Команда';
    LookupKeyFields:='Ключ';
    LookupResultField:='Команда';
    end;

  MainForm.TableTeam.Open;
  MainForm.TeamGrid.Visible:=true;
  end;
end;
Выдает ошибку: TableTeam: Field 'Команда' not found.
BarD вне форума Ответить с цитированием
Старый 28.05.2008, 14:12   #14
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

Код:
procedure TMainForm.N2Click(Sender: TObject);
var
  BaseName:string;
  F:TField;
  i:integer;
begin
//установка связи с БД
if MainForm.DBSaveDialog.Execute then
  begin
    BaseName:= MainForm.DBSaveDialog.FileName;
    SetConnection(DBModule.DBConnection,BaseName);
    //Таблица со списком Команд
    ListForm.TableList.TableName:='Teams';
    ListForm.Show;

    //Основная таблица, где должен быть выпадающий список
    MainForm.TableTeam.Close;
    MainForm.TableTeam.TableName:='Sportsmen';
    MainForm.TableTeam.FieldDefs.Update;
    for i:=0 to MainForm.TableTeam.FieldDefs.Count-1 do
      try
        MainForm.TableTeam.FieldDefs[I].CreateField(MainForm.TableTeam);
      except;
      end;
    F:=TStringField.Create(MainForm.TableTeam);
    with F do
    begin
      FieldName:='LookUp';
      DisplayLabel:='LookUp';
      FieldKind:=fkLookup;
      DisplayWidth:=50;
      DataSet:=MainForm.TableTeam;
      LookupDataSet:=ListForm.TableList;
      KeyFields:='Команда';
      LookupKeyFields:='Ключ';
      LookupResultField:='Команда';
    end;
    MainForm.TableTeam.Open;
    MainForm.TeamGrid.Visible:=true;
  end;
end;
Вот так должно работать
Domovoy вне форума Ответить с цитированием
Старый 28.05.2008, 15:18   #15
BarD
 
Регистрация: 26.05.2008
Сообщений: 5
По умолчанию

Спасибо, заработало
BarD вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма. Выпадающий список SNkMaster HTML и CSS 13 15.03.2010 15:02
ADO,DBGrid, выпадающий список ikeba БД в Delphi 6 02.11.2008 19:51
Выпадающий список Акашаев Нурлан Общие вопросы Delphi 3 27.06.2008 16:58
выпадающий список SunKnight БД в Delphi 1 24.03.2008 22:44
выпадающий список Toxa Microsoft Office Excel 2 23.04.2007 09:40