Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: добавление данных через форму
 
 автор: KOTYARA8   (05.12.2009 в 19:28)   личное сообщение
 
 

Имеется [Таблица1]: ID, ФИО, Адрес, Телефон... Имеется форма с полями Поле0, Поле1, Поле2, соответствующие ФИО, Адрес, Телефон.... в форме имеется кнопка которая должна добавлять данные в таблицу из полей. Как в VBA задать правильно обработчик кнопки? помогите.

  Ответить  
 
 автор: Lukas   (05.12.2009 в 19:56)   личное сообщение
 
 

А что, форма в качестве источника данных не имеет таблицу [Таблица1]?
Если нет, то, либо запросом на вставку, либо через Recordset.

  Ответить  
 
 автор: KOTYARA8   (05.12.2009 в 20:07)   личное сообщение
 
 

через Recordset? это как, просто сильно не шарю только начал осваивать Access.
Форма в качестве источника данных не имеет таблицу. Мне надо что бы значения введенные в поля формы вставлялись в таблицу после нажатия кнопки Добавить. А как сделать не знаю.

  Ответить  
 
 автор: Гоблин   (05.12.2009 в 20:22)   личное сообщение
9 Кб.
 
 

Не связывайся с рекордсетом, коли начинающий. Сделай проще.

  Ответить  
 
 автор: Lukas   (05.12.2009 в 20:27)   личное сообщение
12 Кб.
 
 

На примере библиотеки DAO:

Private Sub btnInsert_Click()
    With CurrentDb.OpenRecordset("SELECT * FROM Таблица1 WHERE False")
        .AddNew
        'три варианта обращения к полям Recordset-а
        .Fields(1) = Me.Поле0 '"ФИО"
        .Fields![Адрес] = Me.Поле1
        .Fields("Телефон") = Me.Поле2
        .Update
        .Close
    End With
    MsgBox "Запись добавлена в таблицу"
    'Очистим поля для следующего ввода
    With Me
        .Поле0 = vbNullString
        .Поле1 = vbNullString
        .Поле2 = vbNullString
    End With
End Sub

  Ответить  
 
 автор: KOTYARA8   (05.12.2009 в 20:34)   личное сообщение
 
 

Спасиб Огромное, сейчас буду пробовать =)

  Ответить  
 
 автор: Гоблин   (05.12.2009 в 20:46)   личное сообщение
 
 

Блин! Лукас, где вы раньше были с этим примером.

  Ответить  
 
 автор: kot_k_k   (07.12.2009 в 09:43)   личное сообщение
 
 

вот еще вариант - заносим только существующие поля с одинаковыми названиями.


For i = 1 To Рекодрсет_Отправитель.Fields.Count
   Рекодрсет_Получатель(Рекодрсет_Отправитель(i).Name) = Рекодрсет_Отправитель(Рекодрсет_Отправитель(i).Name)
E_Net_:     Next
Net_:
    Resume E_Net_

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList