Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
두개의 테이블을 조인후결과를 제3의 테이블로 저장하기(급)
상품을 검색후 디비그리드에 추력할때
상품마스터의 거래선코드와 거래선마스타의 거래선코드값을 조인하여,
거래처명과 상품코드 상품명을 디비그리드에 출력하려고 합니다.
adoquery를 사용하고 있는데. 조인문을 지원하지 않는다는 합니다.
또 검색된 내용을 제3의 테이블에 저장하는 방법은 없나요..
저장된 내용으로 리포트를 출력하여 합니다.
고수님들의 조언 부탁드립니다.
2
COMMENTS
BLUE
•
2001.08.08 01:57
임형완 wrote:
> 상품을 검색후 디비그리드에 추력할때
> 상품마스터의 거래선코드와 거래선마스타의 거래선코드값을 조인하여,
> 거래처명과 상품코드 상품명을 디비그리드에 출력하려고 합니다.
> adoquery를 사용하고 있는데. 조인문을 지원하지 않는다는 합니다.
> 또 검색된 내용을 제3의 테이블에 저장하는 방법은 없나요..
> 저장된 내용으로 리포트를 출력하여 합니다.
> 고수님들의 조언 부탁드립니다.
일단 조회 후 디비그리드에 뿌리는 작업은 하시리라 믿습니다.
그리고 전 디비그리드를 잘 쓰지 않아서...
adoquery도 써본적이 없죠..(진짜 이건 몰까??)
디비그리드는 전체 디비를 읽어서 table로 연결한 후 쭉 뿌릴경우는
속도및 사용법이 편리하지만 여러가지로 불편한점이 많다고 생각합니다.
그래서 예전에 저희 회사에서는 스트링그리드를 많이 사용하였지요.
일단 조회한 후에는 임시 테이블을 만드십시요.
파라독스 테이블이 편할 듯 합니다.
소스입니다..
{== 출력물 임시 테이블 생성 ==}
if FileExists('c:temp_table.db') then
begin
table1.Active := false;
table1.DatabaseName := 'C:';
table1.TableName := 'temp_table';
table1.TableType := ttParadox;
table1.DeleteTable;
end;
{== 임시 테이블 False 만들기. ==}
table1.Active := False;
table1.DatabaseName := 'C:';
table1.TableName := 'temp_busu';
table1.TableType := ttParadox;
table1.FieldDefs.Clear;
{== 컬럼수 만큼 필드 만들기 ==}
{== SG1 : 조회한 스트링그리드 ==}
{== 20 : 임시테이블 필드 크기 ==}
for i := 0 to SG1.ColCount - 2 do
table1.FieldDefs.Add('field' + inttostr(i), ftString, 20, false);
table1.CreateTable;
table1.Active := true;
{== 만들어진 테이블 필드에 자료 넣기 ==}
{== 그리드를 끝까지 돌면서 임시테이블에 넣기 ==}
for i := 1 to sg1.RowCount - 1 do
begin
if sg1.Cells[1,1] = '' then Break;
table1.Append;
for j := 0 to sg1.ColCount - 2 do
table1.FieldByName('field' + IntToStr(j)).asstring := sg1.Cells[j,i];
table1.Post;
end;
{== 출력 폼에 집어 넣기 ==}
with Frm_Busu_R do
begin
QRDBText1.DataField := 'field0';
QRDBText2.DataField := 'field1';
QRDBText3.DataField := 'field2';
QRDBText4.DataField := 'field3';
QRL_Name.Caption := Panel10.Caption; //본부/부서명칭
QRL_Date.Caption := Copy(MaskEdit1.Text,1,4) + '/'
+ Copy(MaskEdit1.Text,5,2) + '/'
+ Copy(MaskEdit1.Text,7,2) ;
QRL_Count.Caption := Panel12.Caption; //총 인원 수
QRL_Sum.Caption := Panel13.Caption + '원'; //총 액
QuickRep1.Preview;
end;
답변이 됐는지 모르겠네요...
그럼 이만/////////////
0
0
삭제
수정
댓글
MAJOR
•
2001.08.06 20:26
임형완 wrote:
> 상품을 검색후 디비그리드에 추력할때
> 상품마스터의 거래선코드와 거래선마스타의 거래선코드값을 조인하여,
> 거래처명과 상품코드 상품명을 디비그리드에 출력하려고 합니다.
> adoquery를 사용하고 있는데. 조인문을 지원하지 않는다는 합니다.
> 또 검색된 내용을 제3의 테이블에 저장하는 방법은 없나요..
> 저장된 내용으로 리포트를 출력하여 합니다.
> 고수님들의 조언 부탁드립니다.
====
안녕하세여..
그런 문제라면 제가 보기에는 파라독스로 다운을 받아서 리포트로 출력을 하는 게 좋을 것 같네여...
뭐 필드 만들어주고 나중에 관리하기는 복잡하지만 그래도 제가 보기에는 만만한(?) 파라독스를 사용하는 게 좋을 것 같네여..
만드는 법이나 결과를 옮기는 것은 TableCreate나 BatchMove혹은 바로 For나 While로 루프를 돌려서 사용을 하시면 될 것 같네여..
좀 더 편한 방법이 있는 지는 모르겠지만 제가 아직 실력이 모자라서리..
더 좋은 방법을 아시게 되면 올려주세요..
나중에 저두 참고로 사용하게요..
그럼 즐프하세여..
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
sesilia
2001.08.06 22:54
0
COMMENTS
/
0
LIKES
[허접] 컴포넌트의 디버깅?
송상섭
2001.08.06 22:45
0
COMMENTS
/
0
LIKES
db를 분할 압축할려고 하는데여~ 도와주세요!@
초보
2001.08.06 21:52
0
COMMENTS
/
0
LIKES
스트링그리드의 셀을 비연속 다중선택도 가능하게 하고 싶어요...
델초보
•
2001.08.06 21:51
1
COMMENTS
/
0
LIKES
질문)혹시 실행화일 가지고 소스를 알수있나요?
바람개비
•
2001.08.07 00:15
저의 지식의 한계인지는 알수 없으나 실행화일을가지고 소스를 만들어낼수는 없습니다. 그렇게 된다면......
바보
•
2001.08.06 21:02
2
COMMENTS
/
0
LIKES
(질문)bde없이 interbase사용하기?
류종택
•
2001.08.06 21:10
델파이 5.0 또는 6.0에서는 Interbase를 직접핸들링하는 콤포넌트가 있습니다. 콤포넌트 판넬에서 Interba...
바보
•
2001.08.07 03:36
그방법말고 installshield에서 레지스트리값을 설정해서 setup 시 자동설정하게 해준다거나... 필요한 ...
이인수
2001.08.06 20:33
0
COMMENTS
/
0
LIKES
MS-SQL 2000으로 디비 변경하려합니다.
델초보
•
2001.08.06 19:58
1
COMMENTS
/
0
LIKES
Excel에서 파일을 열고싶습니다.
박장용
•
2001.08.06 20:10
ShellExecute를 쓰시면 윈도우에 등록된 확장자에 연결된 프로그램을 구동 시킬수 있습니다.. 그러니까 탐...
고양이
2001.08.06 20:12
0
COMMENTS
/
0
LIKES
동적생성된 폼의 컴포넌트 선택?
궁구미
2001.08.06 19:40
0
COMMENTS
/
0
LIKES
DBGrid에서 마우스휠사용은 완벽하게 안되는건가여..
이호림
2001.08.06 16:05
0
COMMENTS
/
0
LIKES
DelphiX에서 이미지 onClick 구현할려면 어떻게....
이호림
2001.08.06 16:01
0
COMMENTS
/
0
LIKES
DelphiX에서 마우스 클릭시 특정물체 이동하는 방법좀...
永蔭
•
2001.08.06 10:44
1
COMMENTS
/
0
LIKES
SndPlaySound함수... 답변좀 해주세요... ㅡㅜ
ben
•
2001.08.06 20:43
永蔭 wrote: > SndPlaySound함수를 쓰려고 하는데 잘 안되네요... > 델파이3을 쓰고 있는데... > Undecl...
강덕원
•
2001.08.06 09:01
1
COMMENTS
/
0
LIKES
http다운로드...http경로에 있는 문서나 그림파일을 다운로드받는 법
전철호
•
2001.08.06 23:11
강덕원 wrote: > 제목 그대로입니다. > http결로에있는 그림을 다운로드 받는거죠. > 너무 막막해서 친...
임형완
•
2001.08.06 07:19
2
COMMENTS
/
0
LIKES
두개의 테이블을 조인후결과를 제3의 테이블로 저장하기(급)
상품을 검색후 디비그리드에 추력할때 상품마스터의 거래선코드와 거래선마스타의 거래선코드값을 조인하여, 거래처명과 상품코드 상품명을 디비그리드에 출력하려고 합니다. adoquery를 사용하고 있는데. 조인문을 지원하지 않는다는 합...
BLUE
•
2001.08.08 01:57
임형완 wrote: > 상품을 검색후 디비그리드에 추력할때 > 상품마스터의 거래선코드와 거래선마스타의 거...
MAJOR
•
2001.08.06 20:26
임형완 wrote: > 상품을 검색후 디비그리드에 추력할때 > 상품마스터의 거래선코드와 거래선마스타의 거...
개발자
2001.08.06 06:48
0
COMMENTS
/
0
LIKES
string grid 잘 하시는 분 도와주세요^^
이상호
•
2001.08.06 06:36
1
COMMENTS
/
0
LIKES
[제목]트리뷰에서 해당노드의 root알려면 어
여영식
•
2001.08.06 19:32
안녕하세요. 다른 방법이 있는지는 몰라도 제가 사용하는 방법입니다. 자신의 parent 노드가 nil일때 까...
김정섭
•
2001.08.06 05:59
2
COMMENTS
/
0
LIKES
[제목]for문에서 해당조건 삭제시 번호감소 시키기?
개허접
•
2001.08.06 09:35
스트링 그리드는 아니구 listview를 야그해볼께요.. 물론 참고사항이니다. c := 0; while c < listvie...
강인규
•
2001.08.06 06:22
먼말인진 잘 모르겠지만..ㅡ.ㅡ;;; 해당 변수를 변경시키려 한다면 while을 쓰시는게 좋은 방법인거 같...
김정수
2001.08.06 04:02
0
COMMENTS
/
0
LIKES
FormCreate한 후에 FormShow에서 MainForm = nil...ㅠㅠ
델초보
2001.08.06 01:01
0
COMMENTS
/
0
LIKES
☆ DBGrid에서 한글입력시 이상하게 나오... ☆
이성윤
•
2001.08.06 00:33
3
COMMENTS
/
0
LIKES
델파이의 database 이용에 대해서
이성윤
•
2001.08.06 00:35
'궁굼이'라는 분께서 올려주신 자료입니다. 고수님들의 도움이 꼭 필요합니다. 조금이라도 해주실 말...
이성윤
•
2001.08.06 00:34
'아폴론'이라는 아이디를 가지신 분께서 올린 글입니다. ----------------------------------------------...
이성윤
•
2001.08.06 00:33
'아폴론'이라는 분의 질문에 올라온 답변입니다. 글의 내용을 보면 결과적인 현상은 해결의 실마리를 찾을...
임형완
2001/08/06 07:19
Views
278
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 상품을 검색후 디비그리드에 추력할때
> 상품마스터의 거래선코드와 거래선마스타의 거래선코드값을 조인하여,
> 거래처명과 상품코드 상품명을 디비그리드에 출력하려고 합니다.
> adoquery를 사용하고 있는데. 조인문을 지원하지 않는다는 합니다.
> 또 검색된 내용을 제3의 테이블에 저장하는 방법은 없나요..
> 저장된 내용으로 리포트를 출력하여 합니다.
> 고수님들의 조언 부탁드립니다.
일단 조회 후 디비그리드에 뿌리는 작업은 하시리라 믿습니다.
그리고 전 디비그리드를 잘 쓰지 않아서...
adoquery도 써본적이 없죠..(진짜 이건 몰까??)
디비그리드는 전체 디비를 읽어서 table로 연결한 후 쭉 뿌릴경우는
속도및 사용법이 편리하지만 여러가지로 불편한점이 많다고 생각합니다.
그래서 예전에 저희 회사에서는 스트링그리드를 많이 사용하였지요.
일단 조회한 후에는 임시 테이블을 만드십시요.
파라독스 테이블이 편할 듯 합니다.
소스입니다..
{== 출력물 임시 테이블 생성 ==}
if FileExists('c:temp_table.db') then
begin
table1.Active := false;
table1.DatabaseName := 'C:';
table1.TableName := 'temp_table';
table1.TableType := ttParadox;
table1.DeleteTable;
end;
{== 임시 테이블 False 만들기. ==}
table1.Active := False;
table1.DatabaseName := 'C:';
table1.TableName := 'temp_busu';
table1.TableType := ttParadox;
table1.FieldDefs.Clear;
{== 컬럼수 만큼 필드 만들기 ==}
{== SG1 : 조회한 스트링그리드 ==}
{== 20 : 임시테이블 필드 크기 ==}
for i := 0 to SG1.ColCount - 2 do
table1.FieldDefs.Add('field' + inttostr(i), ftString, 20, false);
table1.CreateTable;
table1.Active := true;
{== 만들어진 테이블 필드에 자료 넣기 ==}
{== 그리드를 끝까지 돌면서 임시테이블에 넣기 ==}
for i := 1 to sg1.RowCount - 1 do
begin
if sg1.Cells[1,1] = '' then Break;
table1.Append;
for j := 0 to sg1.ColCount - 2 do
table1.FieldByName('field' + IntToStr(j)).asstring := sg1.Cells[j,i];
table1.Post;
end;
{== 출력 폼에 집어 넣기 ==}
with Frm_Busu_R do
begin
QRDBText1.DataField := 'field0';
QRDBText2.DataField := 'field1';
QRDBText3.DataField := 'field2';
QRDBText4.DataField := 'field3';
QRL_Name.Caption := Panel10.Caption; //본부/부서명칭
QRL_Date.Caption := Copy(MaskEdit1.Text,1,4) + '/'
+ Copy(MaskEdit1.Text,5,2) + '/'
+ Copy(MaskEdit1.Text,7,2) ;
QRL_Count.Caption := Panel12.Caption; //총 인원 수
QRL_Sum.Caption := Panel13.Caption + '원'; //총 액
QuickRep1.Preview;
end;
답변이 됐는지 모르겠네요...
그럼 이만/////////////