2017-03-24 1 views
0

직장에서 만들려고 노력하는 인벤토리 데이터베이스와 관련하여 몇 가지 문제에 대해 지난 며칠 동안 몇 번 게시했습니다. 경험이 거의 없으므로 대부분 YouTube 자습서를 따르고 온라인으로 진행합니다.양식의 텍스트 상자에서 쿼리로 데이터를 가져 와서 테이블로 가져 오려고합니까?

본질적으로 ID 번호, 제조업체, 모델 번호 등의 인벤토리 정보로 채워질 테이블이 있습니다. 그런 다음 사용자가 채울 테이블의 각 필드에 대한 텍스트 상자가있는 양식이 있습니다. 추가, 삭제 및 편집 단추를 사용하여 텍스트 상자를 채우고 새 레코드를 추가하거나 콤보 상자 또는 목록에서 테이블의 현재 레코드를 선택하고 편집하거나 클릭하여 삭제할 수 있습니다 관련 버튼

나는 이것을 고치려고 노력했지만 아무리 많이 고치려고 노력 했더라도 지난 2 일간 오류가 계속 발생했다. 그래서 나는 지금 내가 옳은 시점에있다. 쿼리를 사용하여 수행합니다.

바로 지금 주 테이블, 임시 테이블, 양식 및 다음 쿼리가 있습니다. 1. 임시 테이블을 지우는 쿼리를 삭제하십시오. 2. 내 임시 테이블에서 레코드를 가져와 추가 할 쿼리를 추가하십시오. 그 (것)들을 나의 메인 테이블 3. 폼에서 선택한 레코드를 취하여 임시 테이블에 추가하는 쿼리 추가 4. 임시 테이블의 필드를 임시 테이블의 데이터로 업데이트하는 쿼리 5. 삭제 기본 폼에서 기본 폼에서 선택한 레코드를 삭제하는 쿼리

이것은 내 계획이었습니다 : 1. r 유엔 쿼리 1 번 2. 부하 형태 3. OK 버튼을 클릭 한 경우 : 4. 실행 쿼리 2 번 편집 1. 실행 쿼리 1 번 2. 실행 쿼리 3 번 에 대한

2. 부하 형태 3. OK 버튼을 클릭 한 경우 : 4. 실행 쿼리 4 번

의 삭제 : 1.로드합니다 MSGBOX를 예 아니요 옵션 (2)와 예 버튼을 클릭 한 경우 : 3. 실행 검색어 5

Th 하나는 내가 문제가있는 쿼리 번호 3입니다. 나는 내 지식의 최선을 다해 정확하게 쿼리를 만들었지 만 폼을 채우고 추가를 클릭하면 쿼리가 0 행을 추가 한 다음 임시 테이블에 아무 것도 추가하지 않습니다.

또한 임시 테이블에서 데이터를 가져 와서 쿼리를 사용하여 주 테이블로 이동하는 방법을 알아낼 수 없습니다.

난 여기에 스크린 샷과 IMGUR 포스트에 연결 해요 : http://imgur.com/a/ffWge

어떤 아이디어?

+0

혼자 힘들게 만들고 있습니다. 폼을 테이블에 바인딩하면 모든 쿼리 항목과 코드를 건너 뛸 수 있습니다. 그것은 Access 폼의 마법입니다. 언 바운드 형식이 마음에 들면 Visual Studio 및 Winforms와 같은 다른 도구를 선택하십시오. – Gustav

+0

리뷰 http://allenbrowne.com/AppInventory.html – June7

+0

지난 견인 일 동안 양식을 바인드하려고했습니다. 테이블에 폼을 바인딩 한 다른 데이터베이스가 있으며 완벽하게 작동합니다. 나는 문자 그대로 아무것도하지 않았지만 필드 이름을 변경하고 코드에서 이름을 적절히 조정했기 때문에 실행할 수 없습니다. 나를 믿어 라 너는 무엇인지 안다 구스타프와 내가 해봤다고 말하지만 나는 그걸로 끝내고있다. –

답변

0

너무 많은 요점이 있기 때문에 답변을 주저합니다. Gustav는 이미 Access Forms를 의도 한대로 사용하는 방법에 대해 큰 조언을했습니다. 그러나 스크린 샷에서 Access 쿼리 디자이너에 대한 근본적인 점을 오해 한 것 같습니다. 원한다면 원하는 쿼리를 작성하지 않아도되지만, 어느 시점에서 쿼리를 올바르게 디자인하는 방법을 이해해야합니다.쿼리가 테이블에 양식에서 삽입 할 경우

, 다음 테이블 필드 참조가 기준에 있으면 안, 그들은 다음과 같이해야합니다 :

  • 필드 :! [양식] [frmInventory !] [ICN]
  • 테이블 : ICN
  • 기준 :
  • 추가하려면를 {공백으로 남겨} 또한

을 {공백으로 남겨} [tblI을 제거 nventoryTemp]를 쿼리 추가 팝업 창에서 대상 테이블을 이미 지정했기 때문에 쿼리 창에서 확인하십시오. 는 SQL은 다음과 비슷한 모습이 될 것

INSERT INTO tblInventoryTemp (ICN, model, serial, ...) 
SELECT [Forms]![tblInventory]![ICN], [Forms]![tblInventory]![model], [Forms]![tblInventory]![serial], ... 

를 마찬가지로 기본 테이블에 임시 복사 할 수있는 다른 쿼리. 팝업 창에서 이미 대상 테이블을 지정 했으므로 쿼리 창에서 [tblInventory]를 제거하십시오. 또한 기준 행에있는 필드 목록을 제거하십시오. SQL은 다음과 같이 보일 것입니다 :

INSERT INTO tblInventory (manu, model, serial, ...) 
SELECT tblInventoryTemp.manu, tblInventoryTemp.model, tblInventoryTemp.serial, ... 
FROM tblInventoryTemp 

액세스 가능성은 더 많은 세부 사항을 추가 할 것입니다. 그러나 SQL의 일반 형식은 필자와 일치해야합니다.

+0

그래, 나는 Gustav가 이틀 전에 제안한 것을 시도했다. 나를 믿어 라. 나는 그 방법으로 설정되었고 완벽하게 작동하는 또 다른 데이터베이스를 가지고 있습니다. 이 하나가 매우 유사하기 때문에 복사 한 다음 데이터베이스의 필드와 적절한 이름의 이름을 바꾸는 것이 효과적 일 것입니다.하지만 불행히도 그 이유는 없습니다. 이유는 무엇입니까. 이것이 내가이 작업을 시도한 이유입니다. 질의어. –

+0

우리는 모두 당신에게 단서를주기 위해 노력하고 있기 때문에 그에 대응하기 어렵습니다. 이전 두 가지 질문을 검토 한 결과 너무 많은 문제를 한 번에 해결하려고하는 것처럼 보입니다. 당신은 구스타브가 제안한 것을 시도하고 당신을 "신뢰"한다고 말했지만, 당신은 자신이이 일에 처음이긴하다고 말했습니다. 스크린 샷과 좌절에서, 나는이 접근 방식이 이전에 작동했는지 여부에 관계없이 양식을 올바르게 작성하고 있다고 믿지 않습니다. 몇 가지 의견에 답해 왔지만 VBA 디버깅과 정확한 오류 위치 지정 등의 작업에 직접 응답 한 것은 아닙니다. –

관련 문제