Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Нужен пример формы логона к БД из Excel / 23 сообщений из 23, страница 1 из 1
13.07.2009, 17:24:28
    #36087444
erny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
Нужен пример формы логона к БД из Excel.
Может кто сооружал. И как из нее передать параметры в процедуры, которые находится в других модулях, не сохраняя значение пароля в ячейках?
...
Рейтинг: 0 / 0
14.07.2009, 08:02:31
    #36088057
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
поконкретнее можно?

если с "налёта", то возможно использование "внешних данных"
или же использовать обячное ADO

I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
14.07.2009, 11:20:59
    #36088422
erny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
база внешняя Oracle.
Из Екселя нужно чтоб пользователь вводил имя пароль и название БД, могут конектится разные пользователи, и к разным БД.
В ячейках хранить пароль наверно неправельно, значить нужна форма, куда пользователь вводит имя пользователя, пароль, имя БД.
Имя пользователя и имя БД должны сохранятся и быть возможны для выбора при следующем сеансе.
Пароль соответственно недоступен к просмотру, или отображался *****
Так как запросы и процедуры выполняются в разных модулях и кодах листов, нужно чтоб при их выполнение можна было обратится к переменным имени и пародя.
...
Рейтинг: 0 / 0
14.07.2009, 13:54:09
    #36088877
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
к примеру так
хранить настройки: сервер и БД, в реестре (SaveSetting, GetSetting)
на макрос открытия книги, либо на какое-то событие или Hot-key запрашивать пароль (можно даже использовать InputBox), формировать строку подключения и открывать соединение к серверу


можно использовать стандартный контрол
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Dim cn As New ADODB.Connection
    Dim oDataLink As New MSDASC.DataLinks
    
    GetSetting ...
    
    oDataLink.PromptEdit cn
    cn.Open
    
    ...
    
    Set oDataLink = Nothing
    Set cn = Nothing

пробуйте
I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
14.07.2009, 17:37:37
    #36089561
erny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
Вот он мне и нужен - стандартный контрол, а как его можно получить?
...
Рейтинг: 0 / 0
14.07.2009, 18:34:22
    #36089680
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
подключается через refrence
Microsoft OLE DB Sevice Component 1.0 Type Library
(oledb32.dll)

как работать видно из кода (oDataLink)


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
14.07.2009, 18:42:06
    #36089691
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
ernyВот он мне и нужен - стандартный контрол, а как его можно получить?
Пара ссылок из Google :
How To Invoke the OLE DB Data Link Properties Dialog Box in Visual Basic Code
Динамическое создание строки связи с помощью OLE DB Data Link из программ на VB6
...
Рейтинг: 0 / 0
14.07.2009, 19:00:32
    #36089727
erny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
Спасибо друг, второй день ищу, ничего ненахожу, наверно нето ищу....
А случаем незнаеш у OO4O есть такой контрол?
...
Рейтинг: 0 / 0
14.07.2009, 19:24:17
    #36089760
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
C OO4O не игрался, как и с Ораклом вообще, но подозреваю, что после его установки поставщик данных этого драйвера попадет в список указанного DataLinks контрола - см. вкладку "Поставщик данных", там кстати должен быть и Microsoft OLE DB Provider for Oracle
...
Рейтинг: 0 / 0
14.07.2009, 21:11:23
    #36089914
LeCrunch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
...
Рейтинг: 0 / 0
15.07.2009, 11:44:59
    #36090762
erny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
2 LeCrunch
нет проблемы со строкой соединения, есть проблемы как вызвать окно в которое пользователь бы вводил имя пароль и БД.
пример
Код: 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.
Sub RunSQL_2_Name_Shop()
Dim OraSession As Object
Dim OraDatabase As Object
Dim StrSQL As String
Dim OraDynaset As Object
Dim ns As Object
Dim i, j As Long

Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase("БД", "юзер/пассв",  0 &)
StrSQL = "SELECT code_shop,name_shop FROM mz.v_box_shop"
Set OraDynaset = OraDatabase.CreateDynaset(StrSQL,  0 &)
Set ns = Sheets("index").ComboBox_ns
ns.Clear
j = OraDynaset.RecordCount
  OraDynaset.MoveFirst
  For i =  0  To j -  1 
ns.AddItem OraDynaset.Fields("name_shop")
ns.List(i,  0 ) = OraDynaset.Fields("name_shop")
ns.List(i,  1 ) = OraDynaset.Fields("code_shop")
    OraDynaset.MoveNext
  Next
Set OraDynaset = Nothing
CloseOracle
End Sub
2 ZVI HandKot
для ADODB супер работает -спасибо
но к ОО4О я ее так и не смог применить

Вотк ак зделать чтоб в строке
Код: plaintext
1.
Set OraDatabase = OraSession.OpenDatabase("БД", "юзер/пассв",  0 &)
не статично задавать "БД", "юзер/пассв"
а пользователь бы их вводил
И учитывая то что селектов у меня много в книге хотелось бы чтоб в любой момент можно было бы обратиться и получить значения "БД", "юзер/пассв"
...
Рейтинг: 0 / 0
15.07.2009, 13:53:27
    #36091159
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
erny Вотк ак зделать чтоб в строке

Set OraDatabase = OraSession.OpenDatabase("БД", "юзер/пассв", 0&)

не статично задавать "БД", "юзер/пассв"
а пользователь бы их вводил
И учитывая то что селектов у меня много в книге хотелось бы чтоб в любой момент можно было бы обратиться и получить значения "БД", "юзер/пассв"

нарисовать свою формочку с тремя текстбоксами, для базы, логина и пароля?
минус - нельзя получить список существующих БД на сервере, но вероятно, если список постоянный, то самому забить их в Комбобокс


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
15.07.2009, 18:14:03
    #36091941
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
HandKotнарисовать свою формочку с тремя текстбоксами, для базы, логина и пароля?
минус - нельзя получить список существующих БД на сервере, но вероятно, если список постоянный, то самому забить их в Комбобоксну почему-же "нельзя"? Все можно если очень хочется. Выбирай:
- подключиться к серверу два раза. Первый раз юзером у которого нету вообще никаких прав на сервере кроме одного - запускать хранимую процедуру из master которая выдавала бы список баз. Потом разлогиниваешься и открываешь форму для логина нормального юзера.
- На форму логина вешаешь обработчик который проверяет что если в поле логина и пароля уже что-то есть а фокус только что вышел из этих двух полей - пытаемся подключиться к серверу не дожидаясь кнопки Ok, загружаем и показываем список баз, принудительно перекидываем фокус в список баз.
- показывать список баз на второй странице диалога логина.

Но с другой стороны, кому надо смотреть на список баз вообще? Только разработчику. А простой юзер всегда живет только в одной базе.
...
Рейтинг: 0 / 0
16.07.2009, 08:38:34
    #36092437
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
авторНо с другой стороны, кому надо смотреть на список баз вообще? Только разработчику. А простой юзер всегда живет только в одной базе.
не факт.
1) во многих системах пользователю нужно работать с разными БД.
К примеру, если базу делят по годам, т.е есть оперативная база и есть архивные базы
Но в таких случаях список баз всегда постоянный

2) разные пользователи работают с разными БД
К примеру, у каждого департамента своя БД
И в этом случае список баз всегда постоянный

Так что скорее всего можно обойтись без "левого" логина для определения списка баз на сервере, используя фиксированный список.
Или же сделать так, сначала пользователь вводит логин и пароль и когда открывает список баз, то по этому событию создаётся подключение и вытягивается список баз.
В принципе так и сделано и Microsoft в диалоге подключения

I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
16.07.2009, 10:18:01
    #36092613
erny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
народ, это все понятно, можно конечно написать форму, и с пользователем, и в инишке можно хранить данные о базах и пользователях.
Но есть же компонентах оракловых для делфи такие формы, как то неверится что для VBA такого нет.
Я правда всю документашку перечитал, может просмотрел. Все равно кажется должен быть уже написанный вариант, неужеле все вписывают в коде имя и пароль.
...
Рейтинг: 0 / 0
16.07.2009, 10:31:08
    #36092661
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
имя и пароль никто в коде не прописывает. данные получают программно с сервера
...
Рейтинг: 0 / 0
16.07.2009, 11:11:36
    #36092780
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
ernyНо есть же компонентах оракловых для делфи такие формы, как то неверится что для VBA такого нет.
Я правда всю документашку перечитал
А что? В документации к делфи что-то написано про такие формы?
Напишите свою программу с использованием обычной формы со стандартными контролами - и у вас на VBA такое будет. Или ищите в Интернете. Может, кто-нибудь уже написал.
При чем тут документация?
...
Рейтинг: 0 / 0
16.07.2009, 13:52:42
    #36093389
erny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
2 F
В документации к компонентам для работы с базами для делфи.
В документации к OO4O все примеры строки конекта содержат напрямую пароль и имя пользователя.
Нет никаких намеков про ввода пароля через формы, только через прописание в коде.
Я понимаю что это примеры и я могу поступать по другому, но это примеры от Oracle.
аля
Код: plaintext
1.
Set OraDatabase = OraSession.DbOpenDatabase("SQL*Net_Connect_String", "scott/tiger",  0 &)
...
Рейтинг: 0 / 0
16.07.2009, 14:00:39
    #36093419
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
логин и пароль необходимы для того, чтобы доступ к определенной части информации получил только тот человек, у которого есть доступ к этой инфе. Если прописать логин и пароль в компонентах или коде, то доступ к инфе получат все, кто получит доступ к компу, с которого осуществляется коннект.
в этом случае, какой смысл в пароле? разграничить доступ к компу и все
...
Рейтинг: 0 / 0
16.07.2009, 18:12:33
    #36094188
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
ernyНет никаких намеков про ввода пароля через формы, только через прописание в коде.Ты что, формы не можешь в Экселе найти? Делай:
1) Запускаем Эксель
2) Жмем Alt+F11
3) В главном меню VBA выбираем Insert->User Form
4) Рисуем диалог с двумя полями и двумя кнопками.
Все.
...
Рейтинг: 0 / 0
17.07.2009, 10:04:51
    #36094858
erny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
White Owl Ты что, формы не можешь в Экселе найти? Делай:
Почему немогу, все давно в проэкте.
Только у меня такое впечатление что еть компонент(контрол), который можно использовать.
Незнаю может я неправ, ИМХО: должен быть.
...
Рейтинг: 0 / 0
17.07.2009, 10:11:03
    #36094880
erny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
ОК, как можно в VBA получить пасв и имя используя ADODB для их заполнения
Код: plaintext
1.
oDataLink.PromptEdit cn
и установить провайдер для PromptEdit в процедуре, так как тот что по умолчанию, меня неустраивает.
...
Рейтинг: 0 / 0
17.07.2009, 14:01:17
    #36095643
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример формы логона к БД из Excel
очень просто
авторОК, как можно в VBA получить пасв и имя используя ADODB для их заполнения

oDataLink.PromptEdit cn

и установить провайдер для PromptEdit в процедуре, так как тот что по умолчанию, меня неустраивает.

Код: plaintext
1.
2.
    cn.Properties("Persist Security Info") = True
    cn.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;"
    odatalink.PromptEdit cn

после odatalink.PromptEdit получите пользователя и пароль через св-ва

Код: plaintext
1.
cn.Properties("User ID").Value
cn.Properties("Password").Value

ЗЫЖ всё-таки этот контрол вместо OraOLEDB.Oracle подставил своего MSDASQL.1
но что можно взять от них ;)

I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Нужен пример формы логона к БД из Excel / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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