Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];

Вниз

DBComboBox   Найти похожие ветки 

 
Andrewtitoff ©   (2009-11-05 11:36) [80]


> Сергей М. ©   (03.11.09 11:03) [72]
> > кроме тормозов при загрузке к комбобоксыСделай неуникальный
> индекс по полю Fld ADOQuery.SQL := "SELECT DISTINCT Fld
> FROM Tbl ORDER BY Fld";ADOQuery.CursorType := ctOpenForwardOnly;
> ADOQuery.Open;while not ADOQuery.Eof do begin   [DB]ComboBox.
> Items.Add(ADOQuery.Fields[0].AsString);   ADOQuery.Next;
> end;


Написал вот так:


Form1.ADOQuery1.SQL.Text := "select distinct field1 from lift";
Form1.ADOQuery1.CursorType := ctOpenForwardOnly;
Form1.ADOQuery1.Open;
while not Form1.ADOQuery1.Eof do begin
 Form2.DBComboBox1.Items.Add(Form1.ADOQuery1.Fields[0].AsString);
 Form1.ADOQuery1.Next;
end;


Выдает ошибку:

"Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена"


 
Сергей М. ©   (2009-11-05 11:38) [81]


> Выдает ошибку


На какой строчке ?


 
Andrewtitoff ©   (2009-11-05 11:48) [82]

Form1.ADOQuery1.Open;

как я понял, путем закоментаривания строчек, т.к. он не подчеркивает строку этой ошибки


 
Andrewtitoff ©   (2009-11-05 11:50) [83]

Ой, какжется это потому что ADOQuery у меня не активен, при попытке нажать на активный - ругается "Параметр field1 не имеет значения по умолчанию"


 
Andrewtitoff ©   (2009-11-05 11:53) [84]

Только где задать значение этому параметру?


 
Сергей М. ©   (2009-11-05 11:53) [85]

field1 у тебя, надеюсь, не ключевое поле ?)


 
Сергей М. ©   (2009-11-05 11:56) [86]


> где задать значение этому параметру?


Какому еще "параметру" ?
С какой луны к тебе свалились какие-то там параметры ?
"field1" - это, насколько я понимаю, реальное имя реально существующего неключевого поля в таблице "lift" ?


 
Andrewtitoff ©   (2009-11-05 11:57) [87]

Я вообще не знаю что это такое...
А вообще самое первое поле нулевое у меня ключевое, называется "REGNUM"


 
Dennis I. Komarov ©   (2009-11-05 12:22) [88]


> А вообще самое первое поле нулевое у меня ключевое

Это как?


 
Anatoly Podgoretsky ©   (2009-11-05 13:08) [89]

> Andrewtitoff  (05.11.2009 11:50:23)  [83]

Удали этот компонент, и брось по новому на форму.


 
sniknik ©   (2009-11-05 14:02) [90]

Сергей М. ©   (02.11.09 18:19) [65]
> ВизуальныйВасик - тот же ОбъектныйПаскаль (ну или наоборот), только вид сбоку.
это еще и функции которые можно использовать в запросах, т.к. ->

Andrewtitoff ©   (02.11.09 16:01) [8]
> БД формата Access 2000

и потому без него никак.
учите бейсик, источник функций...  :)


 
Andrewtitoff ©   (2009-11-06 09:40) [91]


> Dennis I. Komarov ©   (05.11.09 12:22) [88]
> > А вообще самое первое поле нулевое у меня ключевоеЭто
> как?

В смысле как?, ну поле к которому можно обратиться ADOTable4.Fields[0] называется "REGNUM" и оно в таблице ключевое...
Незнаю как тут картинку вставить, наверное ни как, только ссылкой, но выглядит это в конструкторе так:

Индексы LIFT:
индекс       | имя поля  | порядок сортировки
Primary Key | REGNUM   |  по возрастанию



> Anatoly Podgoretsky ©   (05.11.09 13:08) [89]
> > Andrewtitoff  (05.11.2009 11:50:23)  [83]Удали этот компонент,
>  и брось по новому на форму.

Несколько раз пробовал, все равно такая же байда, может чего не так делаю? =(((


 
Anatoly Podgoretsky ©   (2009-11-06 09:46) [92]

Судя по количеству сообщений в данной теме, не то что бы не то делаешь, а вообще слабо представляешь, что делаешь.
Не помню предлагали ли уже пригласить программиста или нет, но это самое правильное решение.


 
Сергей М. ©   (2009-11-06 09:46) [93]


> Andrewtitoff ©   (06.11.09 09:40) [91]


На [86] ответить сподобишься ?


 
Andrewtitoff ©   (2009-11-06 09:55) [94]


> Сергей М. ©   (06.11.09 09:46) [93]
> > Andrewtitoff ©   (06.11.09 09:40) [91]На [86] ответить
> сподобишься ?

Ой, извиняюсь что не пометил, я следующим постом [87] и отвечал на него, в общем я незнаю что это такоее, вот структура таблицы:

Рег.номер Улица Дом Корп Пар Район Участок Бригада Владелец Ведомство Договор ДЭУ ЖСК Здание Изготовитель Дата изготовления Зав № Дата ввода в эксплуатацию Этажей Остановок Грузоподьемность Скорость Тип дверей Расположение МП Вход в МП Шахта размер высота Размер кабины Ограждение кабины Связь Пульт Тип (связи) Тип лифта Единая сх. Упр Схема управл Блок парной работы или гр Редуктор Передаточное число Компоновка Дв-ль гл прив Форма исп. двигателя главного привода Дв-ль привод форма исполнения привода дверей КВШ Кол-во ручьев Блоки/диам Диаметр каната несущего Длина каната несущего Тэл-Магнит Констр пола Контр загр Дата модерн Выполненная модернизация Освидетельствование Дата проведения кап. Ремонта Периодичность кап. Ремонта Дата следующего кап. Ремонта Ктоимость КТО Начало действия договора Конец действия договора Округление (КТО) Кто обслуживаетОбслуживается = 1, нет = 0 ??? Обоснов ра Площадь ??? Противовес Шкаф управл Дата последней экспертизы Номер эксп Кто проводил Действует до (экспертиза) Тип УБЛ Когда установлен УБЛ Продлен срок очередной эксплуатации МК до Дата очередной экспертизы МК История экспертиз ??? Стоимость освидетельствования
REGNUM STREET HOUSE CORP PARNUM REGION PLACE BRIGADE HOLDER BELONG CONTRACT DEU ZSK BUILDING MAKER DATE NUMBER EXPLOAT FLOOR STOP WEIGHT SPEED DOOR LOCATION ENTRANCE MINE SH_SIZE HEIGHT CAB_SIZE FENSE LINK CONTROL LINKTYPE LIFTTYPE COMCIR CIRCUIT BLOCK REDUCTOR TRANSFER SET ENGINE ENGINEFO DRIVE DOORSFOR KVDIAM KVNUM BLOCKDIAM ROPEDIAM ROPELEN BREAKS CONSTRUCT LOADCOUNT RECONSTRUC CHANGE REVISION REPAIRDATE PERIOD NEXTDATE SERVCOST DBEGIN DEND ISROUND SERVERSERVE TESTED OBOSN S2 BALANCE_ID BALANCE PANEL DEXP NUMBERE EWHO EXPIRATIONDATE UBLTYPE UBLWHEN PRODLENOMK NEXTEXP EXPS FERBOTTEN OSVCOST
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 6263 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80


 
Andrewtitoff ©   (2009-11-06 09:58) [95]

Это все поля, которые есть в таблице, табблица называется "LIFT":
REGNUM STREET HOUSE CORP PARNUM REGION PLACE BRIGADE HOLDER BELONG CONTRACT DEU ZSK BUILDING MAKER DATE NUMBER EXPLOAT FLOOR STOP WEIGHT SPEED DOOR LOCATION ENTRANCE MINE SH_SIZE HEIGHT CAB_SIZE FENSE LINK CONTROL LINKTYPE LIFTTYPE COMCIR CIRCUIT BLOCK REDUCTOR TRANSFER SET ENGINE ENGINEFO DRIVE DOORSFOR KVDIAM KVNUM BLOCKDIAM ROPEDIAM ROPELEN BREAKS CONSTRUCT LOADCOUNT RECONSTRUC CHANGE REVISION REPAIRDATE PERIOD NEXTDATE SERVCOST DBEGIN DEND ISROUND SERVERSERVE TESTED OBOSN S2 BALANCE_ID BALANCE PANEL DEXP NUMBERE EWHO EXPIRATIONDATE UBLTYPE UBLWHEN PRODLENOMK NEXTEXP EXPS FERBOTTEN OSVCOST


 
Сергей М. ©   (2009-11-06 10:07) [96]


> Написал вот так:
> Form1.ADOQuery1.SQL.Text := "select distinct field1 from
> lift";


Тогда что такое field1 ?

Никакими "field1" в [95] даже близко не пахнет ..


 
Andrewtitoff ©   (2009-11-06 10:19) [97]


> Сергей М. ©   (06.11.09 10:07) [96]
> > Написал вот так:> Form1.ADOQuery1.SQL.Text := "select
> distinct field1 from > lift";Тогда что такое field1 ?Никакими
> "field1" в [95] даже близко не пахнет ..


Ой, точно, я дебил... =)))


 
Dennis I. Komarov ©   (2009-11-06 10:22) [98]


> Andrewtitoff ©   (06.11.09 09:40) [91]
>
> > Dennis I. Komarov ©   (05.11.09 12:22) [88]
> > > А вообще самое первое поле нулевое у меня ключевое Это
> > как?
>
> В смысле как? ?, ну поле к которому можно обратиться ADOTable4.Fields[0] называется "REGNUM"


И пойми тебя...


 
Andrewtitoff ©   (2009-11-06 10:22) [99]

Да, так, все работает, сейчас скопирую для каждого поля и и отпишусь что получилось по скорости


 
Andrewtitoff ©   (2009-11-06 10:23) [100]

2 Dennis I. Komarov ©
А что я не так сказал?


 
Andrewtitoff ©   (2009-11-06 10:41) [101]

2 Сергей М. ©
А это все дело ни как нельзя в цикл засунуть?


 
Сергей М. ©   (2009-11-06 10:50) [102]


> Andrewtitoff ©   (06.11.09 10:41) [101]


Какое такое "все дело" ?)


 
Andrewtitoff ©   (2009-11-06 10:55) [103]

2 Сергей М. ©
Да, действительно значительно быстрее и вполне приемлимо по скорости получилось! =)))


> Какое такое "все дело" ?)


Ну вот жто дело:

Form1.ADOQuery1.SQL.Text := "select distinct STREET from lift";
Form1.ADOQuery1.Open;
while not Form1.ADOQuery1.Eof do begin
 Form2.DBComboBox1.Items.Add(Form1.ADOQuery1.Fields[0].AsString);
 Form1.ADOQuery1.Next;
end;


60 раз подряд для каждого нужного поля..., как то совсем не гуд...


 
Сергей М. ©   (2009-11-06 11:03) [104]

Ну почему же нельзя ?
Можно и засунуть)


 
clickmaker ©   (2009-11-06 11:06) [105]

> [103] Andrewtitoff ©   (06.11.09 10:55)

подсказка
Form1.ADOQuery1.SQL.Text := Format("select distinct %s from lift", [FieldNames[i]]);


 
Andrewtitoff ©   (2009-11-06 11:06) [106]


> Сергей М. ©   (06.11.09 11:03) [104]
> Ну почему же нельзя ?Можно и засунуть)

ОЙ, а как?, а то чет я ни как не соображу, расскажите пожалуйста!, заранее очень признателен!


 
clickmaker ©   (2009-11-06 11:08) [107]

кстати, есть такая фишка, как множественные рекордсеты.
т.е. в запросе можно написать сразу все селекты, а обращаться к ним одним ADOQuery безо всяких циклов. см. NextRecordset в справке


 
Andrewtitoff ©   (2009-11-06 11:09) [108]


> clickmaker ©   (06.11.09 11:06) [105]
> > [103] Andrewtitoff ©   (06.11.09 10:55)подсказкаForm1.
> ADOQuery1.SQL.Text := Format("select distinct %s from lift",
>  [FieldNames[i]]);


Ну с этим то болеменее все ясно, хотя не совсем ясно как пропустить некоторые поля, мне же не все нужны....

а вот с этим совсем непонятно:
 Form2.DBComboBox1.Items.Add(Form1.ADOQuery1.Fields[0].AsString);
_______^^^^^^^^^__________________

с номером комбовокса то как быть?


 
Сергей М. ©   (2009-11-06 11:13) [109]


> с номером комбовокса то как быть?


Пронумеруй-проинтексируй их тем или иным образом либо создай массив из ссылок на них - тогда к ним можно будет обращаться в цикле.


 
Andrewtitoff ©   (2009-11-06 11:15) [110]


> Сергей М. ©   (06.11.09 11:13) [109]
> > с номером комбовокса то как быть?Пронумеруй-проинтексируй
> их тем или иным образом либо создай массив из ссылок на
> них - тогда к ним можно будет обращаться в цикле.

Они у меня пронумерованы по номеру поля, а поля, нужные, идут не попорядку... =((((

А как в принципе тобращаться то в цикле к таким вещам?, меня этот вопрос давно интересует!


 
Andrewtitoff ©   (2009-11-06 11:17) [111]

А можно как нибудь сделать цикл подряд, с условием что если комбо-бокс с таким номером существует - то заполнять его, а если нет - пропускать?, т.е. что бы просто пустить цикл от 0 до 80?...


 
Andrewtitoff ©   (2009-11-06 11:19) [112]


> Andrewtitoff ©   (06.11.09 11:15) [110]
> > Сергей М. ©   (06.11.09 11:13) [109]> > с номером комбовокса
> то как быть?Пронумеруй-проинтексируй > их тем или иным образом
> либо создай массив из ссылок на > них - тогда к ним можно
> будет обращаться в цикле.Они у меня пронумерованы по номеру
> поля, а поля, нужные, идут не попорядку... =((((А как в
> принципе тобращаться то в цикле к таким вещам?, меня этот
> вопрос давно интересует!

т.е. ComoBox1 заполняется значениями Form1.ADOQuery1.Fields[1].AsString и.т.д. ComoBox N -> ADOQuery1.Fields[N]


 
Сергей М. ©   (2009-11-06 11:26) [113]

Одно из простейших решений:
Помести свои комбобоксы на, например, TPanel, в св-ве Tag каждого укажи индекс соотв.поля в своей таблице.

Тогда

for i := 0 to ComboPanel.ComponentCount - 1 do
 if ComboPanel.Components[i] is TComboBox then
    with TComboBox(ComboPanel.Components[i]) do
    begin
       FieldIndex := Tag;
....
    end;


 
sniknik ©   (2009-11-06 11:35) [114]

> кстати, есть такая фишка, как множественные рекордсеты.
access/jet не поддерживает.


 
Andrewtitoff ©   (2009-11-06 11:53) [115]


> Сергей М. ©   (06.11.09 11:26) [113]
> Одно из простейших решений:Помести свои комбобоксы на, например,
>  TPanel, в св-ве Tag каждого укажи индекс соотв.поля в своей
> таблице.Тогдаfor i := 0 to ComboPanel.ComponentCount - 1
> do   if ComboPanel.Components[i] is TComboBox then     with
> TComboBox(ComboPanel.Components[i]) do      begin      
>  FieldIndex := Tag;....     end;


А почему так ему нравится:
if Form2.Components[i] is TComboBox then
а так не хочеТ:
if Form2.Components[i] is TDBComboBox then
подчеркивает TDBComboBox....


 
Сергей М. ©   (2009-11-06 11:56) [116]


> подчеркивает TDBComboBox


Молча подчеркивает ?)


 
Andrewtitoff ©   (2009-11-06 12:02) [117]

Undeclared identifier: "TDBComboBox"
Сорри, это опять я тупанул, там в юсесах небыло прописано DB...


 
Сергей М. ©   (2009-11-06 12:03) [118]


> опять я тупанул


Что-то подозрительно часто это происходит)


 
Andrewtitoff ©   (2009-11-06 12:40) [119]


> Сергей М. ©   (06.11.09 12:03) [118]
> > опять я тупанулЧто-то подозрительно часто это происходит)

Ну да, бывает, =)))
просто отвлекают часто еще... =)))

А какое свойство отвечает за порядковый номер компонента?, т.е. что-бы без Таг-а обойтись - а так же по Components[i] обращаться?, или так нельзя?


 
Сергей М. ©   (2009-11-06 12:42) [120]


> какое свойство отвечает за порядковый номер компонента?


Компонент не имеет порядкового номера.



Страницы: 1 2 3 4 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.69 MB
Время: 0.016 c
15-1256703324
Омлет
2009-10-28 07:15
2009.12.27
Занимательное программирование :)


15-1256506209
Юрий
2009-10-26 00:30
2009.12.27
С днем рождения ! 26 октября 2009 понедельник


15-1256615376
d@nger
2009-10-27 06:49
2009.12.27
Cisco и модем


15-1256321944
POOP
2009-10-23 22:19
2009.12.27
=> *.eps


15-1256481953
Профессор_младший
2009-10-25 17:45
2009.12.27
Когда перестанут создавать быдло ПО? или глюки Windows 7





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский