Форум: "Начинающим";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];
ВнизDBComboBox Найти похожие ветки
← →
Сергей М. © (2009-11-06 12:42) [120]
> какое свойство отвечает за порядковый номер компонента?
Компонент не имеет порядкового номера.
← →
Andrewtitoff © (2009-11-06 12:46) [121]
> Сергей М. © (06.11.09 12:42) [120]
> > какое свойство отвечает за порядковый номер компонента?
> Компонент не имеет порядкового номера.
Да, я уже осознал, делаю уже через Таг, правда не стал никуда размещать, делаю прям на форме
← →
Anatoly Podgoretsky © (2009-11-06 12:51) [122]> Andrewtitoff (06.11.2009 12:40:59) [119]
У компонентов нет порядковых номеров.
← →
Сергей М. © (2009-11-06 12:55) [123]
> делаю прям на форме
На форме кроме тех комбобоксов у тебя наверняка еще туева хуча всякоразных компонентов.
И сей факт исключает возможность обойтись без проверки
Components[i] is TComboBox
← →
Andrewtitoff © (2009-11-06 13:04) [124]
> Сергей М. © (06.11.09 12:55) [123]
> > делаю прям на формеНа форме кроме тех комбобоксов у тебя
> наверняка еще туева хуча всякоразных компонентов.И сей факт
> исключает возможность обойтись без проверки Components[i]
> is TComboBox
Да, так я с проверкой делаю, а что это плохо?
← →
Сергей М. © (2009-11-06 13:14) [125]
> а что это плохо?
А разве плохо зайдя в подъезд доехать на лифте до нужного 7го этажа, просто нажав кнопку с цифрой "7", вместо того чтобы шлепать туда пешком по лестнице и считать этажи самому ?)
← →
Andrewtitoff © (2009-11-06 13:32) [126]Млин, чет я уже совсем с ума схожу, пишу так:
for i := 0 to Form2.ComponentCount - 1 do
if Form2.Components[i] is TDBComboBox then
with TDBComboBox(Form2.Components[i]) do
begin
Form1.ADOQuery1.SQL.Text:=Format("select distinct %s from lift",[Form1.ADOTable4.Fields[tag]]);
while not Form1.ADOQuery1.Eof do
begin
Items.Add(Form1.ADOQuery1.Fields[0].AsString);
Form1.ADOQuery1.Next;
end;
{} ShowMessage(name+ "="+inttostr(Form2.Components[i].Tag)+"="+inttostr(i));
end;
В строкеForm1.ADOQuery1.SQL.Text:=Format("select distinct %s from lift",[Form1.ADOTable4.Fields[tag]]);
выдает ошибку Format "%s" invalid or incompatible with argument
← →
Andrewtitoff © (2009-11-06 13:35) [127]что сюда
Form1.ADOTable4.Fields[i]
вместо "i" писать то?
← →
Andrewtitoff © (2009-11-06 13:37) [128]так
Form1.ADOQuery1.SQL.Text:=Format("select distinct %"+inttostr(tag)+":s from lift",[Form1.ADOTable4.Fields[tag]]);
ту же ошибку выдает...
← →
Amoeba © (2009-11-06 13:37) [129]
> [Form1.ADOTable4.Fields[tag]
Здесь строку должно передать, а у тебя что? Объект поле!
← →
Сергей М. © (2009-11-06 13:38) [130]Св-во Fields[] имеет тип TField, а не String.
Потому и invalid or incompatible)
← →
Amoeba © (2009-11-06 13:39) [131]Подсказываю тупящему:
[Form1.ADOTable4.Fields[tag].AsString]
или
[Form1.ADOTable4.Fields[tag].Value]
в зависимости от типа поля.
← →
Сергей М. © (2009-11-06 13:39) [132]Мдя..
Что ни шаг, то грабли)
← →
Сергей М. © (2009-11-06 13:42) [133]
> так
> Form1.ADOQuery1.SQL.Text:=Format("select distinct %"+inttostr(tag)+":
> s from lift",[Form1.ADOTable4.Fields[tag]]);
>
А это вообще ахинея.
> Amoeba © (06.11.09 13:39) [131]
>
> Подсказываю тупящему
Тут речь идет об имени поля.
А ты ему еще про значение подсказываешь, услужливо подкладывая еще одни грабельки)
← →
Andrewtitoff © (2009-11-06 13:52) [134]
Form1.ADOQuery1.SQL.Text:=Format("select distinct %s from lift",[Form1.ADOTable4.Fields[tag].AsString]);
так ошибок не выдает, только не работает, комбобоксы незаполненные остаются...
← →
Сергей М. © (2009-11-06 13:56) [135]Картина маслом - "Andrewtitoff, героически разминирующий лес из граблей"
)
← →
Andrewtitoff © (2009-11-06 13:58) [136]
> Сергей М. © (06.11.09 13:56) [135]
> Картина маслом - "Andrewtitoff, героически разминирующий
> лес из граблей")
=))))))))))))))))
больно, грабли то чаще детские встречаются.... =)))))Form1.ADOTable4.Fields[tag].AsString
Возвращает не имя поля - а значение из него... =(((
← →
Andrewtitoff © (2009-11-06 14:05) [137]А как имя поля то получить? =((((
← →
Сергей М. © (2009-11-06 14:05) [138]
> Возвращает не имя поля - а значение из него
Ну и ?)
Мысли-то есть какие-нть, как самому изменить эту конструкцию, так чтобы получать не значение поля, а его имя ?
← →
Сергей М. © (2009-11-06 14:06) [139]Field (англ.) = Поле (рус.)
Name (англ.) = Имя (рус.)
← →
Andrewtitoff © (2009-11-06 14:13) [140]Так это я помню, еще
clickmaker © (06.11.09 11:06) [105] писал
Form1.ADOQuery1.SQL.Text := Format("select distinct %s from lift", [FieldNames[i]]);
только Form1.ADOTable4.FieldNames выдает "Undeclared identifier: "FieldNames""
← →
Andrewtitoff © (2009-11-06 14:16) [141]так
Form1.ADOTable4.Fields[tag].Name
тож не хочет
← →
Сергей М. © (2009-11-06 14:18) [142]FieldNames - это имена полей, а не имя поля.
Конкретный объект, связанный с интересубющим полем, ты получил:
ADOTable4.Fields[tag]
Осталось обратиться к этому объекту для получения имени поля, с которым он связан)
Ну и ?)
← →
Сергей М. © (2009-11-06 14:19) [143]
> тож не хочет
А кнопка F1 тоже не хочет нажиматься ?
← →
Anatoly Podgoretsky © (2009-11-06 14:32) [144]> Andrewtitoff (06.11.2009 13:58:16) [136]
Детские, взрослые не важно, а важно только один раз на них наступать, а не первый раз при входе в баню, а потом при выходе из бани и так каждый день.
← →
Anatoly Podgoretsky © (2009-11-06 14:34) [145]> Andrewtitoff (06.11.2009 14:13:20) [140]
Undeclared identifier мы уже проходили.
← →
Andrewtitoff © (2009-11-06 14:49) [146]Form1.ADOQuery1.SQL.Text:=Format("select distinct %s from lift",[Form1.ADOTable4.Fields[tag].FieldName]);
Во, вроде так, тока чет опять не то, запрос вроде верный, а комбо боксы опять не заполняются... =(((
← →
Andrewtitoff © (2009-11-06 14:50) [147]
> Anatoly Podgoretsky © (06.11.09 14:32) [144]
> > Andrewtitoff (06.11.2009 13:58:16) [136]Детские, взрослые
> не важно, а важно только один раз на них наступать, а не
> первый раз при входе в баню, а потом при выходе из бани
> и так каждый день.
Не скажи, детские бьют больнее т.к. бьют не по лбу, а несколько ниже... =)))
← →
Andrewtitoff © (2009-11-06 14:52) [148]А,
> Andrewtitoff © (06.11.09 14:49) [146]
> Form1.ADOQuery1.SQL.Text:=Format("select distinct %s from
> lift",[Form1.ADOTable4.Fields[tag].FieldName]);Во, вроде
> так, тока чет опять не то, запрос вроде верный, а комбо
> боксы опять не заполняются... =(((
А, все разодрался, забылForm1.ADOQuery1.Open;
← →
Сергей М. © (2009-11-06 14:54) [149]
> комбо боксы опять не заполняются
С чего бы им заполняться, если ты не открыл (или не пероткрыл) свой дейтасет после установки текста запроса ?
← →
Andrewtitoff © (2009-11-06 15:03) [150]Ну тогда думаю, тему можно считать закрытой!, всем огромное спасибо! =)))
P.S. Соскучится не успеете, ждите с новыми вопросами... =)))
← →
Anatoly Podgoretsky © (2009-11-06 15:52) [151]> Andrewtitoff (06.11.2009 14:49:26) [146]
Ну и что у тебя в Form1.ADOQuery1.SQL.Text
← →
Anatoly Podgoretsky © (2009-11-06 15:53) [152]> Andrewtitoff (06.11.2009 15:03:30) [150]
Второй акт Марлианского балета.
Страницы: 1 2 3 4 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];
Память: 0.78 MB
Время: 0.013 c