Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.12.27;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.8 MB
Время: 0.018 c
15-1256647102
Scot Storch
2009-10-27 15:38
2009.12.27
Проблема с кодировкой (русские символы)


2-1257797875
-=SV=-
2009-11-09 23:17
2009.12.27
Копирование программно вкладки


3-1232472889
RustB
2009-01-20 20:34
2009.12.27
ADO, access, и как прочитать результат запроса.


15-1256741604
Ramms+eineR
2009-10-28 17:53
2009.12.27
Фриланс. Direct3D/OpenGL.


15-1256543859
Kerk
2009-10-26 10:57
2009.12.27
Заметки посла США в СССР (1937-1938 гг.)