|
|
|
Связь с базой данных MS Access
|
|||
|---|---|---|---|
|
#18+
Есть уже готовая база данных(файл MS Access) необходимо связаться с ней с помощью оператора SQL(SELECT). Из этой базы необходима строка указанная пользователем. Эта строка состоит из ячеек(по столбцам), содержимое каждой ячейки необходимо присвоить каким-то переменным. Если кто-нибудь с этим сталкивался, пожалуйста, напишите как это будет выглядеть на VBA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2006, 03:33 |
|
||
|
Связь с базой данных MS Access
|
|||
|---|---|---|---|
|
#18+
1. DataEnvironment К проекту нажимаете правым Add>Data Environment, или в начале запуска VB, во время создания нового проекта, выберите Data Project, VB сам подключит все это, затем создаете новый Connection и подключаете к базе, затем добавляете команду (Add Comand) и подключаетесь к таблице, можно также запрос 2. ADO Подключаете ссылку к библиотекам ADO (Project>References>Microsoft ActiveX Data Objects x.x Library) Программно подключаетесь к базе, программно подключаетесь к таблицам или запросом 3. DAO То же самое что и с ADO, только библиотеки Microsoft DAO... тоже на ADO похоже В сети есть куча примеров на эту тему, да и в самом форуме на hiprog.com, freevbcode.com, vbrussian.com поищите примеров куча ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2006, 05:31 |
|
||
|
Связь с базой данных MS Access
|
|||
|---|---|---|---|
|
#18+
Для начала попытался запустить код: Option Explicit Dim base As Database Dim rs As Recordset Dim SQL1 As String Private Sub UserForm_Initialize() Set base = OpenDatabase("C:\db1.mdb") SQL1 = "SELECT * FROM Shveller - U WHERE Namber = '5U'" Set rs = base.OpenRecordset(SQL1, dbOpenDynaset) End Sub Public Sub ReadRow() Label1.Caption = rs.Fields(4) End Sub Private Sub CommandButton1_Click() ReadRow End Sub Он выдает ошибку: Неправильный синтаксис в предложении FROM. Не понимаю, что ему не нравится??? В идеале этот код должен: связаться с базой данных db1.mdb при нажатии на CommandBatton1; выбрать из таблицы Shveller - U строку с содержимым 5U в столбце Namber; отобразить в поле Label1 содержимое ячейки 4-го столбца. HELP!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2006, 11:33 |
|
||
|
Связь с базой данных MS Access
|
|||
|---|---|---|---|
|
#18+
ему не нравица название таблицы - Shveller - U. Нужно в []. Вообще попробуйте зайти в ассекс и в дизайнере запросов выполнить ваш запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2006, 11:45 |
|
||
|
Связь с базой данных MS Access
|
|||
|---|---|---|---|
|
#18+
Большое спасибо, прога заработала!!! Далее по заданию необходимо изменить программу так чтобы в SQL – запросе параметр команды Where выбирал пользователь в поле ListBox. Написал код: Dim base As Database Dim rs As Recordset Dim SQL1 As String Dim vibor As Variant Private Sub UserForm_Initialize() ListBox1.AddItem "5U" ListBox1.AddItem "6.5U" ListBox1.AddItem "8U" ListBox1.AddItem "10U" ListBox1.AddItem "12U" ListBox1.AddItem "14U" ListBox1.AddItem "16U" ListBox1.AddItem "16aU" ListBox1.AddItem "18U" ListBox1.AddItem "18aU" ListBox1.AddItem "20U" ListBox1.AddItem "22U" ListBox1.AddItem "24U" ListBox1.AddItem "26U" ListBox1.AddItem "27U" ListBox1.AddItem "30U" ListBox1.AddItem "33U" ListBox1.AddItem "36U" ListBox1.AddItem "40U" vibor = ListBox1.Text Set base = OpenDatabase("C:\db1.mdb") SQL1 = "SELECT * FROM [Shveller - U] WHERE Namber = '" & vibor & "'" Set rs = base.OpenRecordset(SQL1, dbOpenDynaset) End Sub Public Sub ReadRow() Label1.Caption = rs.Fields(1) Label2.Caption = rs.Fields(2) Label3.Caption = rs.Fields(3) Label4.Caption = rs.Fields(4) Label5.Caption = rs.Fields(5) Label6.Caption = rs.Fields(6) Label7.Caption = rs.Fields(7) End Sub Private Sub CommandButton1_Click() ReadRow End Sub Но, что – то опять не работает??? Пишет: Run-time error 3021 Текущая запись отсутствует. HELP!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2006, 18:24 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34102590&tid=2164994]: |
0ms |
get settings: |
11ms |
get forum list: |
24ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
200ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 553ms |

| 0 / 0 |
