Присоединение к текстовому полю SQL с помощью БД Access - PullRequest
0 голосов
/ 23 декабря 2011

Итак, в таблице, к которой я обращаюсь, есть поле заметок, и я хочу иметь возможность добавлять в это поле, когда захочу.Я использовал:

UPDATE Incident_Reports SET Incident_Note = Incident_Note + '%s' WHERE Incident_ID=%s", NoteText, IncidentID

Это работает ТОЛЬКО если данные существуют в примечании об инциденте, если там ничего нет, просто ничего не происходит.

У кого-нибудь есть понимание этого?Я ценю это!

Я получаю доступ к файлу .mdb, если это поможет.

Ответы [ 2 ]

1 голос
/ 23 декабря 2011

Проблема в том, что конкатенатор строк в Jet SQL не является +. Использование + полезно в некоторых случаях, но обычно приводит к проблемам.

UPDATE Incident_Reports 
SET Incident_Note = Incident_Note & '%s' 
WHERE Incident_ID=%s
1 голос
/ 23 декабря 2011
UPDATE 
  Incident_Reports 
SET 
  Incident_Note = Nz(Incident_Note, '') + '%s' 
WHERE 
  Incident_ID=%s

Проблема в том, что NULL + значение всегда равно NULL.Функция Nz () принимает два параметра и возвращает первый, если он не равен нулю, в противном случае возвращает второй.В этом случае он позволяет вам возвращать пустую строку, а не ноль, к которой вы можете добавить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...