나눔터  
  HOME > 나눔터 > 묻고답하기 > 액세스
액세스
액세스에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 김규경 (k3dragon)

추천:  0
파일:     조회:  1386
제목:   그냥 Sendkeys 이용하는 것이 좋지않을까요?
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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 명령을 한번 공부하시고 시도해 보십시오.
어렵지는 않을 겁니다.

그럼 ...:))
 
[불량 게시물 신고]  
        
  

작성일 : 2002-06-11(09:07)
최종수정일 : 2002-06-11(09:07)
 


 ◎ 관련글

  제 목   작성자   날짜
ole개체를 다시 파일로 저장? 미르 2002-06-07
[RE]ole개체를 다시 파일로 저장? 2002-06-08
[RE]헛 쉬운 방법이 2002-06-08
[RE] 이상한 문제가... 2002-06-09
[RE] 이상한 문제가... 김규경 2002-06-09
[RE] 이상한 문제가... 2002-06-10
그냥 Sendkeys 이용하는 것이 좋지않을까요? 김규경 2002-06-11