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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2012, 14:52   #1
RISagitov
Форумчанин
 
Регистрация: 19.05.2012
Сообщений: 237
По умолчанию Простой SQL запрос средствами vba

Начал изучать vba access, Помогите , мне нужно для старта сделать select * from tbl
Внутри sub

Самым простым способом , типа hello world, чтоб дальше, уже химичить

Последний раз редактировалось RISagitov; 25.09.2012 в 14:56.
RISagitov вне форума Ответить с цитированием
Старый 25.09.2012, 21:32   #2
Myhaylo
Форумчанин
 
Регистрация: 19.07.2012
Сообщений: 520
По умолчанию

В случае DAO RecordSet предварительно нужно подключить библиотеку: в модуле формы в меню MS Access выбрать "Сервис"/"Ссылки" (Tools/References) и в появившемся окне "Ссылки" установить птичку для библиотеки "Microsoft DAO 3.x Object Library", где х - число, зависящее от версии MS Access.
Код:
Dim table As Recordset
  Set table = CurrentDb.OpenRecordset("select Номер, ФИО from tbl", dbOpenDynaset)
  With table

    'поиск:
    .FindFirst "Номер=" & ЗначениеЧисловое
    If Not .NoMatch Then
        MsgBox "№ " & !Номер
    End If

    .FindFirst "ФИО=""" & ЗначениеТекстовое & """"
    If Not .NoMatch Then
        MsgBox "Найдено: " & !ФИО
    End If

    'добавить запись:
    .AddNew
    !Номер=число
    !ФИО="Василий"
    .Update

    'редактировать текущую запись:
    .Edit
    !Номер=число
    !ФИО="Василий"
    .Update

    While Not .EoF
      MsgBox "№ " & !Номер
      .MoveNext  'перейти к следующей записи
    Wend

    .Close
  End With
Окупант, руки прочь от Украины!!! Слава Героям!
Myhaylo вне форума Ответить с цитированием
Старый 26.09.2012, 11:58   #3
RISagitov
Форумчанин
 
Регистрация: 19.05.2012
Сообщений: 237
По умолчанию

Цитата:
Сообщение от Myhaylo Посмотреть сообщение
В случае DAO RecordSet предварительно нужно подключить библиотеку: в модуле формы в меню MS Access выбрать "Сервис"/"Ссылки" (Tools/References) и в появившемся окне "Ссылки" установить птичку для библиотеки "Microsoft DAO 3.x Object Library", где х - число, зависящее от версии MS Access.
Код:
Dim table As Recordset
  Set table = CurrentDb.OpenRecordset("select Номер, ФИО from tbl", dbOpenDynaset)
  With table

    'поиск:
    .FindFirst "Номер=" & ЗначениеЧисловое
    If Not .NoMatch Then
        MsgBox "№ " & !Номер
    End If

    .FindFirst "ФИО=""" & ЗначениеТекстовое & """"
    If Not .NoMatch Then
        MsgBox "Найдено: " & !ФИО
    End If

    'добавить запись:
    .AddNew
    !Номер=число
    !ФИО="Василий"
    .Update

    'редактировать текущую запись:
    .Edit
    !Номер=число
    !ФИО="Василий"
    .Update

    While Not .EoF
      MsgBox "№ " & !Номер
      .MoveNext  'перейти к следующей записи
    Wend

    .Close
  End With


Спасибо большое


Мне казалось, код будет раза в два , три короче
RISagitov вне форума Ответить с цитированием
Старый 26.09.2012, 20:11   #4
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

Собственно, первая строка предложенного Михаилом кода объявляет переменную типа Recordset, а вторая выполняет запрос. Все остальное - примеры использования данных выполненного запроса (если выполнение запроса не самоцель )
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать отчет средствами VBA или SQL ZBEP Microsoft Office Access 8 30.01.2012 19:32
email средствами VBA mister_pog Microsoft Office Access 3 08.06.2011 22:26
Создать запрос средствами VBA was3110 Microsoft Office Access 4 18.04.2011 11:54
sql запрос в vba Access DenProx Microsoft Office Access 7 21.01.2011 07:46
Вычисление экспоненты средствами VBA fs444 Microsoft Office Excel 10 30.12.2009 10:42