2012-06-25 6 views
0

두 개의 콤보 상자와 두 개의 단추가있는 양식이 있습니다. 단추 중 하나 ("롤오버"라고 함)는 전년도의 데이터를 롤오버하는 데 사용됩니다. 클릭하면 이전 연도의 데이터를 가져 와서 내년 양식에 삽입 할 수 있습니다.MS 액세스 양식로드

나는 코드를 작성했지만 버튼을 클릭 형태로 한 번 개봉 후 대신 데이터를 삽입 할 때이 데이터를 삽입하지 않습니다.

예 : "롤오버"를 클릭 한 다음 양식을 클릭하면 양식이 열리지 만 데이터가 없습니다. 나는 양식을 닫는다. "롤오버"를 다시 클릭하십시오. 양식을 다시 열면 데이터가 삽입되었습니다.

나는 그것이 나에게 적어도 한 번 열리는 형태없이 데이터를 삽입하지 않는 이유를 모르겠습니다.

Form_1_Test.Text10 = DLookup("Legal_Name", "1_Test", "[Program_Name] = '" & Replace([Combo2], "'", "''") & "' And [BudgetYear] = " & ([Combo0] - 1)) 

답변

1

당신은 아마도 데이터를 삽입 한 후 양식을 다시 쿼리해야합니다 여기

내 코드는 모습입니다.

Me.Requery 

그것은 당신이에 "기록을 삽입하지 않습니다 염두에 두어야하는 데 도움이 될 수 있습니다 : (신규 기록을 삽입 코드 뒤에, 즉) 당신의 MyButton_Click() 코드의 끝에 다음 행을 추가 형태". 오히려 양식을 기반으로하는 기본 테이블에 레코드를 삽입하는 것입니다.

그리고 Access 폼 동안

자동 *, 그들은 새로 생성 된 레코드의 존재를 폴링하지 않습니다로드 기록을 위해 변경된 데이터를 새로 고쳐집니다. 양식의 Requery 메소드를 통해 양식을 강제 실행해야합니다.

* 는 "다이너 셋"답장을

+0

감사에서 기본 레코드 유형의 속성을 변경하지 않은 가정. 그러나 그것은 효과가 없습니다. 나는 코드를 사용하여 Me.Requery를 타이핑했지만 아무것도 바뀌지 않았다. – Ish

+0

'Form_1_Test.Text10 = DLookup ("Legal_Name", "1_Test", "[Program_Name] = '"& Replace ([Combo2] & "[BudgetYear] ="& ([Combo0] - 1))'실제로 데이터를 삽입하지 않습니다. 맞습니까? – mwolfe02

+0

가 맞습니까? 하지만 "DLookup"함수를 사용하여 값을 얻은 다음 Text10에이 값을 할당한다고 생각했습니다. – Ish