Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Dbcombo1 / 17 сообщений из 17, страница 1 из 1
10.05.2004, 08:19
    #32511878
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
Sdelal kak sowetowali. Ne poluchaetsya.
Dohodit do stroki " Set DBCombo1.RowSource = ado" i wydaet soobshenie

Run-Time Error 91
Object variable or with block variable not set.


Private Sub Form_Load()
Dim ado As ADODB.Recordset
Dim db As ADODB.Connection
Set db = New ADODB.Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDASQL;dsn=p;uid=;pwd=;"
Set ado = New ADODB.Recordset
ado.Open "select imya from Polzowateli", db, adOpenStatic, adLockOptimistic
Set DBCombo1.RowSource = ado
DBCombo1.ListField = "imya"
End Sub
...
Рейтинг: 0 / 0
10.05.2004, 16:29
    #32512136
МаксимВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
Проверь свойство Name у объекта DataCombo. По товоему коду оно должно быть: DBCombo1
Т.к. при создании в дизайнере VB присваивает объекту имя DataCombo1.
У себя твой код(как он есть) проверил - все работает.
...
Рейтинг: 0 / 0
10.05.2004, 16:49
    #32512147
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
Prawilno napisano u menya Name=Dbcombo1
...
Рейтинг: 0 / 0
10.05.2004, 16:54
    #32512151
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
RowSource Property

Sets a value that specifies the Data control from which the DataList and DataCombo controls' list is filled. Not available at run time.

Не понимаю как он мог работать. Для DataCombo роусорсом нужен контрол DAta установленный в дизайне.

Тут уж надо определится. Или делать ВСЕ руками, а значит не использовать дб контролы совсем. Т.е. без биндинга. Или же использовать, но тогда делать как надо, т.е. все биндить в дизайне.


Magnus
...
Рейтинг: 0 / 0
10.05.2004, 17:12
    #32512169
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
Sam chto delat. Chto posowetuete
...
Рейтинг: 0 / 0
10.05.2004, 17:20
    #32512175
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
Что делать?
В зависимости от задачи конечо. Что нужно то?

И пожалкуйста, пиши на расском, транслит читать очень тяжело. У меня тоже нет русской клавы, я использую фонетическую - линк под кнопкой отправки.

Magnus
...
Рейтинг: 0 / 0
10.05.2004, 17:27
    #32512179
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
Я хочу из одной таблицы базы данных выбрать одно поля.Там находится
пользователи. В общем я хочу чтобы для каждого пользователя был свой
пароль. Потом сверит эти данные и войти в программу.
...
Рейтинг: 0 / 0
10.05.2004, 17:52
    #32512194
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
Способов это сделать множество. Например, можно взятэ введенный логин и пассворд и идти с ними в базу проверять наличие.

Rs.open "Select * from users where login='" & txtlogin & "' and password='" & txtPassword & "'"

Если Recordcount 0 то ввод неверен.
Можно заполнить логинами комбо

Dim rs As ADODB.Recordset

Dim i As Integer
dim count as Integer

set rs= New ADODB.Recordset

rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.Open "select login from users", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\IPQ\Catalogo\IPQcatnorm.mdb"

count=rs.RecordCount - 1
For i = 0 To count
If rs!Titulo_pt <> Null Then
Combo1.AddItem rs!Login
Combo1.ItemData(Combo1.NewIndex) = rs.AbsolutePosition
End If
rs.MoveNext
Next

и затем проверять только соответствие введенного пароля.

Magnus
...
Рейтинг: 0 / 0
10.05.2004, 19:14
    #32512269
МаксимВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
авторНе понимаю как он мог работать.
У меня его код в первом топике работает. DataCombo в дизайнере на форму положил, создал БД с одной таблицей(Polzowateli) с одним полем(imya). Добавил в ODBC источник данных "p". Взял его код, ни чего не меняя. Все работает.
...
Рейтинг: 0 / 0
10.05.2004, 21:15
    #32512297
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
Хм. У меня нет. И собственно так и должно быть, судя по МСДН. Чего то я тут не понимаю. НУ да ладно.

Magnus
...
Рейтинг: 0 / 0
10.05.2004, 22:21
    #32512325
МаксимВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
Может стоит установить SP4, SP5, SP6?

В Readme к SP4.
Q251225: The EditMode property of an ADO Recordset was not set properly when bound to a DataCombo control.
Q257694: Changing the RowSource property on a DataCombo or DataSource control caused an incorrect reference in the BoundColumn property.

А в MSDN написано так:

ListField Property


Returns or sets the name of the field in the Recordset object, specified by the RowSource property, used to fill the DataCombo or DataList control's list portion.

Syntax

object.ListField [= value]

The ListField property syntax has these parts:

Part Description
object Anobject expression that evaluates to an object in the Applies To list.
value Astring expression that specifies the name of a field in the Recordset specified by the RowSource property.


Remarks

The ListField property enables you to select which field in the Recordset is used to fill the list portion of the control. This property is used in conjunction with the RowSource property that specifies which Data control is used to create the Recordset used to fill the list.

Generally, you use two Recordset objects with the data-aware list controls. One Recordset contains a read-only list of valid selections, while the other Recordset is updated with selections from the list. For example, the DataList control could be generated from a query that returned a list of valid part numbers and their descriptions. The ListField property would point to the description field of the Recordset, so that the user doesn't see the actual part numbers. The BoundColumn property would point to the part number field, as this is what needs to be updated in the Recordset.

If the field specified by the ListField property can't be found in the Recordset, a trappable error occurs.

Data Type

String

Почему у меня работает? Может я чего-то не понимаю?
...
Рейтинг: 0 / 0
10.05.2004, 22:28
    #32512329
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
у меня SP5 на данный момент. Шестой пока не ставил.
Ты привел описание ListField , но с ним то как раз все ок. ошибка выпадает при попытке установить Rowsource на рекордсет.

Magnus
...
Рейтинг: 0 / 0
10.05.2004, 23:00
    #32512341
МаксимВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
У меня SP6(ссылку на форуме брал).
Прочитал в MSDN про RowSource Property - ты прав, написано, что свойство RowSource для DataCombo или DataList определяется только в дизайнере.
Тогда почему у меня работает? Я в дизайнере только DataCombo создал. Аномалия какая-то!

Я в VB не силен изучаю с нового года(но прогресс есть), почему у меня работает не могу понять.
...
Рейтинг: 0 / 0
10.05.2004, 23:22
    #32512352
МаксимВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
Я понял причину.
Разные контролы.
1. Microsoft Data Bound List Control 6.0 (SP6) - ошибка на строке Set DBCombo1.RowSource = ado
2. Microsoft DataList Control 6.0 (SP3) (OLEDB) - работает без ошибки.
...
Рейтинг: 0 / 0
10.05.2004, 23:55
    #32512358
(c)VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
2 Magnus23
Код: plaintext
If rs!Titulo_pt <> Null Then
- не думаю , что это будет работать.
правильнее
Код: plaintext
if not isnull(rs!Titulo_pt) then
...
Рейтинг: 0 / 0
11.05.2004, 00:21
    #32512365
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
2 (c)VIG
Да конечно, все меня рассеянность подводит. Накидал по-быстрому. В мозгах еще крутились имена полей из своего кода и я одно из них туда почему-то всунул :)
Уже почти традицией стало что ты меня везде поправляешь :)


2 МаксимВ
Так лист и комбо все-таки разные контролы. Вообщем разобрались.


Magnus
...
Рейтинг: 0 / 0
11.05.2004, 09:45
    #32512598
МаксимВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dbcombo1
авторТак лист и комбо все-таки разные контролы.
Я по поводу своего предыдущего топика. Не так выразился. Я использовал контрол DataCombo, только не из той библиотеки.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Dbcombo1 / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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