Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2012, 22:24   #1
roxy7
Пользователь
 
Регистрация: 20.10.2011
Сообщений: 53
По умолчанию Ошибка в коде. Навигационный способ доступа и реляционный.

Добрый вечер! На форме расположены ListBox, textbox и commandbutton. Пытаюсь реализовать реляционный способ доступа, но выдает ошибку в коде:

Код:
Private Sub CommandButton1_Click()
    Dim con As ADODB.Connection
    Dim rec As ADODB.Recordset
    Dim strSQL As String
    Set con = New ADODB.Connection
    Set rec = New ADODB.Recordset
    con.Open "Provider=Microsoft.Jet.oledb.4.0; data Source=d:\lr12.mdb;"
    strSQL = "select Индекс, Отделение from Индексы where Город='" & _ UCase(TextBox1.Text) & & "'"     'здесь ошибка
    rec.Open strSQL, con
    Do While Not rec.EOF
        UserForm1.ListBox1.AddItem rec.Fields(0) & "-->" & rec.Fields(1)
        rec.MoveNext
    Loop
    If ListBox1.ListCount = 0 Then MsgBox "Неверно введено название города"
    
    rec.Close
    con.Close
    Set rec = Nothing
    Set con = Nothing
End Sub
Ещё вопрос: в чем недостаток навигационного способа доступа по сравнению с реляционным.
Навигационный способ доступа:

Код:
Private Sub CommandButton1_Click()
    Dim con As ADODB.Connection
    Dim rec As ADODB.Recordset
    Set con = New ADODB.Connection
    Set rec = New ADODB.Recordset
    con.Open "Provider=Microsoft.Jet.oledb.4.0; data Source=d:\lr12.mdb;"
    rec.Open "индексы", con
    Do While Not rec.EOF
        If UCase(TextBox1.Text) = rec.Fields(2) Then
        UserForm1.ListBox1.AddItem rec.Fields(0) & "-->" & rec.Fields(1)
        End If
        rec.MoveNext
    Loop
   If ListBox1.ListCount = 0 Then MsgBox "Неверно введено название города"
    rec.Close
    con.Close
    Set rec = Nothing
    Set con = Nothing
End Sub
roxy7 вне форума Ответить с цитированием
Старый 26.03.2012, 22:29   #2
roxy7
Пользователь
 
Регистрация: 20.10.2011
Сообщений: 53
По умолчанию

Файл БД lr12.mdb на диске D:
lr12.zip
roxy7 вне форума Ответить с цитированием
Старый 26.03.2012, 23:47   #3
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

Цитата:
На форме расположены ListBox, textbox и commandbutton.
а где форма, вижу только таблицу
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 27.03.2012, 10:36   #4
roxy7
Пользователь
 
Регистрация: 20.10.2011
Сообщений: 53
По умолчанию

Здесь Excel с поддержкой макросов:
Rabota12.zip
roxy7 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка доступа ego30 Помощь студентам 2 06.07.2011 21:05
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58
навигационный провал PHP+js mrgrudge PHP 6 28.04.2010 00:50
Ошибка доступа к памяти AzoTik Общие вопросы Delphi 6 22.01.2010 10:17
навигационный способ azl-8 БД в Delphi 1 23.03.2009 18:06