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

작성자:  

 준이 (dipper1)

추천:  0
파일:     조회:  521
제목:   중복되지 않게 rnd() 사용하기..
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

1. 액세스 버전(95,97,2000,2002):2002
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):WinXP
3. CPU (486,PentiumI/II/III/IV...): P4
4. RAM (32,64,128,256,512MB,1G...): 512

* 아래줄에 질문을 작성하세요 >> 
안녕하세요.. 아직 왕초보라 모르는게 너무 많습니다.
아래 코드를 보시면 무작위로 제품ID를 선택해서 테이블에 insert하도록 짰는데요.. 아래와 같이하면 중복되는 ID가 몇번이고 들어갈 수가 있습니다. 아래문에서 어떤방식으로 해야 레코드를 중복되지 않게 무작위로 추출할 수 있을까요?

Dim db As Database
Dim rs As Recordset
Set db = CurrentDb

Dim esql As String

 Dim a As integer
 Dim b As String
 Dim c As integer
 
 Dim x As Integer
 Dim y As Integer
 

db.Execute "delete * from 세금테이블"

For i = 1 To Me.Text9


  x = Me.Text7
  Randomize
  
  y = Int(Rnd() * x) + 1
'x는 제품ID를 몇번ID까지로 제한할지를 의미함

  esql = "Select 제품ID, 제품명, 수입단가 from 모든제품명출력쿼리 where 제품ID= "
  esql = esql & y
  
Set rs = db.OpenRecordset(esql)
a = rs("제품id")
b = rs("제품명")
c = rs("수입단가")


db.Execute "Insert INTO 세금테이블(제품ID, 제품명, 수입단가) VALUES('" & a & "', '" & b & "', '" & c & "')"
    
    
rs.Close
       
Next
        
    
End Sub

 
[불량 게시물 신고]  
sjhddo안녕하세요? for 문 안에 do until 문 등을 같이 집어넣어서 한 개의 for 문이 실행되면 do until이 실행되어서 값이 일치 하지 않을 떄까지 반복을 해서 나온 값을 rnd시키는 방법등이 있겠쬬
09-20 (21:37)
삭제 ■신고
준이아.. 이해가 힘드네요.. T.T09-21 (16:53)
삭제 ■신고
        
  

작성일 : 2004-09-20(15:41)
최종수정일 : 2004-09-20(15:41)