|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Paradox + Query + ComboBox
Народ, помогите мне пожалуйста,
делал так, на комбобоксе выбирал название столбца, далее при нажатии на кнопку происходит вот что: EDataBaseError Query1: 'Field 'Racer' not found. Это при то, что отсеевание я ставлю на совсем другой столбец, в чём причина!!! мой код: Код:
procedure TForm3.Button1Click(Sender: TObject); var i: integer; begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Add('Select ' + ComboBox1.Text +' from "C:\Documents and Settings\1\Рабочий стол\Учёба\informatic\0.8\kurs\Formula1.db"' + 'Order by '+ ComboBox2.Text ); Query1.Open; try if ComboBox1.Text <> '*' then begin Query1.FieldByName('Team').DisplayLabel:= 'Команда'; Query1.FieldByName('Racer').DisplayLabel:= 'Гонщик'; Query1.FieldByName('Wins').DisplayLabel:= 'Победы'; Query1.FieldByName('Nations').DisplayLabel:= 'Национальность'; Query1.FieldByName('Cup').DisplayLabel:= 'Кубки конструкторов'; Query1.FieldByName('Pol').DisplayLabel:= 'Поул-позишн'; Query1.FieldByName('Car').DisplayLabel:= 'Машина'; Query1.FieldByName('Chum').DisplayLabel:= 'Чемпионств'; end else begin for i:=0 to ComboBox1.Items.Count-1 do if ComboBox2.Text = ComboBox1.Items.Strings[i] then Query1.FieldByName(ComboBox2.Text).DisplayLabel:= ListBox1.Items.Strings[i-1]; end; except end; ComboBox1.Items.Clear; ComboBox1.Items.Add('*'); for i:=0 to Query1.FieldCount-1 do ComboBox1.Items.Add(Query1.Fields.Fields[i].FieldName); ComboBox2.Items.Clear; for i:=0 to Query1.FieldCount-1 do ComboBox2.Items.Add(Query1.Fields.Fields[i].FieldName); ComboBox1.Enabled:=true; ComboBox2.Enabled:=true; CheckBox2.Enabled:=true; Button2.Enabled:=true; Button3.Enabled:=true; Button4.Enabled:=true; Button5.Enabled:=true; Button6.Enabled:=true; Button7.Enabled:=true; Button10.Enabled:=true; end; procedure TForm3.ComboBox1Change(Sender: TObject); begin if ComboBox1.Text <> '*' then begin ComboBox2.Enabled:=false; ComboBox2.Text:= ComboBox1.Text; end else ComboBox2.Enabled:=true; end; procedure TForm3.ComboBox1KeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin Key:=#0; Button1.Click; end; end; procedure TForm3.ComboBox2KeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin Key:=#0; Button1.Click; end; end; Последний раз редактировалось Admin, 23.12.2009 в 20:47. |
#2
|
||||
|
||||
А поле Racer вообще в базе есть? Ты ж ему все равно DisplayLabel присваиваешь.
|
#3
|
|||
|
|||
да, все поля присутствуют в таблице
|
#4
|
||||
|
||||
Попробуйте переписать заново в коде имя поля Racer. Возможно, что одна из букв написана кирилицей. Или наоборот в БД такая бяка.
А вообще, конечно надо програть код пошагово и определится точно в какой строчке происходит ошибка. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 24.12.2009 в 15:44. |
#5
|
|||
|
|||
К сожалению нет, с кирилицей всё хорошо.
Вот из трёх запросов только этот не работает. Может с псевдонимом я где-то ошибся? |
#6
|
||||
|
||||
Так вы определились на какой конкретно строке кода ошибка вылазит?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#7
|
|||
|
|||
Собственно на запросе и происходит
|
#8
|
|||
|
|||
Цитата:
Покажи строку подключения к базе, любопытно очень) |