복사해서 붙여넣기로 하면서 에러가 나는 경우가 몇번 있었어서, Sql query 만들어서 하는 방법을 택하였다.
SQL query를 만들 때 가장 문제는 문자형의 경우는 "" 로 싸거나, ''로 싸거나 하는 경우가 많다는거다,
그래서 필요한 함수를 먼더 만들어야한다.
도구 >> 매크로 >> edit 매크로
다음과 같은 Basic 함수를 만들어주자.
function dquoted(Optional x)
Dim iRow As Integer
Dim iCol As Integer
DIM resultString As String
resultString = ""
If NOT IsMissing(x) Then
If NOT IsArray(x) Then
resultString = Chr(34) & x &Chr(34)
Else
For iRow = LBound(x, 1) To UBound(x, 1)
For iCol = LBound(x, 2) To UBound(x, 2)
resultString = resultString &", " & Chr(34) & x(iRow,iCol) &Chr(34)
Next
Next
End If
End If
dquoted = resultString
end function
여러칼럼의 문자 칼럼이 있다면, 쓸 수 있도록 해주었다.
그 다음 부터야 간단하다.
앞 셀에는 insert into tablename ( 를 넣고, 다음 칼럼이 숫자면 그냥 =해당 데이터로 그대로 복사해준다.
문자열로 이루어진 칼럼은 위 함수를 사용해서 =dquoted( 해당 문자열 또는 문자열 어레이) 를 해준다.
이런 식의 반복 후 마지막 데이터 칼럼 뒤에 ); 을 넣어준다.
그 다음에 =concat( insert into 셀부터 ); 까지 선택
그 다음쿼리를 다 선택후 끌어내려서 채우기를 한 후,
concat 셀을 모두 선택한 후, base에 가서 sql 명령어 넣기를 하면 자료가 들어간다.
댓글 없음:
댓글 쓰기