2013-04-04 3 views
1

В настоящее время я работаю над отчетом для MS Access 2003 с тремя полями, состоящими из даты [Дата начала аренды], [Дата окончания аренды] и строки [Финансовые примечания]. Руководство хочет, чтобы все три были объединены в «Финансовые примечания к отчету». Я создал Конкатенацию как:Конкатенация отчета MS Access 2003

=CVar([Lease Start]) & " - " & CVar([Lease Ends]) & " " & [Financial Notes] 

Тем не менее, я получаю сообщение # Ошибка при запуске отчета.

ответ

1

Посмотрите, что это выражение возвращает в запросе источника записи вашего отчета.

SELECT 
    CVar([Lease Start]) & " - " 
     & CVar([Lease Ends]) 
     & " " & [Financial Notes] 
     AS report_expression 
FROM YourTableOrQuery; 

Я не знаю, насколько это существенно, но я озадачен, почему вы используете CVar() там. Когда вы даете ему значение Date/Time, оно возвращает значение Date/Time. Доступ должен обязывать путем литья его к строке при объединении, но он будет делать то же самое для исходного значения Дата/Время без CVar. Я не понимаю, почему полезен CVar.

Поскольку вы строите строку, мой склон будет использовать Format().

SELECT 
    Format([Lease Start], "m/d/yyyy") & " - " 
     & Format([Lease Ends], "m/d/yyyy") 
     & " " & [Financial Notes] 
     AS report_expression 
FROM YourTableOrQuery; 

Однако, как я признал, я не знаю, является ли это важной проблемой.

+0

Спасибо, я пытался выполнить конкатенацию самого отчета, а не в SQL-запросе. Он отлично работал. –

+0

ОК. Должен признаться, я не понимаю, почему конкатенация завершилась неудачно, когда вы сделали это в отчете, а не в своем запросе источника записи. Но если ты счастлив, я тоже. :-) – HansUp

Смежные вопросы