2012-07-24 3 views
3

Access 2010의 VBA를 처음 접했습니다. 테이블의 필드 이름에서 값을 변경하려고합니다. SitusPreDirection에서테이블의 필드 이름에있는 데이터 찾기 및 바꾸기

Table Name: WeeklySaleT 
Field Name: SitusPreDirection 

가능한 값 : 다음은 세부 사항은 W "E" "N" "S" ""

다음 나타날 때마다 변경하려면 "E"= "동쪽" N "="북한 ","S "="남 "과"W "="웨스트는 "

내가 VBA에서?

답변

3

그것은 당신이하지 않은 경우 쿼리를 사용하는 것이 가장 것이라고 할 것입니다 방법 먼저 테이블을 복사 한 다음 쿼리 디자인 창에 테이블을 추가하고 도구 모음에서 쿼리 업데이트를 선택하고 d에 SitusPreDirection을 추가합니다. 두 번 클릭하거나 드래그하여 그리드를 그립니다. "E" "N" "S" "W"중 하나에 기준을 설정하고 일치하는 값 "east"로 예를 들어 업데이트하십시오. 당신이 수, 방향에 대한

Dim db As Database 
Set db = CurrentDB 

sSQL = "UPDATE WeeklySaleT SET " _ 
     & "SitusPreDirection = ""East"" WHERE SitusPreDirection = ""E""" 

db.Execute sSQL, dbFailOnError 
2

조회 테이블로 : 당신과 같이 VBA에서 이것을 사용할 수 있습니다

UPDATE WeeklySaleT SET SitusPreDirection = "East" 
WHERE SitusPreDirection = "E" 

: 당신은 SQL보기로 전환하면

, 당신은 같은 것을 볼 것입니다 단일 UPDATE 쿼리를 사용하십시오.

SitusPreDirection_lookup

:

SitusPreDirection long_name 
E     East 
N     North 
S     South 
W     West 

그런 다음 SQL보기로 전환이 UPDATE 문에 붙여 새 쿼리를 만듭니다. SQL, 디자인 및 데이터 시트보기간에 전환하여 쿼리 디자인의 변경 사항을 시험하고 이러한 변경 결과를 볼 수 있습니다.

UPDATE WeeklySaleT 
SET SitusPreDirection = DLookup("long_name", 
    "SitusPreDirection_lookup", 
    "SitusPreDirection = '" & SitusPreDirection & "'") 

당신이 조회 테이블을 생성하지 않으려면, 당신은 Switch Function를 사용하여 쿼리를 만들 수있다. 그런 다음 별도의 테이블이 없으면 본질적으로 조회 쌍을 조회에 포함시킵니다. 그러나 나는 테이블을 유지하기가 더 쉽다고 생각합니다. NE, SE, SW 및 NW를 포함하도록 방향을 확장해야하는 경우 어떻게 될지 고려하십시오. 테이블을 사용하면 각각에 대해 행을 추가하면되며 동일한 쿼리가 계속 원활하게 작동합니다. 그러나 조회에 조회 데이터를 임베드 할 때 조회의 SQL을 수정해야합니다.