powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / DataCombo
3 сообщений из 3, страница 1 из 1
DataCombo
    #32271475
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Существует некий рекордсет, два поля: id и name
как прицепить этот рекордсет к DataCombo, так чтобы пользватель видел в выпадающем списке name, а возвращал id?

я пробовал так:
strSQL = "select * from zReg where cd_view = 1"
If rs.State = 1 Then rs.Close
rs.Open strSQL, frmGL.connection2, adOpenKeyset, adLockOptimistic
Set frmDocView.DataCombo1.DataSource = rs
Set frmDocView.DataCombo1.RowSource = rs
frmDocView.DataCombo1.DataField = rs.Fields(0).Name
frmDocView.DataCombo1.ListField = rs.Fields(1).Name


но когда говорю msgbox rs.fields(0), возвращает код первой записи,
помогите, кто знает
...
Рейтинг: 0 / 0
DataCombo
    #32271503
Ди_ма
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сашулик,а через additem не пробовал?
...
Рейтинг: 0 / 0
DataCombo
    #32271837
Фотография Nrisimha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делаю вот так (все вызывается из класса):

Код: plaintext
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.
'вот сам класс 

Private rsDataCombo() As clsRst
Private DataCombos() As Object ' DataCombo 'Object '
Private intDataCombos As Integer

Private Fld() As Object
Private FldType() As typeCtrl
Private FldCount As Integer
Private FldIsError() As Boolean
Private FldErrorMess() As String
Private FldSourceField() As String
Private FldRset As clsRst 'ссылка на объект Рекордсет


Public Function DbCombo_Load(ByVal idx As Integer, _ номер combo
                             ByVal strId_field As String, _ 'имя ID-поля
                             ByVal strTableSource As String, _ 'имя таблицы
                             ByVal strOrderByField As String, _ 'Имя показывающегося поля
                             ByRef dcbo As Object, _ 'объект датакобмо или даталист
                             Optional ByVal idvalue, _   ' если надо то переменная id по умолчанию
                             Optional strSQL As String) As Integer ' если вместо таблицы используеш запрос


intDataCombos = IIf(idx = 0, intDataCombos + 1, idx)
ReDim Preserve rsDataCombo(intDataCombos)
ReDim Preserve DataCombos(intDataCombos)

'Set DataCombos(intDataCombos) = dcbo
Set DataCombos(intDataCombos) = dcbo

Set rsDataCombo(intDataCombos) = New clsRst
    
rsDataCombo(intDataCombos).s_strID_Field = strId_field
If Not ((strSQL = "")) Then
    Call rsDataCombo(intDataCombos).Rset_Open_R_SQL(strSQL)
Else
    rsDataCombo(intDataCombos).s_strSqlSource = strTableSource
    Call rsDataCombo(intDataCombos).Rset_Open_R(, strOrderByField)
End If
Set dcbo.RowSource = rsDataCombo(intDataCombos).rsRecset
dcbo.ListField = strOrderByField
dcbo.BoundColumn = strId_field
If ((Not (IsMissing(idvalue))) And (Not (IsNull(idvalue)))) Then
     dcbo.Boundtext = (idvalue)
End If
DbCombo_Load = intDataCombos
'dcbo.BoundText = idvalue
End Function
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / DataCombo
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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