Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / DataCombo / 3 сообщений из 3, страница 1 из 1
22.09.2003, 11:51
    #32271475
winsky!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataCombo
Существует некий рекордсет, два поля: 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
22.09.2003, 12:02
    #32271503
Ди_ма
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataCombo
Сашулик,а через additem не пробовал?
...
Рейтинг: 0 / 0
22.09.2003, 15:14
    #32271837
Nrisimha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataCombo
делаю вот так (все вызывается из класса):

Код: 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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / DataCombo / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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