Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Переход на нужную запись / 14 сообщений из 14, страница 1 из 1
01.08.2010, 11:18
    #36769913
Alebronn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
Есть на фроме combobox текстовые поля и элемент data
Код заполнения combobox:

Private Sub Form_Load()
Dim a As String
Dim k As Integer
k = 0
Data1.Refresh
If Not Data1.Recordset.EOF Then
Data1.Recordset.MoveFirst
Do Until Data1.Recordset.EOF
a = Data1.Recordset.Fields("name").Value
Combo1.AddItem (a)
Data1.Recordset.MoveNext
k = k + 1
Loop
End If

End Sub

Как теперь сделать чтоб при выборе в комбобоксе нужной записи изменялись данные и в тесктбоксах?
...
Рейтинг: 0 / 0
01.08.2010, 11:23
    #36769914
qwerty112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
AlebronnЕсть на фроме combobox текстовые поля и элемент data
Код заполнения combobox:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub Form_Load()
Dim a As String
Dim k As Integer
k =  0 
Data1.Refresh
If Not Data1.Recordset.EOF Then
   Data1.Recordset.MoveFirst
    Do Until Data1.Recordset.EOF
        a = Data1.Recordset.Fields("name").Value
        Combo1.AddItem (a)
        Data1.Recordset.MoveNext
        k = k +  1 
    Loop
End If

End Sub
Как теперь сделать чтоб при выборе в комбобоксе нужной записи изменялись данные и в тесктбоксах?

Alebronn,

скажите (мне так - чисто для себя),
а какой сакральный смысл несёт переменная k ?
...
Рейтинг: 0 / 0
01.08.2010, 11:35
    #36769917
Alebronn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
Извиняюсь просто мусор лишний забыл убрать :))
...
Рейтинг: 0 / 0
01.08.2010, 11:56
    #36769925
kiv-1980
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub Combo1_Click()
   
   Me.MousePointer =  11 
   Text1.Text = Combo1.Text
   .....
   Me.MousePointer =  1 

End Sub
И на основании выбранного значения в комбобоксе, меняете данные в нужных текстбоксах.
...
Рейтинг: 0 / 0
01.08.2010, 12:24
    #36769930
Alebronn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
Да нет вы меня не поняли, Я имею ввиду чтоб данные в тексбоксах менялись в соответствии с выбраными данными.... То есть например текстбокс1 выводит номер текстбокс2 имя ит т.д. При перемещении по базе данные изменяются. Так вот нужно чтоб например я выбрал в комбобоксе определённую запись а в текстбоксе вывелся номер и имя соостветствующие этой записи.То есть чтоб данные изменялись как при перемещении по базе при помощи элемента Data.
...
Рейтинг: 0 / 0
01.08.2010, 14:00
    #36769983
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
Alebronn,
тогда этого недостаточно
Код: plaintext
1.
Combo1.AddItem (a)
если хотите чтобы id который в базе выходил в текстбокс
нужно сделать так
Код: plaintext
1.
2.
3.
4.
a = rs.Fields("id").Value
b = rs.Fields("name").Value
Combo1.AddItem b
Combo1.ItemData(Combo1.NewIndex) = a
и далее так
Код: plaintext
1.
2.
Text1.Text = Combo1.Text
Text2.Text=Combo1.ItemData(Combo1.ListIndex)
...
Рейтинг: 0 / 0
01.08.2010, 14:47
    #36770029
Alebronn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
Блин...Не то.. Наверное я по неопытности неправильно задаю вопрос... Объясню по другому.
Есть база скажем описпние техники, в ней указано к примеру скорость, вес, тип, название... При помощи кнопок вперёд назад я могу перемещаться по базе и в текстбоксах меняются данные. В комбобоксе из базы выводятся названия техники из колонки name. Так вот нада чтоб я выбрал в комбобоксе что либо и в текстовых полях обновились данные выбранного пункта. То есть как мне переключить data1.recodset.ляляля ... Ну как будто я дошёл до этих данных путём перехода по базе при помощи кнопки Next. Фууууу думаю я понятно объяснил. Ну слаб я простите.
Заранее спасибо за терпеливость.
Да и кстати к базе я подключился через элемент Data.
Пока вот что получилось:

Option Explicit


Private Sub Form_Load()
Dim a As String

Data1.Refresh
If Not Data1.Recordset.EOF Then
Data1.Recordset.MoveFirst
Do Until Data1.Recordset.EOF
a = Data1.Recordset.Fields("name").Value
Combo1.AddItem (a)
Data1.Recordset.MoveNext

Loop
End If

End Sub

Private Sub cmdExit_Click()
End
End Sub

Private Sub Command1_Click()
With Data1.Recordset
.MoveNext
If .EOF Then .MoveLast
End With
End Sub

Private Sub Command2_Click()
With Data1.Recordset
.MovePrevious
If .BOF Then .MoveFirst

End With
End Sub
...
Рейтинг: 0 / 0
01.08.2010, 16:01
    #36770074
kiv-1980
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
Alebronn ,

Не знаю, что Вы от нас хотите, но я реализовывал, по указанному мною сценарию. Т.е. в комбобокс загружаю данные, скажем Фамилии сотрудников, при выборе фамилии, меняются его анкетные данные текстбоксах, которые собственно можно просматривать и корректировать. Естествено все это, сопровождается нужными запросами и апдейтами в БД.
...
Рейтинг: 0 / 0
01.08.2010, 16:33
    #36770093
Alebronn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
Так у меня тлько пока 2 тектбокса (для тестирования) а вообще предполагается штук 20, это что их все в переменные загонять? Может есть вариант чтоб просто по выбраному имени изменить данные в data и обновить как это делается кнопками перехода вперёд-назад. Чтоб в текстбоксах всё обновилось.
...
Рейтинг: 0 / 0
01.08.2010, 18:39
    #36770172
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
Alebronn,
как то у вас непонятно используются EOF и BOF
если начало двигаемся к первой записи?
Код: plaintext
1.
2.
3.
With Data1.Recordset
.MovePrevious
If .BOF Then .MoveFirst
если конец двигаемся еще дальше?
Код: plaintext
1.
2.
3.
4.
With Data1.Recordset
.MoveNext
If .EOF Then .MoveLast
End With
насколько я понял вы хотите чтобы когда используете код который выше то значения менялись и в комбо и текстбоксах , правильно? или вы хотите заранее всю таблицу загрузить в комбо и дальше через него работать? если так то легче через массив делать это
...
Рейтинг: 0 / 0
01.08.2010, 18:54
    #36770180
может это ?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
Alebronn
Так вот нада чтоб я выбрал в комбобоксе что либо и в текстовых полях обновились данные выбранного пункта. То есть как мне переключить data1.recodset.ляляля ... Ну как будто я дошёл до этих данных путём перехода по базе при помощи кнопки Next.
Код: plaintext
data1.recodset.Find "name = '" & Combo1.Text & "'"
...
Рейтинг: 0 / 0
01.08.2010, 19:41
    #36770198
Alebronn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
ООО вот это уже то. Только чтото я его нориально вставить не могу пробую вставлять в событие комбобокса - shange, но при попытке выбрать что то пишет "method or data member not found" именно на строке -
Код: plaintext
data1.recodset.Find "name = '" & Combo1.Text & "'"
...
Рейтинг: 0 / 0
01.08.2010, 19:54
    #36770210
Alebronn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
У data нет свойства find есть findnext, поменял теперь ругается :Object doesn't support this property or method... Рою дальше
...
Рейтинг: 0 / 0
01.08.2010, 22:44
    #36770301
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переход на нужную запись
AlebronnУ data нет свойства find есть findnext
Используйте тогда уже ADO Data Control - он обладает бОльшими возможностями и использует более современную технологию ADO для доступа к данным. Примеров для ADO вы тоже тут больше найдете.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Переход на нужную запись / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]