| |
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
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 |
|