2013-10-31 2 views
0

나는 루핑을 통해 액세스하고있는 vba에 쿼리가 있습니다. 결과는 속성의 이름이고이 이름으로 속성 이름 인 하나의 매개 변수를 사용하는 쿼리를 사용하는 보고서를 열고 싶습니다. . 루프 문제가 나는 그 매개 변수를 루프에서 보고서에 전달하는 데 문제가 있습니다. 몇 가지 시도했지만 아무 소용이 나는 매개 변수를 수동으로 전달하는 메시지를 계속. 이 루프는 기본적으로 이메일 첨부로 각 소유주에게 보고서를 보냅니다. 내가 루프를 하나씩 하나씩 보고서를 할 때 잘 작동하지만 루프에서 속성 이름을 선택하지 않는 것 같습니다.Microsoft Access 2000 VBA

+0

속성 이름을 검색 한 다음 동일한 보고서를 각 속성 소유자에게 보내는 루프를 반복하려고합니까? – HelloW

+0

안녕하세요, 나는 속성 이름 (집 이름)을 반환하는 첫 번째 결과 집합을 얻고 그 결과 나는 루프 내에서 보고서를 각 소유자에게 이메일로 보낼 수있는 보고서에 속성 이름을 전달하려고합니다. –

+0

만약 내가 수동으로 양식 (하나씩)을 통해 매개 변수를 아무런 문제가 걸립니다. –

답변

0

당신이해야 할 일은 쿼리를 반복하고 쿼리의 각 레코드에 대한 보고서를 여는 것입니다. 같은 뭔가 : 당신이 "OpenArgs을"이라고 무엇을 전달하고 있기 때문에

Dim db as Database 
Dim rec as Recordset 
Dim PName as String 

Set db = CurrentDB 
Set rec = db.OpenRecordset ("Select * from YourQueryName") 

Do While rec.EOF = False 
    PName = rec("PropertyName") 
    DoCmd.OpenReport "ReportBookingsForSites", acViewPreview, , , , PName 
Loop 

Set rec = Nothing 
Set db = Nothing 

당신이 OpenReport 문자열에 PNAME을 넣어 이유입니다. 이렇게하면 보고서를 열고 변수를 사용할 수 있습니다.

Me.RecordSource = "Select * from Whatever where PropertyName = '" & Me.OpenArgs & "'" 

을 수행해야합니다 보고서의 OnLoad 이벤트에서

,이 같은 것을 넣어.

+0

나는 그것을 시도 할 것이다. –

관련 문제