2017-01-17 1 views
0

"#Name?"을 표시하는 양식의 콤보 상자에 문제가 있습니다. 값을 선택하기 위해 입력 할 때마다 오류가 발생합니다.MS 액세스 콤보 박스 "# 이름?" 오류

일반 사용자 인터페이스 인 MS Access (특히 Microsoft Office Professional Plus 2010)에서 양식을 작성합니다. 즉, 양식 자체가 모든 종류의 RecordSet에 연결되어 있지 않음을 의미합니다. 그 형태로, 나는 "TblSubsystem"테이블에 연결되는 Combobox를 생성합니다. 테이블은 매우 간단하고 그런 식으로 설계되었습니다 :

  • ID (기본 키, 일련 번호)
  • SysShortName, 텍스트
  • SysFullName, 텍스트

난에서 값을 선택하려고 드롭 다운 목록에서 콤보 상자의 testbox는 "#Name?" (내가 어떤 값을 선택하기도 전에, 콤보 상자를 선택할 때 실제로 빨리)

콤보 상자의 관련 (내가 생각하는) 매개 변수

은 다음과 같습니다

  • 제어 소스 = "= [TblSubsytem] [ID! ] "
  • 행 출처 = TblSubsystem
  • 행 소스 유형 = 테이블/쿼리
  • 바운드 열 = 2
  • 열 개수 = 2
  • 열 너비 = 0C m, 1cm (나는 짧은 코드를 선택하고 보여주기 위해 노력하고 있지만, 콤보 상자의 값으로 ID를 얻기 위해)

나는 또한 (동일한 프로젝트의 다른 형태의 동일한 설정을 가지고 on TblSubsystem)이 매개 변수에 대해 동일한 값을 사용하여 정상적으로 작동하지만 Form은 RecordSet (다른 테이블)에 연결됩니다. 내가 알 수있는 한 그것이 유일한 차이점이다. 그래서 나는 그것을 보았을 때 분명해 보이는 뭔가를 놓쳐 버린 것 같다. ...

나는 "Ms Access combobox #Name "오류", stackoverflow 및 더 광범위하게 그물에,하지만 이틀 동안, 나는 내 질문에 대답하는 게시물을 보지 못했어요. 일부는 가깝지만 훨씬 복잡한 설정을 말하는 반면 내 생각에는 꽤 똑바로되어야합니다. 솔루션을 내 케이스 (콤보 상자를 다시 작성하거나 데이터베이스를 디 컴파일하는 작업 포함)에 적용하는 것은 도움이되지 않았습니다.

여기에 대해 오랫동안 의문 이었지만, 유감스럽게도 여러분 중 일부는이를 도울만큼 충분히 정확했습니다. 내가 얻을 수있는 도움에 대해 미리 감사드립니다.

답변

0

#Name은 바인딩 문제입니다. 바운드 열을 하나로 설정해보십시오. 그러면 기본 키만 기록되고 그 키가 작동하는지 확인하십시오.

편집 : 제어 소스로 테이블의 기본 키를 참조하는 콤보 박스가 있습니다. 제어 소스는 응용 프로그램 사용자가 변경 한 값입니다.제어 소스 (일반적으로)

  • 행 소스 당신이 상자에 표시 할 텍스트를 참조해야합니다 테이블의 외래 키를 참조해야합니다

    • : 여기 콤보로 작업 할 때 고려해야 할 몇 가지 중요한 것들이 있습니다
    • 응용 프로그램 디자인에서 두 필드를 동시에 업데이트해야하는 경우가 아니면 일반적으로 바운드 열을 1로 설정해야합니다.
    • 너비를 0으로 설정하십시오. - : 제어 출처 : 123456 행 원본 직원 ID : 이것은 당신의 외래 키

    예는 다음과 같이 할 수 있어야한다, 당신의 행 원본의 첫 ​​번째 필드를 숨 깁니다, 직원 ID EmployeeName - 123456 | John Doe

    바운드 열을 1으로 설정하면 1234556이라는 값이 기록됩니다. 바운드 열을 2로 설정하면 123456, John Doe

  • +0

    안녕 Steve가 기록됩니다. 귀하의 답변에 감사드립니다. 불행히도 그걸 시도하면 오류는 나타나지 않지만 콤보 상자는 아무 것도 선택하지 않은 것처럼 공백으로 유지됩니다. – Cedric

    +0

    우물물은화물 열차처럼 나를 때렸습니다! 컨트롤 소스를 기본 키 필드로 사용합니다. 응용 프로그램이 자동 생성 된 기본 키 필드를 변경하려고한다고 생각하기 때문에 사용자가 무언가를 선택하면 콤보 상자가 공백으로 남아 있습니다. 이것은 허용되지 않으므로 비워 둡니다. 변경해야하는 분야가 무엇인지 확인하려면 응용 프로그램의 디자인을 돌아볼 필요가 있습니다. 콤보 박스는 일반적으로 외래 키를 참조하는 데 좋습니다. 이것은 내가 당신이 찾고있는 것입니다. –

    +0

    앞으로 독자를위한 나의 원래 응답을 편집 할 것입니다 –