| |
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
1. 액세스 버전(95,97,2000,2002):2000
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):2000
3. CPU (486,PentiumI/II/III/IV...):amd 1700+
4. RAM (32,64,128,256,512MB,1G...): 512
* 아래줄에 질문을 작성하세요 >>
이미지를 그래픽 프로그램에서 열고 복사한 후
엑세스에서
데이타 형식을 ole개체로 하고 폼에서 입력을 했는데 (붙여넣기)..
입력을 열심히 했지요... 한 2년 됬는데 이제 용량제한에 걸렸습니다.
이걸 다시 이미지파일로 뽑아낼 수 없나요?
vb문이나 sql문을 통해서..
하나씩 복사해서 붙이고 이름정하고 하면 되긴 하는데 넘 많아서요.. T.T
사실 지도CD에서 복사한 약도들인데..
지도CD에서 클립보드로 복사한 후 엑세스에서 바로 붙였거든요..
이렇게 용량제한에 걸릴줄 알았으면
첨부터 귀찮더라도 그냥 하나씩 저장하고 파일위치만 저장했을것을... 그게 귀찮아서..
하여간 뭔가 방법이 없을까요??
==============[미르님 글에 대한 답변입니다]==============
안녕하세요.
방법은 있어보입니다만,
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q119395
허접합니다. 같은 문제에 관해 MS SUPPRT에서 답변한건데, 대체로 코딩으로는 이이상의 방법이 없을듯합니다.
==============[한님 글에 대한 답변입니다]==============
ado2.7에 생긴 ado.stream이 문득 생각나 뒤져보니, 쉬운 방법이 있군요.
http://groups.google.com/groups?hl=en&lr=&threadm=99ff01c19dbf%24f2bafe60%2419ef2ecf%40tkmsftngxa01&rnum=8&prev=/groups%3Fas_q%3Dadodb.stream%2520access%26lr%3D%26hl%3Den
해보시고 문제가 있으면 리플달아주세요. 저는 테이블에 그림을 넣어보려다 너무 괴로와 해보지 못했습니다만, 코딩에 문제 있으면 약간의 도움이 될수도 있을것입니다.
==============[한님 글에 대한 답변입니다]==============
제가 링크올려놓고 아무래도 찜찜해 한번 해봤는데.. C:\X.BMP를 MDB에 코드로 넣고, 테이블닫은다음, 다시 그 필드를 읽어, C:\XXX.BMP로 출력하고, 출력된 그림을 VB 픽처박스에 출력해보았습니다(아래코드). 만사 OK. 물론 액세스 모듈에서도 커넥션,픽처박스 라인만 삭제하면 문제가 없을것입니다. 근데 이상하게도 손으로(?) 집어넣은 그림은 출력하면 깨져나오네요. ???
Private Sub Form_Load()
Dim c As New ADODB.Connection
Dim r As New ADODB.Recordset
Dim strm1 As New ADODB.Stream
Dim strm2 As New ADODB.Stream
s = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\db1.mdb;"
c.Open s
With strm1
.Type = adTypeBinary
.Open
.LoadFromFile "c:\x.bmp"
End With
r.Open "SELECT p from t1", c, 1, 3, 1
r(0) = strm1.Read
r.Update
r.Close
r.Open "select p from t1", c, 1, 3, 1
strm2.Type = adTypeBinary
strm2.Open
strm2.Write r.Fields("p").Value
strm2.SaveToFile "c:\xxx.bmp", adSaveCreateOverWrite
Picture1.Picture = LoadPicture("c:\xxx.bmp")
Set c = Nothing
Set r = Nothing
Set strm1 = Nothing
Set strm2 = Nothing
End Sub
==============[한님 글에 대한 답변입니다]==============
한보환님 오랜만입니다.
요즘 병원에서 살다시피 합니다.
가끔 퇴근길에 한번 만나러 가볼까 하지만 여의치 않군요.
싸이트를 아껴주시고 열심히 활동하시는 모습에 감동하고 있습니다.
~~ ^^ ~~
그림을 개체삽입이나 복사해서 집어 넣으면
OLE Link를 위한 헤더정보가 들어가서 그럴 겁니다.
==============[김규경님 글에 대한 답변입니다]==============
개원 초기 바쁘신중에도 오시니 반갑습니다. 저야말로 한번 찾아뵈야 하는데, 요즘 제 차를 학원용으로 쓰느라, 몸은 빼도 차를 못빼서. 버스라도 타고 꼭한번 찾아뵈려 합니다. 사실 거기 마송 안쪽에 제가 좋아하는 낚시터가 하나 있거든요:)
/헤더정보/, 역시 정확한 표현이십니다. 그래서 그림을 바이너리로 읽어 그 정보를 삭제하면 된다고 하는 사람들도 있더군요. 문득 여기에 VBA코너도 하나 있었으면 하는 생각도 듭니다. 사실 VBA 안해도 웬만한거 다할수 있는데, 같은 게시판에 뒤섞이니 어떤 분들은 혼란스러울것 같기도 합니다.
==============[한님 글에 대한 답변입니다]==============
한번 놀러오세요.
그나저나
헤더정보를 약간 분석하면 되겠지만 꼭 그럴필요가 있겠습니까?
그냥 다음과정을 액세스에서 Sendkeys 명령으로 간단히 처리하면 되지않겠습니까?
그림필드 선택=>복사=>그림을 저장에 이용할 응용프로그램 실행/활성화
=>새파일만들기메뉴실행=>붙여넣기=>파일저장메뉴실행
=>대화창에서 저장할 이름입력=>저장명령수행
미르님!
Sendkeys 명령을 한번 공부하시고 시도해 보십시오.
어렵지는 않을 겁니다.
그럼 ...:)) |
|