Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как открыть таблицу access с паролем в vb, ? 
:(
    Опции темы
ArtNeoX
Дата 16.1.2006, 05:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



Вот код на открытие незапароленой таблицы

Код

Private Sub Form_Load()
  Dim db As Connection
  Set db = New Connection
  db.CursorLocation = adUseClient
  db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=Files\Base.mdb;"
  Set adoPrimaryRS = New Recordset
  adoPrimaryRS.Open "select X01,X02,X03,X04,X05,X06,X07,X08,X09,X10 from Таблица1", db, adOpenStatic, adLockOptimistic
  Set grdDataGrid.DataSource = adoPrimaryRS
  Set adoRecordset = adoPrimaryRS
  mbDataChanged = False
End Sub


а если при создании таблицы в access поставлен пароль, то что нужно дописать в этом коде.
PM MAIL   Вверх
Flotskiy
Дата 16.1.2006, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



ArtNeoX
Был на форуме такой вопрос, поищи
Всего
--------------------
FlotskiySk k
PM MAIL   Вверх
Akina
Дата 16.1.2006, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата
connectString represents a string that includes information for connecting to the outside data source. This parameter is optional if an ODBC connection is already established between the local server and the outside data source. The connectString parameter can take these forms:
datasource;user id;password
which lists specific connection attributes.

-or-

provider string, which is a single string of named attributes with values for creating the connection, similar to the string used in a .dsn file.



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
ArtNeoX
Дата 21.1.2006, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



что тут надо дописать чтобы открылась запароленая база?

Код

Private Sub Form_Load()
' открытие не запароленой базы
Data1.DatabaseName = "Files/Base.mdb" 'Ищем базу в той же директории где и сама прога
' Загрузка данных из базы ACCESS в карточку
Data1.RecordSource = "Таблица1" 'Имя таблицы,для доступа к ней
Text1.DataField = "X01" 'В Text1 из Поле1 будет загружаться текст
Text2.DataField = "X02"
Text3.DataField = "X03"
Text4.DataField = "X04"
Text5.DataField = "X05"
Text6.DataField = "X06"
End Sub



Это сообщение отредактировал(а) ArtNeoX - 21.1.2006, 00:32
PM MAIL   Вверх
ArtNeoX
Дата 24.1.2006, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



Ну что подскажет кто?
PM MAIL   Вверх
cardinal
Дата 24.1.2006, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Я вот так делал:
Код

...
Public mdb As dao.Database               'база данных
...

Код

Dim pwd As String
Dim strConnect As String
pwd = "bla-bla"
...
strConnect = ";database=" & App.Path & "\db23.mdb" & ";PWD=" & pwd & ""  'data access with password
Set mdb = OpenDatabase("", True, False, strConnect)
...



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
ArtNeoX
Дата 25.1.2006, 04:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



Открыть то она открывает, а вот сохранение введенных данных невозможно

Код

' Сохранение
Data1.UpdateRecord
Data1.Recordset.Bookmark = Data1.Recordset.LastModified


выдает ошибку
Run-time error '524'
No current record.

должна быть строка определяющая Data1 имя базы данных и ее название.
Data1.DatabaseName = "Files/Base.mdb"
если эту строчку оставить пишет Couldn't use 'Имя базы'; file already in use

и если попытаемся сохраниться выдаст ошибку
Run-time error '91'
Object variable or With block varible not set

PM MAIL   Вверх
kulibin
Дата 30.1.2006, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 9.5.2005
Где: Украина, Запорожь е

Репутация: 2
Всего: 3



Не знаю как в дао - а в адо для БД аксес в строке подключения не password надо а database password - точно не помню добуквенно синтаксиса - что-то такое. там тоже наверное как-то так.
PM MAIL WWW ICQ   Вверх
Exception
Дата 31.1.2006, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



Цитата(ArtNeoX @ 25.1.2006, 05:53 Найти цитируемый пост)
выдает ошибку
Run-time error '524'
No current record.

На английский переводить не хочем smile ?
Нет текущей записи. А вообще, убери
Код

Data1.Recordset.Bookmark = Data1.Recordset.LastModified

и поставь
Код

Data1.Recordset.MoveLast

PM   Вверх
ArtNeoX
Дата 1.2.2006, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



все равно ошибка.
PM MAIL   Вверх
Exception
Дата 1.2.2006, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



Значит, у тебя нет записей в БД.
PM   Вверх
ArtNeoX
Дата 1.2.2006, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



программа ее просто не открывает
PM MAIL   Вверх
ArtNeoX
Дата 1.2.2006, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет




База данных состоит из двух частей.
1. Форма на которой расположено очень много TextBox для ввода определенных данных.
Имеется элемент Data для соединения с созданной базой данных, соответственно информация из TextBox добавляется в базу Access и загружается в них из базы данных

код для формы

Код

' открытие не запароленой базы
Data1.DatabaseName = "Files/Base_2006.mdb" 'Ищем базу в той же директории где и сама прога

' Открытие запароленой базы
 '------------------------------------------------
  'Dim db As Connection
  'Set db = New Connection
  'db.CursorLocation = adUseClient
  'db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=Files\Base_2006.mdb;Jet OLEDB:Database Password=123"
  'Set adoPrimaryRS = New Recordset
  'adoPrimaryRS.Open "select X01,X02,X03,X04,X05 from Таблица1", db, adOpenStatic, adLockOptimistic
  'Set adoRecordset = adoPrimaryRS
  'mbDataChanged = False
'-------------------------------------------------

Data1.RecordSource = "Таблица1" 'Имя таблицы,для доступа к ней
Text1.DataField = "X01" 'В Text1 из Поле1 будет загружаться текст
Text2.DataField = "X02"
Text3.DataField = "X03"
Text4.DataField = "X04"
Text5.DataField = "X05"
End Sub


'Код на сохранение информации из TextBox'ов в базу

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case Is = "cmdUpdate"
On Error Resume Next
If Text5 = "" Then MsgBox "Не заполнено обязательное поле", vbOKOnly + vbCritical, "Внимание": GoTo xxx160

' Сохранение
Data1.UpdateRecord
Data1.Recordset.Bookmark = Data1.Recordset.LastModified
  
xxx160:
End Select


2. Вторая форма содержит DataGreed - то есть таблицу для вывода в нее данных из файла Base_2006.mdb
Сдесь выполняются определенные действия с содержимым базы данных (сортировка по определенным столбцам, скрытие и включение столбцов, экспорт содержимого в Excel и т.п.)

Код для формы для загрузки данных в таблицу из базы данных

Код

Private Sub Form_Load()
Call Refreh
End Sub

Private Sub Refreh()
 Dim db As Connection
  Set db = New Connection
  db.CursorLocation = adUseClient
  
' Открытие не запароленной базы
 db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=Files\Base_2006.mdb;"

  ' Открытие запароленной базы
  '-----------------------------------------------------
  'db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=Files\Base_2006.mdb;Jet OLEDB:Database Password=123"
  '-----------------------------------------------------
  
  Set adoPrimaryRS = New Recordset
  adoPrimaryRS.Open "select X01,X02,X03,X04,X05,X06,X07,X08,X09,X10 from Таблица1", db, adOpenStatic, adLockOptimistic
  Set grdDataGrid.DataSource = adoPrimaryRS
  Set adoRecordset = adoPrimaryRS
  mbDataChanged = False
End Sub




Если во второй форме включить строчку

Код

db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=Files\Base_2006.mdb;Jet OLEDB:Database Password=123"


то запароленная база открывается.

А вот если в первой форме включить

Код

Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=Files\Base_2006.mdb;Jet OLEDB:Database Password=123"
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open "select X01,X02,X03,X04,X05 from Таблица1", db, adOpenStatic, adLockOptimistic
Set adoRecordset = adoPrimaryRS
mbDataChanged = False


то запороленная база не открывается, загружается форма, но все TextBox на ней пустые, хотя данные в файле Base_2006.mdb есть.

Помогите с кодом для первой формы.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



PM MAIL   Вверх
ArtNeoX
Дата 4.2.2006, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



Ну кто нибудь smile
PM MAIL   Вверх
Exception
Дата 5.2.2006, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



Цитата(ArtNeoX @ 2.2.2006, 00:01 Найти цитируемый пост)
запороленная

запароленная
Цитата(ArtNeoX @ 2.2.2006, 00:01 Найти цитируемый пост)
DataGreed

DataGrid
P.S. Не нужно поднимать тему вот такими сообщениями:
Цитата(ArtNeoX @ 4.2.2006, 11:53 Найти цитируемый пост)
Ну кто нибудь

Если кто-нибудь захочет, он поможет.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1645 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.