Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Vb и SQL  (Прочитано 14537 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
baranich
Постоялец

ru
Offline Offline

« : 24-10-2005 10:51 » 

Код:
выборкаИзБазыДанных.Source = "EXEC СписокСотрудниковПодразделения " + sНомерПодразделения
    выборкаИзБазыДанных.Open
    indexID = 0
    While Not выборкаИзБазыДанных.EOF
        СтрокаЗаявки = ""
        СтрокаЗаявки = СтрокаЗаявки + выборкаИзБазыДанных.Fields(1)
        IDСотрудника(indexID) = выборкаИзБазыДанных.Fields(0)
        выборкаИзБазыДанных.MoveNext
        Combo2.AddItem СтрокаЗаявки
        indexID = indexID + 1
    Wend
     выборкаИзБазыДанных.Close
Вопрос такой у меня происходит выборка из таблицы в СтрокаЗаявки сохраняется ФИО, а в IDСотрудника(indexID) его номер в таблице, как выбирая из Combo2 сотрудника, мне определить его номер, прога мне выдает первый номер в массиве, а надо номер определенного сотрудника?
Записан
baranich
Постоялец

ru
Offline Offline

« Ответ #1 : 24-10-2005 12:49 » 

подскажите как удалить из combobox.list, один из элементов?
Записан
Alf
Гость
« Ответ #2 : 24-10-2005 13:01 » 

К методу AddItem объекта ComboBox имеется обратный по смыслу - RemoveItem.
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #3 : 24-10-2005 13:02 » 

вероятно так

Код:
strID = Combo2.ItemData(Combo2.ListIndex)

Записан

I Have Nine Lives You Have One Only
THINK!
baranich
Постоялец

ru
Offline Offline

« Ответ #4 : 24-10-2005 13:09 » 

Combo2.RemoveItem ДопПер, где ДопПер  as string
ДопПер="Иван Иваныч", он например 3 в списке,
но мне выдается ошибка, почему?
Записан
Alf
Гость
« Ответ #5 : 24-10-2005 13:28 » new

Combo2.RemoveItem ДопПер, где ДопПер as string
ДопПер="Иван Иваныч", он например 3 в списке,
но мне выдается ошибка, почему?

Потому, что метод RemoveItem имеет следующий синтаксис (цитирую MSDN):

Цитата
RemoveItem Method
     

Removes an item from a ListBox or ComboBox control or a row from an MS Flex Grid control. Doesn't support named arguments.

Syntax

object.RemoveItem index

The RemoveItem method syntax has these parts:

Part Description
object   - Required. Ano bject expression that evaluates to an object in the Applies To list.
index   - Required. Integer representing the position within the object of the item or row to remove. For the first item in a ListBox or ComboBox or for the first row in an MS Flex Grid control, index = 0.


Remarks

A ListBox or ComboBox that is bound to a Data control doesn't support the RemoveItem method.

В качестве параметра следет передать индекс элемента массива строк, который следует удалить, а не сам элемент.

В твоем случае следует вызвать метод таким образом:

Код:
Combo2.RemoveItem 2

(не забывай, что элементы нумеруются с 0)
« Последнее редактирование: 20-12-2007 21:13 от Алексей1153++ » Записан
baranich
Постоялец

ru
Offline Offline

« Ответ #6 : 24-10-2005 13:31 » 

так в том и проблема, я не знаю номер элемента, он может быть и 1, а может быть и 10, что делать тогда?
Записан
Alf
Гость
« Ответ #7 : 24-10-2005 13:34 » 

Поищи его в массиве, не так он и велик. Хотя наверняка есть решение гораздо изящнее, если пересмотреть алгоритм решения всей задачи.
Записан
baranich
Постоялец

ru
Offline Offline

« Ответ #8 : 25-10-2005 05:22 » 

например у меня список
текст1
текст2
........
текст n

Я могу выбрать из списка и текст 1 и текст n-2 и как мне узнать индекс этого элемента, ведь для removeitem нужен именно индекс элемента. Как же мне узнать индекс элемента
Записан
baranich
Постоялец

ru
Offline Offline

« Ответ #9 : 25-10-2005 05:26 » 

т.е когда я выбрала элемент  и нажала на кнопку, то этот элемент должен удалиться из списка
Записан
baranich
Постоялец

ru
Offline Offline

« Ответ #10 : 25-10-2005 06:13 » 

вопрос отменяется, уже разобралась, всем спасибо за помощь
Записан
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #11 : 25-10-2005 06:20 » 

никогда не работала в VB, но общие принципы устройства контролов ComboBox и ListBox подсказывают, что у ComboBox должно быть свойство Selected(nIndex), которое и принимает истинное значение для nIndex равного индексу выбранного элемента.
т.е. надо в цикле менять значения nIndex от 1 до количества элементов прверять свойство Selected на истинность.
Записан

Славная трава...
Alf
Гость
« Ответ #12 : 25-10-2005 06:31 » 

Раз уж программа работает с базой данных, сам бог велел использовать возможности контрола ComboBox по работе с источниками данных ADO. Это, в частности, позволяет отображать в выпадающем списке текст поля, а получать в результате ключ для выбранной записи.

Не знаю сути задачи, поскольку вижу только маленькие ее кусочки в вопросах. Но со стороны похоже, что ее решение искусственно усложнено. Вроде бы простые действия делаются, а при этом все довольно запутанно. Я бы советовал пересмотреть сначала решение в целом, а уже потом шлифовать детали.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines