2017-12-18 1 views
0

table/query 모드로 구성된 일부 ComboBox이 있습니다. 즉, Access 데이터베이스의 테이블에서 항목 목록을 가져옵니다.
일반적으로이 ComboBox - 호출 Editar_CodigoEditar_Nombre - 목록의 항목 만 사용하지만 때로는 테이블에 존재하지 않는 새로운 항목을 쓰고 싶습니다 ("레코드 추가" "버튼).
그러나 문제가 발생하면 Access에서 Popbox를 생성합니다. ComboBox의 값이 테이블에 존재하지 않으며 두 글자 값을 모두 삭제할 때까지 해당 팝업을 닫을 수 없습니다. ComboBox.MS 액세스 콤보 박스의 값이 테이블/쿼리에 존재하지 않습니다.

존재하지 않는 값이 ComboBox에 도달하면 활성화되는 expresion이 발견되었습니다.

Private Sub ComboBox_NotInList(NewData As String, Response As Integer) 
End Sub 

그러나 심지어를 사용

,이 일이 :

  1. 첫째, 나는 "잘못된"값을 썼다.
  2. 둘째, ComboBox_NotInList (내 경우에는 Editar_Codigo_NotInListEditar_Nombre_NotInList)이 실행됩니다. (나는 그것이 MsgBox를 여는 것을 점검한다).
  3. 마지막으로 액세스 팝업이 열려 있습니다.

위의 "체인 이벤트"의 세 번째 항목을 삭제하고 싶습니다. 어떻게해야합니까?

편집 :

enter image description here

아이디어는 다음 두 TextBoxs에 Editar_Codigo 콤보 상자에서 제품의 코드, Editar_Name의 이름과 가격과 재고를 작성하는 것입니다. 마지막으로 "Añadir"버튼을 누르면 "Lista de Stock"테이블에 레코드가 추가됩니다.
하지만 문제는 ComboBoxes에 "존재하지 않는 값"을 쓸 수 없다는 것입니다 (테이블에없는 값). 그래서 PopUp을 "무시"할 수 있기를 원합니다. PopUp을 키우지 않기 위해 Access를 어떻게 만들 수 있습니까?

+0

"테이블에 레코드 추가 위치는 어디입니까?" notInList 이벤트에서 새 값을 삽입 한 후 새 값을 적용하려면 "Response = acDataErrAdded"를 반환해야합니다. –

+0

검토 http://www.fontstuff.com/access/acctut20.htm – June7

답변

0

ok. 네가 할 수있는 일은 생각한다. 우선 콤보를 사용하여 알파, 베타, 감마의 열을 하나만 봅니다. 이제 사용자가 콤보 상자의 베타 설정 속성, 즉 after update을 선택하고 테이블에서 해당 값을 가져 오는 코드를 작성할 때마다 예. 콤보 상자의 이름이 콤보 1이라고 가정합니다.

colomnInvisibleValue = dlookup("colomnName","TableName","VisibleColomnName= '" & me.combo1.value & "' ") 

변수 colomnInvisibleValue에는 마지막 코멘트에 따라 값 (2)이 포함됩니다.

+0

감사합니다. 저는이 솔루션에 대해 이미 알고 있습니다. 그러나 왜 나를 위해 작동하지 않는지 확신 할 수 없었기 때문에이를 피하려고했습니다. 사용하는 것을 잊어 버리는 것 같습니다! " –

1

데이터 탭 아래의 콤보 상자의 속성을 no로 설정합니다. limit to list property of combo box under data tab

+0

귀하의 대답은 보이지 않는 의존 행이없는 콤보 상자에서만 작동하는 것 같습니다. 그러나 만약 내가 가지고 있다면, 나는 그들을 볼 수 있도록 만들어야 만하고, 그 다음에 Combobox의 가치는 다른 행 대신 보이지 않는 행으로 바뀝니다. –

+0

나는 의심의 여지가 없었습니다. –

+0

ComboBox에는 두 개의 행 (보이지 않는 행 (A 행))과 다른 행 (B 행)이 있습니다. 사용자는 행 "B"만 볼 수 있으며 목록에서 항목을 선택할 때 값은 ComboBox는 행 "B"의 누를 수있는 항목과 같이 표시되지만 값은 행 "A"항목과 같습니다. ComboBox를 사용하면 대답이 작동하지 않습니다. 행 "A"를 표시해야했지만 사용자에게 표시되는 값은 행 "A"이고 행 "B"의 값을 표시하려고합니다. 내 영어로 죄송합니다 ... –

관련 문제