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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2011, 12:09   #11
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

Определяете строковую переменную сразу после названия Вашей процедуры:

Код:
Private Sub ИмяВашейПроцедуры()
    Dim SQL_Text As String
Затем заполняете переменную текстом запроса:
Код:
SQL_Text = "INSERT INTO ИмяТаблицы (ИмяПоля1, ИмяПоля2,...) VALUES (ЗначениеПоля1, ЗначениеПоля2,...)"
Только помните, что все числовые значения Вам необходимо преобразовать в строку, а текстовые - заключить в двойные кавычки. Например, если значение поля 1 целое, а поле 2 текстовое, то:

Код:
SQL_Text = "INSERT INTO ИмяТаблицы (ИмяПоля1, ИмяПоля2,...) VALUES (" + CStr(Me![ИмяПоля1]) + ", """ + Me![ИмяПоля2] + """,...)"
Пусть Вас не удивляют три двойные кавычки подряд. Поскольку ограничителем строки в VBA является двойная кавычка, то, чтобы вставить этот символ в значение строки, его нужно повторить дважды.
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 17.05.2011, 14:39   #12
groovy
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 20
По умолчанию

Сделал то что вы сказали. Создал кнопку зашел в обработку событий ввел код, сохранил, захожу нажимаю кнопку и выдает ошибку можете сказать что не так? либо там что то еще надо сделать конкретно вы говорили про метод Execute. Можете по подробей!

Цитата:
Option Compare Database

Private Sub Обработано1()
Dim SQL_Text As String

SQL_Text = "INSERT INTO ОБРАБАТЫВАЕМЫЕ_ЗАЯВКИ (КОД_ПОКУП, НОМЕР_ЗАЯВК, ДАТА_ПОД, ВИД_ПРЕТЕНЗ, ДАТА_ОКАЗ_УСЛ, ФОТО, НОМЕР_СОТРУД, ОПИСАНИЕ) VALUES (" + CStr(Me![КОД_ПОКУП]) + ", """ + Me![НОМЕР_ЗАЯВК] + """, " + CDat(Me![ДАТА_ПОД]) + ", " + CStr(Me![ВИД_ПРЕТЕНЗ]) + ", " + CDat(Me![ДАТА_ОКАЗ_УСЛ]) + ", " + (Me![ФОТО]) + ", " + CStr(Me![НОМЕР_СОТРУД]) + ", " + CStr(Me![ОПИСАНИЕ]) + ")"
End Sub

Private Sub Обработано1()

End Sub

Private Sub Обработано1()

End Sub

Private Sub Кнопка17_Click()

End Sub

Private Sub ЗаголовокФормы_Click()

End Sub

Private Sub Кнопка18_Click()

End Sub
Изображения
Тип файла: jpg Безымянный11.JPG (55.1 Кб, 52 просмотров)

Последний раз редактировалось groovy; 17.05.2011 в 15:01.
groovy вне форума Ответить с цитированием
Старый 17.05.2011, 15:17   #13
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию

вызывать запрос docmd.runsql sqltext

Последний раз редактировалось Swatch; 17.05.2011 в 15:19.
Swatch вне форума Ответить с цитированием
Старый 17.05.2011, 15:34   #14
groovy
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 20
По умолчанию

Swatch Откуда его вызывать смысле эту строку куда надо вписать чтобы все заработало?
groovy вне форума Ответить с цитированием
Старый 17.05.2011, 15:44   #15
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию

Писать это надо в обработчике в событии "Нажатие кнопки". То есть если имя Вашей кнопки на форме - "Обработано1", то Вы должны описать для нее событие Click
Код:
Private Sub Обработано1_Click()

Dim SQL_Text As String

SQL_Text = "INSERT INTO ОБРАБАТЫВАЕМЫЕ_ЗАЯВКИ (КОД_ПОКУП, НОМЕР_ЗАЯВК, ДАТА_ПОД, ВИД_ПРЕТЕНЗ, ДАТА_ОКАЗ_УСЛ, ФОТО, НОМЕР_СОТРУД, ОПИСАНИЕ) VALUES (" + CStr(Me![КОД_ПОКУП]) + ", """ + Me![НОМЕР_ЗАЯВК] + """, " + CDat(Me![ДАТА_ПОД]) + ", " + CStr(Me![ВИД_ПРЕТЕНЗ]) + ", " + CDat(Me![ДАТА_ОКАЗ_УСЛ]) + ", " + (Me![ФОТО]) + ", " + CStr(Me![НОМЕР_СОТРУД]) + ", " + CStr(Me![ОПИСАНИЕ]) + ")"
docmd.runsql sql_text 
End Sub
Попробуйте так
Swatch вне форума Ответить с цитированием
Старый 17.05.2011, 16:04   #16
groovy
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 20
По умолчанию

Хоть убейте не работает сейчас кину скрины того что делаю. Ввожу вроде все правильно. Может в свойствах что-то выставить надо?
Изображения
Тип файла: jpg 2222.JPG (71.1 Кб, 144 просмотров)
Тип файла: jpg 2121.JPG (85.0 Кб, 145 просмотров)

Последний раз редактировалось groovy; 17.05.2011 в 16:06.
groovy вне форума Ответить с цитированием
Старый 17.05.2011, 16:10   #17
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию

Не так у Вас то что текст процедуры написан не там где надо оставьте вот это:
Код:
Option Compare Database
Private Sub Обработка_Click()

Dim SQL_Text As String

SQL_Text = "INSERT INTO ОБРАБАТЫВАЕМЫЕ_ЗАЯВКИ (КОД_ПОКУП, НОМЕР_ЗАЯВК, ДАТА_ПОД, ВИД_ПРЕТЕНЗ, ДАТА_ОКАЗ_УСЛ, ФОТО, НОМЕР_СОТРУД, ОПИСАНИЕ) VALUES (" + CStr(Me![КОД_ПОКУП]) + ", """ + Me![НОМЕР_ЗАЯВК] + """, " + CDat(Me![ДАТА_ПОД]) + ", " + CStr(Me![ВИД_ПРЕТЕНЗ]) + ", " + CDat(Me![ДАТА_ОКАЗ_УСЛ]) + ", " + (Me![ФОТО]) + ", " + CStr(Me![НОМЕР_СОТРУД]) + ", " + CStr(Me![ОПИСАНИЕ]) + ")"
docmd.runsql sql_text 
End Sub
а остальное удалите
Swatch вне форума Ответить с цитированием
Старый 17.05.2011, 16:15   #18
groovy
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 20
По умолчанию

Swatch ну ошибка вроде как исчезла но после нажатия кнопки просто ничего не происходит!
groovy вне форума Ответить с цитированием
Старый 17.05.2011, 16:18   #19
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию

так у Вас данные какие-нибудь есть? То есть поля на форме чем-нибудь заполнены? у Вас тут запрос на вставку строки. Если нечего вставлять то ничего и не произойдет
Swatch вне форума Ответить с цитированием
Старый 17.05.2011, 16:22   #20
groovy
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 20
По умолчанию

Да заполнена на 10 записей. Поидее я выделяю запись нажимаю кнопку и все ничего не происходит!

Последний раз редактировалось groovy; 17.05.2011 в 17:03.
groovy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос выбранных записей в другую таблицу Tony1991 БД в Delphi 0 17.12.2010 16:59
Перенос записей из db в dbf Liones БД в Delphi 8 29.03.2010 08:16
Как сделать автоматич. дату и перенос записей. Hito БД в Delphi 8 07.05.2009 13:58
Перенос записей между таблицами Македонский БД в Delphi 12 27.08.2007 09:41