2012-06-22 2 views
1

데이터베이스의 모든 텍스트 필드 값이 대문자로 변환되었습니다. 열 단위로 특정 텍스트 항목을 소문자 또는 적절한 경우로 복원하고 싶습니다.열 수준에서 대/소문자를 복원하는 기능

for each entry in column x of recordset y 
entry = strconv(entry,3) 
end 

이 쉽게 단순히 디자인보기에 내 테이블을 클릭하고 속성을 변화시킬 수있을 것입니다,하지만 난 이런 건 볼 수 없습니다 :

내가 생각하고있는 의사는 같은가 .

+0

쿼리 디자인 창을 사용해보십시오. – Fionnuala

+0

(내 투표는 아니지만 그 이유를 알 수 있습니다) – Fionnuala

+0

나는 그것을 시도 할 것입니다. 내 투표가 중요한 연구 노력이나 .....을 나타내지 않았기 때문에 아래로 투표하는만큼, 그것은 될 것입니까? 다른 유사한 질문을 보지 못했고 MS Access에 익숙하지 않습니다. 열에 대한 업데이트를 실행하고 함수를 호출하면 내 마음이 흐려졌습니다. – Scotch

답변

3

시도 :이 경우

UPDATE Table1 SET atext = UCase(Left([atext],1)) & LCase(Mid([atext],2)) 
WHERE AText Is Not Null 

FIRST

SELECT Table1.atext, 
     UCase(Left([atext],1)) & LCase(Mid([atext],2)) AS SConv 
FROM Table1; 

업데이트 쿼리 BACKUP, Format 대문자를 강제 테이블에 추가가 있다고 보인다. 대부분의 경우 테이블의 형식은 피해야합니다. 쿼리와 양식에 더 적합합니다.

+0

올바른 대문자가있는 해당 열을 제공하기 위해 노력합니다. 그러나 기존 열을 업데이트하려고하면 변경 내용이 적용되지 않습니다. – Scotch

+1

@Scott SQL에 익숙합니까? MS Access를 효과적으로 사용하려면 약간의 지식이 필요합니다. – Fionnuala

+0

예, "직원 수정 SET 직원을 실행합니다. [Name] = strconv (Employees. [Name], 3) 직원은 [Name]이 (가) null이 아닙니다." 이름 필드는 변경되지 않습니다. 이것이 제가 겪고있는 문제입니다. – Scotch

1

1 단계 : Access에는 Proper() 함수가 없지만 Excel에는 Proper() 함수가 없습니다.

Function fProper(x As Variant) 
    fProper = Excel.WorksheetFunction.proper(Nz(x)) 
End Function 

2 단계 : 따라서 VBE에서 Excel을 참조하고, 함수를 만들어, 그것을 사용하는 일단

UPDATE Clients SET CompanyName = fProper([companyname]); 

: 이것과 같은 업데이트 쿼리를 작성하여 데이터를 업데이트 필요한 경우 "for each"부분을 자동화하기 위해 코딩을 시작할 수 있습니다.

+3

어? StrConv : http://office.microsoft.com/en-us/access-help/strconv-function-HA001228915.aspx – Fionnuala

+2

또한 2 단계를 실행 한 후 모든 고객은 "회사 이름"회사의 구성원이됩니다. 나는 당신이'UPDATE 클라이언트 SET CompanyName = fProper (companyname);을 의미한다고 믿는다. – mwolfe02

+0

나의 이해에 따르면, 접근을위한 "적절한"기능은 간단히 strconv (string, 3)이다 ... 나는 내 자신을 쓰려고한다. 단순히 전체 문자열의 첫 글자를 대문자로 만듭니다. 모든 단어의 첫 글자가 대문자로되어 있으면 버그가 나옵니다. 도움을 주셔서 감사합니다, 나는 업데이트 쿼리를 실행하는 것은 내가 쓴 몇 가지 이유로 작동한다고 생각하지 않았다. – Scotch

관련 문제