powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Господа, помогите с Excel - ADO - DBF
5 сообщений из 5, страница 1 из 1
Господа, помогите с Excel - ADO - DBF
    #32132004
zaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
zaa
Гость
Задача:
Пользователь должен занести в ячейку Excel название товара, причем из справочника, который представляет собой dbf файл, содержащий более 100тыс наименований.
Потратив пару дней на чтение я понял , что ключевые слова здесь будут ADO, ADO Data List и ADO Data Combo Box, но почему то нет таких контролов у меня в Excel -VBA.
Может кто-н указать куда мне двигаться, какой контрол использовать? Может есть пример?
Извините, если вопрос наивный, я вообще администратор ЛВС, просто жизнь заставляет с этим разобраться.
С ув. Жданов Артем
...
Рейтинг: 0 / 0
Господа, помогите с Excel - ADO - DBF
    #32132117
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык ссылку нужно сделать на эту библиотеку: запускаем Excel, далее Alt+F11, далее F2, затем в Tools -> References выбираем Microsoft ActiveX Data Objects 2.x Library. Ну а потом самое интересное :) начнется
...
Рейтинг: 0 / 0
Господа, помогите с Excel - ADO - DBF
    #32132490
zaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
zaa
Гость
Да ссылку на Microsoft ActiveX Data Object 2.5 Library я сделал!
Насколько я понимаю теперь я должен добавить ADO data control на toolbox и типа дело пошло - вставляю его в формы и все такое. Но где же все эти объекты есть? Где этот ADODC control, который так часто упоминается в статьях? в меню Tools-> Aditional Controls ни чего подобного нет.
НЕ ПОНИМАЮ!
...
Рейтинг: 0 / 0
Господа, помогите с Excel - ADO - DBF
    #32133076
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в панели инструментов кликнуть на кнопку "Другие элементы", то там можно найти Microsoft ADO Data Control 6.0 (SP4) - по крайней мере у меня так, но суть не в этом. Он тебе вообще не нужен. Я на лист добавил комбо-поле и кнопку и в редакторе VBA для этого листа состряпал:

Option Explicit

Public cnnDb As New ADODB.Connection

Private Sub cmdFill_Click()

Dim rstA As New ADODB.Recordset

rstA.CursorLocation = adUseClient
rstA.CursorType = adOpenKeyset
rstA.LockType = adLockOptimistic

Dim strSQL As String

strSQL = "SELECT DISTINCT NAIM FROM SP_POST.DBF"
rstA.Open strSQL, cnnDb

Do Until rstA.EOF
If Not IsNull(rstA![NAIM]) Then
cboTest.AddItem rstA![NAIM]
End If
rstA.MoveNext
Loop


End Sub

Private Sub cmdLink_Click()
cnnDb.Open "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=C:\Base\fin\DosFin"
End Sub

В итоге комбо-поле заполнилось записями из справочника. Ну а далее - все в твоих руках. Естесно, нужно немного знать объектную модель экселя.
...
Рейтинг: 0 / 0
Господа, помогите с Excel - ADO - DBF
    #32137502
zaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
zaa
Гость
>> Я на лист добавил комбо-поле и кнопку и в редакторе VBA для этого листа....
Ну можно было бы и так, если в dbf файле 100 записей, а если более 100тыс наименований, то ни чего хорошего не получится. С помощью этого контрола ведь не просто просматривается dbf файл, а для каждой записи делается СоmboBox.AddItem, то есть насколько я понимаю данные из dbf файла дублируются в какую-то внутреннюю структуру объекта, а это ой как долго и при большом количестве записей просто вывалится по ошибке.

Так что без Microsoft ADO Data Control похоже не обойтись.
Я скачал с http://activex.microsoft.com/controls/vb6/MSADODC.CAB
там msadodc.inf и msadodc.ocx
Далее запускаю regsvr32 msadodc.ocx, потом добавил adodc в Toolbox, но при попытке создать этот объект на UserForm получаю сообщение:
Control could not be created because it is not properly lisenced

В чем нафиг дело? Помогите! У кого-нибудь в ms office 2000 есть эти ...... объекты?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Господа, помогите с Excel - ADO - DBF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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