2009-12-03 2 views
0

각 열에 개별 명령문을 쓰지 않고 테이블의 모든 공백을 밑줄로 바꾸려면 SQL 쿼리를 어떻게 작성합니까?테이블의 모든 공백을 밑줄로 바꾸려면 SQL 쿼리

+0

그냥 수행해야하는 잠금 그것은 VBA 코드가 그것을 할 수있는 경우 MS 액세스에서 내 선택에 맞는 것입니다. 데이터베이스가 약 4 lakh 레코드가 있음을 유의하십시오 – silverkid

답변

3

UPDATE [TABLE_NAME] SET [FIELD_NAME = 대체 ([FIELD_NAME]가 '' '_'), field_name2 = 대체 ([field_name2] '', '_')

그러나 (코드 때때로

Dim rs As DAO.Recordset 
Dim db As Database 

Set db = CurrentDb 

Set rs = db.OpenRecordset("SELECT * FROM TheTable") 

For i = 0 To rs.Fields.Count - 1 
    ''You may wish to check dbMemo as well as dbText 
    If rs.Fields(i).Type = dbText Then 
     ''You have to watch out for single quotes as well as spaces 
     s = "UPDATE TheTable SET [" & rs.Fields(i).Name & "] = " _ 
     & "Replace(Replace([" & rs.Fields(i).Name & "],""''"",""'""),"" "",""_"") " _ 
     & "WHERE Instr([" & rs.Fields(i).Name & "],"" "")>0 " _ 
     & "AND [" & rs.Fields(i).Name & "] Is Not Null" 
     db.Execute s, dbFailOnError 
     Debug.Print db.RecordsAffected 
    End If 
Next 
+0

+1 400K 행에 액세스 할 때 너무 많은 문제를 제기해서는 안됩니다. T를 원한다. o 연속적인 공간이 1보다 큰 값이 있다면? –

+0

작은 따옴표는 어떨까요? – Fionnuala

0

에 맞게 수 위 있도록, 모든 열을 요약해야) 문제가 못처럼 보이더라도.

일회성 작업이고 테이블이 몇 백만 행을 넘지 않는다면 테이블을 열고 Access에서 편집 메뉴 (또는 Ctrl-h)를 찾아서 바꿀 수 있습니다.

alt text

이 임시 데이터베이스 작업에 너무 터무니 유용하게 액세스의 그 편리한 데이터 조작 기능 중 하나입니다.

주의 사항 :
(1) 성능은 큰 테이블에 큰 수 있지만 적당한 크기의 테이블에 일회성 데이터 정리 작업에 적합합니다 (또는 당신이 몇 분을 기다릴 때하지 않습니다
(2)이 기술이 생성하는 잠금은 약간 억압 적이므로 다수의 사용자가 사용중인 DB에 대해서는 권장하지 않습니다.

+2

사실, 그 혼합물은 Access 객체 모델도 포함합니다. 미묘하지만 사실입니다. Access 데이터베이스 엔진 SQL에는 Replace() 함수가없고 Access 개체 모델에서 제공해야합니다. Access UI 외부에서 이것을 실행하려고하면 구문 오류로 인해 SQL이 실패합니다. – onedaywhen

1

당신이 망치가 필요하지 않습니다 :이 방법은 여전히 ​​대답이 당신은 VBA의 혼합물 SQL을 사용할 수 있습니다 더 필요

+0

찾기 및 바꾸기 이동을 데이터를 통해 행 단위로 사용합니다.이 이동량은 SQL UPDATE 문을 사용하는 것보다 훨씬 느립니다. -1 수천 행 이하의 테이블을 제외하고는 실행 불가능한 조언. –

+0

OP는 그가 수천 개의 행만 가지고 있으며 작은 테이블에 대해서만 사용된다는 면책 조항을 구체적으로 포함하고 있습니다. 넌 무엇을 더 원하니, 데이빗? – JohnFx

+0

또한, 만약 내가 언급했듯이 (아마도 언급했듯이) 그 성능은 아마도 주요 관심사가 아닙니다. 수백만 행의 테이블에서이 작업을 수행했습니다. 한 가지 추가주의 사항을 추가 하겠지만 테이블 잠금은 꽤 잔인합니다. 그래서 다른 사용자가 많이있는 상황에서는 피해야합니다. 그것은 데이터 분석 유형 프로젝트에서 매력처럼 작동합니다. – JohnFx

관련 문제