Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Записать поле MEMO в таблицу через VB 
V
    Опции темы
neosapient
  Дата 2.6.2008, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Здравствуйте.

Есть нужно сделать БД для техподдержки, чтоб в ней отмечать переговоры с клиентами.
Так как переписка обычно содержит много сообщений, каждое из которых начинается с красной строки, то решил для записи сообщений использовать поле типа Memo. 
(Есть ли альтернативы, для сложно структурированного текста?)

Есть таблица с именами клиентов (Name): каждому ФИО (Name.Name) присвоен свой идентификатор (Name.ID) .
Есть таблица со способами контактов (Contact): телефон, форум, Skype, ICQ и т.д. (ограниченный набор)
Есть таблица "сообщений":
ID - код записи
NameID - имя клиента, совпадает c Name.ID
Message - тип мемо, здесь храниться переписка.
ContactID - идентификатор способа контакта
Data - Дата добавления переписки 

Схема связи таблиц:
user posted image

Есть форма для ввода сообщений:
- два поля со списком для выбора имени и способа контакта
- поле сообщения, для ввода МЕМО
- кнопка для добавления сообщения, при клике вызывает программу на VB
user posted image

При попытке добавить новую запись ругаеться
Код

Private Sub Add_Click()
Dim strSQL As String
On Error GoTo ErrorHandler
strSQL = "INSERT INTO [Message] ([NameID],[ContactID],[Message],[Data]) VALUES ("
'NameID
Me.NameID.SetFocus
strSQL = strSQL & Me.NameID.Column(0) & ","
'ContactID
Me.ContactID.SetFocus
strSQL = strSQL & Me.ContactID.Column(0) & ","
'Message
Me.Message.SetFocus
strSQL = strSQL & """" & Me.Message.Text & ""","
'Data
strSQL = strSQL & Now() & ")"
'start transaction
DoCmd.RunSQL strSQL
'clear dialog
Me.Order.SetFocus
Me.Order.Text = ""
Me.Message.SetFocus
Me.Message.Text = ""
ExitSub:
Me.Order.SetFocus
Exit Sub
ErrorHandler:
MsgBox "Ошибка записи данных." & vbNewLine & "Проверьте ввод и повторите попытку.", vbOKOnly + vbCritical, "Ошибка"
Resume ExitSub
End Sub


Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  main.rar 44,94 Kb
PM MAIL   Вверх
Akina
Дата 2.6.2008, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Правильно ругается - нельзя добавлять в МЕМО через инлайн. Используйте открытие обновляемого рекордсета. Типа 

Код

set rs = CurrentDB.openrecordset("Select [NameID],[ContactID],[Message],[Data] From [Message]")
With rs
  .AddNew
  ![NameID] = Me.NameID.Column(0)
  ![ContactID] = Me.ContactID.Column(0)
  ![Message] = Me.Message.Text
  ![Data] = Now()
  .Update
End With
rs.Close



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
neosapient
Дата 2.6.2008, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Спасибо, заработало.  smile 
+

Код

Private Sub Add_Click()
On Error GoTo ErrorHandler
Set rs = CurrentDb.openrecordset("Select [NameID],[ContactID],[Message],[Data] From [Message]")
With rs
  .AddNew
  ![NameID] = Me.NameID.Column(0)
  ![ContactID] = Me.ContactID.Column(0)
  ![Message] = Me.Message.Value
  ![Data] = Now()
  .Update
End With
rs.Close
ExitSub:
Me.Order.SetFocus
Exit Sub
ErrorHandler:
MsgBox "Ошибка записи данных." & vbNewLine & "Проверьте ввод и повторите попытку.", vbOKOnly + vbCritical, "Ошибка"
Resume ExitSub
End Sub


Поясни, что есть 
Цитата

Используйте открытие обновляемого рекордсета

Что есть "рекордсет" и "обновляемый рекордсет"
(я полный noob)
-----------
Есть где-нибудь литература, чтоб всё было понятно разжевано ?

Это сообщение отредактировал(а) neosapient - 2.6.2008, 21:44

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  main.rar 57,56 Kb
PM MAIL   Вверх
bopoha
Дата 2.6.2008, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Берем любую книжку по MS Access со словами "разработка", например, "Разработка настольных приложений на MS Access хххх".
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0448 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.