| |
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
1. 액세스 버전(95,97,2000,2002):2000
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):win2000
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...):
필드A 필드B
가 2
나 1
다 2
일때, 필드 B 안의 숫자(각각 2,1,2)만큼 A필드의 레코드가 복사되는 방법은 없을까요?
필드 A
가
가
나
다
다
이렇게 되게요..^^;
==============[mari님 글에 대한 답변입니다]==============
전 주로 97버전만 사용하는데.. 다음과 같이 vba로 처리해보세요.
테이블명 : Table1(필드A, 필드B)
테이블명 : Table2(필드A)
Function DataAddTest()
Dim DB As Database
Dim RS1, RS2 As Recordset
Dim Li As Integer
Set DB = CurrentDb()
Set RS1 = DB.OpenRecordset("Table1")
RS1.MoveFirst
Do Until RS1.EOF
Set RS2 = DB.OpenRecordset("Table2")
For Li = 1 To Val(RS1![필드B])
RS2.AddNew
RS2![필드A] = RS1![필드A]
RS2.Update
Next Li
RS2.Close
RS1.MoveNext
Loop
RS1.Close
Set DB = Nothing
End Function
==============[찡어님 글에 대한 답변입니다]==============
답변주셔서 정말 감사드리고요,,그런데 제가 vba 초보라 잘못해서
그런지 오류가 나네요..^^;
13 런타임오류가 발생하였습니다
형식이 일치하지 않습니다 라는 메시지가 나오면서 디버그를
누르면 Set RS2 = DB.OpenRecordset("Table2") 이 부분에
노란줄이 생기는데 무엇이 문제인지 모르겠네요.. |
|