MS Access: заполнение ячейки данных данными из нескольких строк в другой таблице [duplicate]

Отсутствует «extern» в объявлениях / определениях переменной const (только для C ++)

Для людей, прибывающих с C, может показаться неожиданным, что в C ++ глобальные переменные const имеют внутренние (или статические) связь. В C это не так, поскольку все глобальные переменные неявно extern (т.е. когда отсутствует ключевое слово static).

Пример:

// file1.cpp
const int test = 5;    // in C++ same as "static const int test = 5"
int test2 = 5;

// file2.cpp
extern const int test;
extern int test2;

void foo()
{
 int x = test;   // linker error in C++ , no error in C
 int y = test2;  // no problem
}

correct would использовать файл заголовка и включить его в file2.cpp и file1.cpp

extern const int test;
extern int test2;

. В качестве альтернативы можно было бы объявить переменную const в файле file1.cpp с явным extern

6
задан Gord Thompson 1 December 2013 в 19:03
поделиться

1 ответ

Это легко использовать с помощью функции ConcatRelated () Аллена Брауна. Скопируйте функцию с этой веб-страницы и вставьте ее в стандартный модуль кода Access.

Затем этот запрос вернет то, что вы просили.

SELECT
    i.N_ID,
    i.F_Name,
    i.L_Name,
    ConcatRelated(
        "Course_ID",
        "tbl_Courses",
        "N_ID = '" & [N_ID] & "'"
        ) AS Course_IDs
FROM tbl_Instructors AS i;

Рассмотрим изменение типа данных N_ID с текста на числовое в обеих таблицах. Если вы это сделаете, вам не нужны одиночные кавычки в третьем аргументе для этого выражения ConcatRelated().

"N_ID = " & [N_ID]

И всякий раз, когда вам нужно N_ID, отображаемое с ведущими нулями, используйте Format().

Format(N_ID, "000")
12
ответ дан HansUp 23 August 2018 в 23:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: