2017-04-12 2 views
1

"머리글"로 시작하는 머리글 캡션이 있습니다. 다음 나는 3 분야가있다; 이름, 성 및 직함. 사용자가이 세 필드에 입력 할 때 캡션을 업데이트 한 다음 추가하려고합니다.라이브 입력을 기반으로 헤더를 텍스트 필드로 업데이트

누군가 "Steven"이라는 이름을 이름 필드에 입력하면 캡션이 자리 표시 자에서 Steven으로 업데이트됩니다.

Private Sub First_Name_AfterUpdate(Cancel As Integer) 
    Me.provider_label.Caption = Me.First_Name.Value 
End Sub 

이 코드는 효과가있을 것이라고 생각했지만 그렇지 않았습니다. 거의 너무 단순 해 보인다. 양식에 Microsoft Access의 VBA에 쓰고 있습니다.

+0

이 무엇을 의미 "하지 않는다"않습니다 - 아무 반응이 없습니다, 오류 메시지가 잘못된 결과를? 너 왜 이럴 필요가있어? 오히려 기괴한 디자인. 왜 라벨이 데이터를 복제해야합니까? 왜 "First Name"과 같은 일반 상표가 아닌가? – June7

+0

@ June7 다른 사람들이 내가 도와주고있는 디자인입니다. 텍스트 필드가 변경되면 자리 표시 자 캡션이 업데이트되지 않습니다. 캡션은 이름, 성 및 제목의 연결이어야하므로 일반 레이블을 사용할 수 없습니다. 특히이 양식은 새로운 고객을 추가하는 것을 지원하기위한 것이며, 그 속성은 동일한 양식에 정의됩니다. – Steven

+1

'AfterUpdate()'에는'Cancel' 매개 변수가 없습니다. 뭔가 아주 떨어져 있습니다. – Andre

답변

0

방금 ​​테스트했지만 문제는 없습니다. first_name이 텍스트 상자입니까?

Private Sub ProviderUpdate() 
    Me!provider_label.Caption = Me!first_name & " " & me!last_name & " " & me!Title 
End Sub 

그런 다음 각 text_box에서 ProviderUpdate 하위를 호출하도록 이벤트 프로 시저를 설정하십시오.

+0

개체 및 컨트롤을 참조하여 인텔리 센스 팁을 얻을 때 앞머리 (!) 대신 점 (.)을 사용하도록 제안하십시오. – June7

+0

인텔리 센스 란 무엇입니까? – geeFlo

+0

Intellisense는 코드를 입력 할 때 팝업 도움말을 제공하는 VBA (및 기타 프로그래밍 플랫폼)의 기능입니다. 점 (.)은 인텔리 센스 팝업을 유발하고, 강타 (!)는 그렇지 않습니다. Access 2010에서 Intellisense는 Expression Builder로 확장되어 표현식에 필요한 인수를 확인할 수 있습니다. 그러나 Access 객체 (쿼리, 폼, 보고서) 디자인에서는 팝업이 도움이되도록 작동합니다. – June7

2

비 VBA 솔루션 텍스트 상자의 컨트롤 원본에 표현 사용 :

= IIf([Last Name] & [First Name] & [Title] & "" = "", "Placeholder", [Last Name] & IIf(IsNull([Last Name]),"",", ") + [First Name] & " - " + [Title])

또는

= IIf([Last Name] & [First Name] & [Title] & "" = "", "Placeholder", Nz([Last Name], "No LN") & ", " & Nz([First Name], "No FN") & " - " & Nz([Title], "No Title))

+0

'NZ (Me! first_name, ") &" "& NZ (me! last_name," ") &" "& NZ (me! Title," ") (또는 폼 대신! 내 참조! 절대 참조를 사용하는 경우) – geeFlo

+0

이 작품! 성이 입력되었는지 여부에 관계없이 쉼표가 있기 때문에 최적이 아닙니다.하지만 충분합니다. – Steven

+0

이러한 답변 중 하나가 문제를 해결하면 허용으로 표시하는 것이 좋습니다. – June7

관련 문제