중복 셀을 표시하지 않고 MS Access 쿼리 또는 보고서를 내보내는 방법이 있습니까? 유형의 데이터에 대한

레시피 북 모음에 대한 정보가 포함 된 MS Access 2016 데이터베이스를 작업 중입니다. 다 대일 관계와 다 대다 관계를 사용하여 서로 연결된 여러 유형의 데이터에 대한 몇 가지 테이블이 있습니다. 그런 다음 레시피 이름, 페이지, 재료, “동반자”재료,기구 및 메모 목록이 포함 된 (책을 통해) 각 책에 대해 “결과 테이블”(Excel 형식)을 내보내고 싶습니다. 출력은 다음과 같아야합니다.

원하는 결과

Access의 보고서 도구를 통해 “복제 숨기기”컨트롤을 “예”로 설정하려고했습니다. 문제는 보고서를 생성 할 때 데이터가 다음과 같이 계속 반복된다는 것입니다.

달성 된 결과

내 질문은 70 개가 넘는 책과 7000 + 레시피가 있기 때문에 각 테이블을 하나씩 수정하지 않고 원하는 것을 수행 할 수있는 방법이 있는지 여부입니다. 내 쿼리 하위 스키마는 다음과 같습니다.

DB 쿼리 스키마

그리고 생성 된 SQL :

SELECT N_recetas.no_libro, N_recetas.Id, N_recetas.nombre_receta, N_recetas.pag, N_ingredientes.ingrediente, N_acompanamientos.nombre_acomp, N_utensilios.utensilio, N_recetas.notas
FROM N_utensilios
RIGHT JOIN ((((N_libros INNER JOIN N_recetas ON N_libros.no_libro = N_recetas.no_libro) LEFT JOIN (N_acompanamientos RIGHT JOIN rels_rec_acomp ON N_acompanamientos.Id = rels_rec_acomp.Id_acompanamiento_Fk) ON N_recetas.Id = rels_rec_acomp.Id_receta_FK) LEFT JOIN rels_rec_utensilios ON N_recetas.Id = rels_rec_utensilios.IdRecetaFK) INNER JOIN (N_ingredientes INNER JOIN rels_rec_ings ON N_ingredientes.id_ingrediente = rels_rec_ings.Id_ingrediente_FK) ON N_recetas.Id = rels_rec_ings.Id_receta_FK) ON N_utensilios.Id = rels_rec_utensilios.IdUtensilioFK
WHERE (((N_recetas.no_libro)=78));



답변

데이터베이스에서 각 행은 열의 모든 정보를 포함해야합니다. 각 행은 다른 모든 행과 독립적입니다. 여기서는 구조와 같은 엑셀을 가질 수 없습니다.

여기에 이미지 설명을 입력하십시오

여기서 두 번째 행에는 ID, nombre_receta, pag 등에 대한 정보가 포함되어 있지 않으므로 독립 행으로 표시됩니다.

다른 열 정보도 두 번째 행에 작성해야합니다.

행은 다음과 같아야합니다.

UniqueID,8154, Batidillo, 22, Sal, Tortillas

UniqueID,8154, Batidillo, 22, Sal, Guajes

그리고 고유 ID가 기본 키가되고 달라야합니다.

그런 다음 데이터베이스를 쿼리 할 수 ​​있습니다.

각 행에서 정보를 반복한다고 생각되면 반복되는 정보에 다른 테이블을 사용하여 테이블의 행 ID를 포함하는 열을 만드십시오.

여기를 숙지하려면 ‘비정규 화 된 형식의 데이터 예’섹션을 참조하십시오. https://support.office.com/en-us/article/move-data-from-excel-to-access-90c35a40-bcc3-46d9-aa7f-4106f78850b4


답변