Private Sub Кнопка1_Click()
Dim conn As ADODB.Connection
Dim oRS As ADODB.Recordset
Dim FilePath As String
FilePath = CurrentProject.FullName
Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FilePath
Set oRS = New ADODB.Recordset
oRS.Open "SELECT * FROM pr WHERE id=2", conn, adOpenStatic
cost.Caption = oRS("prise")
oRS.Close
conn.Close
Set oRS = Nothing
Set conn = Nothing
End Sub
Подкиньте идею пожалуйста...
Если вас все-таки интересует реализация посредством Access+VBA, то делаете примерно следующее:
1) создаете новую базу данных Access;
2) в этой базе данных создаете таблицу;
3) создаете форму с полями, списками и прочими элементами управления.
Достаточно многое можно почерпнуть из встроенной справки MS Access. А дальше уже можно будет задавать конкретные вопросы.
filePath = Server.MapPath("UA.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.Open "SELECT * FROM pr WHERE id=2", conn, adOpenStatic
cost.Caption = oRs("prise")
oRs.Close
Set oRs = Nothing
conn.Close
Set conn = Nothing
В БД содержаться форма. В этой форме при нажатию на кноgre должен срабатывать ВБСкрипт выполняющий подключение к этой же самой БД но к таблице(pr) не входящей в запрос. Далее считывается значение поля, столбца prise и присваивается надписи в форме.
Т.е.
id | prise
1 | 100
2 | 200<-нужное значение.
Но почему-то этого не происходит а форма выдает сообщение:"object required". Просьба помочь, я в этом деле особо не смыслю. :confused:
Скрипт подключения взял с асп сайта, который когда-то писал. Работало. :confused:
Код:
Условия работы данного кода: в базе данных есть таблица "pr" с полями "id" и "prise". На форме есть надпись "cost" и "Кнопка1". Вышеприведенный код - это обработчика нажатия "Кнопки1".
Для успешной работы кода у вас должна быть в меню установлена ссылка на библиотеку "Microsoft ActiveX Data Objects 2.x" ("msado2x.tlb").
Огромное спасибо! Работает.
При обновлении предыдущего списка, значения данного списка изменяются, всё работает. Но почему-то значение по умолчанию не может иметь строковый тип данных.
т.е. такой вариант работает:
поле_цвета.DefaultValue = 1
А вот такой нет:
поле_цвета.DefaultValue = "A"
При установки "значения по умолчанию" в аксессе тоже работает, но необходимо менять это значение с помощью VBS.
Код:
'Вариант 1:
'внешние кавычки ограничивают значение строки,
'сам символ кавычек внутри строки передается двойными кавычками
поле_цвета.DefaultValue = """A"""
'Вариант 2:
Поле2.DefaultValue = Chr(34) & "A" & Chr(34)
'внешние кавычки ограничивают значение строки,
'сам символ кавычек внутри строки передается двойными кавычками
поле_цвета.DefaultValue = """A"""
'Вариант 2:
Поле2.DefaultValue = Chr(34) & "A" & Chr(34)
Работает. Благодарю.