Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Loop to open Modal form, print then close

Status
Not open for further replies.

99Chuck99

Programmer
Dec 11, 2003
67
US
Hi all, Not sure if I'm in the right forumn for this question. I'm working on a web app. The main form has a button that opens a modal form. Modal form creates report . I have a print button that prints the data and when I close the form the loop opens the next recordset and the process continues. What I would like to do is automate this process. So far I have been able to remove the Print dialog box but unable to get print/close to work in loop. Any help would be great. I'm attaching some code to see what you think. Thanks in advance. I know it's a lot to look...

This code is on my parent page, Open my Modal form.

<SCRIPT language=vbscript event=onclick for=Command0>

Set rs1 = CreateObject("ADODB.Recordset")

strCMD1 = "SELECT SGSCMDS.[DOCUMENT NUMBER]" _
& " FROM SGSCMDS" _
& " GROUP BY SGSCMDS.[DOCUMENT NUMBER]" _
& " HAVING (((SGSCMDS.[DOCUMENT NUMBER]) Like 'SAA%'))" _
& " ORDER BY SGSCMDS.[DOCUMENT NUMBER];"

rs1.open strCMD1, MSODSC.connection
tr1 = rs1.recordcount

For t = 0 to tr1 -1
IF document.location.protocol ="accdp:" then
Msgbox "this feature isn't supported inside Access. Try again in browser."
else
bInAccess = False
dim fResync
dim dlgFormat
dim DOC

DOC = rs1.fields("DOCUMENT NUMBER").value

fResync = showModalDialog("COPY OF WUC.htm",DOC, _
"dialogHeight: 900px; dialogWidth: 1200px; center: yes; resizable: no; status: NO;")
end if
rs1.movenext
next
</SCRIPT>

This is the code in my Modal for that hides the print dialog window. My goal is to remove the onclick button and run auto. The button currently works but not when opened from parent page???

<SCRIPT language=JavaScript>
DA = (document.all) ? 1 : 0
function HandleError()
{
alert("\nNothing was printed. \n\nIf you do want to print this page, then\nclick on the printer icon in the toolbar above.")
return true;
}
</SCRIPT>
</HEAD>
<BODY>
<FORM><INPUT id=Button1 onclick=window.print(); type=button value="Print Page">
</FORM>
<SCRIPT language=VBScript>
Sub window_onunload()
On Error Resume Next
Set WB = nothing
On Error Goto 0
End Sub

Sub Print()

OLECMDID_PRINT = 6
OLECMDEXECOPT_DONTPROMPTUSER = 2
OLECMDEXECOPT_PROMPTUSER = 1
On Error Resume Next
If DA Then
call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1)
Else
call WB.IOleCommandTarget.Exec(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER,"","","")
End If
If Err.Number <> 0 Then
If DA Then
Alert("Nothing Printed :" & err.number & " : " & err.description)
Else
HandleError()
End if
End If
On Error Goto 0
End Sub
If DA Then
wbvers="8856F961-340A-11D0-A96B-00C04FD705A2"
Else
wbvers="EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B"
End If
document.write "<object ID=""WB"" WIDTH=0 HEIGHT=0 CLASSID=""CLSID:"
document.write wbvers & """></object>"
document.write "this is a test"

</SCRIPT>
</BODY></HTML>

THis is the code that creates the data on my Modal form that I want to print.

<SCRIPT language=vbscript event=CURRENT(info) for=MSODSC>
dim sect
dim OLDWUC
dim OLDDOC
dim strCMD
dim strCMD1
dim SUITEARRAY(200,7)
set sect = MSODSC.CurrentSection
Set rs = CreateObject("ADODB.Recordset")
Set rs1 = CreateObject("ADODB.Recordset")


strCMD = "SELECT DISTINCTROW testme.[DOCUMENT NUMBER], testme.WUC, OMEUDOWNLOAD.SYSTEM, [SYSTEM DRILLDOWN OMD].PREF, [SYSTEM DRILLDOWN OMD].[DOCUMENT NUMBER] AS DOCUMENT, IIf([wuc status]='H','HISTORY',IIf(IsNull([wuc status]),'INVALID','VALID')) AS VALIDATE, [SYSTEM DRILLDOWN OMD].DES, [SYSTEM DRILLDOWN OMD].REV, OMEUDOWNLOAD.O, OMEUDOWNLOAD.M, OMEUDOWNLOAD.EN, OMEUDOWNLOAD.US" _
& " FROM (testme LEFT JOIN [SYSTEM DRILLDOWN OMD] ON testme.WUC = [SYSTEM DRILLDOWN OMD].WUC) LEFT JOIN OMEUDOWNLOAD ON testme.WUC = OMEUDOWNLOAD.WUC" _
& " GROUP BY testme.[DOCUMENT NUMBER], testme.WUC, OMEUDOWNLOAD.SYSTEM, [SYSTEM DRILLDOWN OMD].PREF, [SYSTEM DRILLDOWN OMD].[DOCUMENT NUMBER], IIf([wuc status]='H','HISTORY',IIf(IsNull([wuc status]),'INVALID','VALID')), [SYSTEM DRILLDOWN OMD].DES, [SYSTEM DRILLDOWN OMD].REV, OMEUDOWNLOAD.O, OMEUDOWNLOAD.M, OMEUDOWNLOAD.EN, OMEUDOWNLOAD.US" _
& " HAVING (((testme.[DOCUMENT NUMBER])='" & DOC & "') AND (([SYSTEM DRILLDOWN OMD].PREF)='OMRD' Or ([SYSTEM DRILLDOWN OMD].PREF)='ANA')) OR (((testme.[DOCUMENT NUMBER])='" & DOC & "') AND (([SYSTEM DRILLDOWN OMD].PREF)='DR'));"

rs.open strCMD, MSODSC.connection
tr = rs.recordcount

If tr = 0 then
Msgbox "There are no WUC's associated to this item."
Closewin()
exit sub
end if
X = 0
DOCCOUNTER = 0
SAACOUNTER = 0
DRCOUNTER = 0
SPACOUNTER = 0
OLDWUC = rs.Fields("WUC").value

For I = 0 To tr - 1

IF rs.Fields("WUC").value = OLDWUC then
OLDWUC = rs.Fields("WUC").value

IF rs.Fields("VALIDATE").value = "HISTORY" or rs.Fields("VALIDATE").value = "INVALID" then
SUITEARRAY(X,1) = "<Font color='RED'>" & rs.Fields("VALIDATE").value & "</FONT COLOR>"
SUITEARRAY(X,0) = "<Font color='RED'>" & rs.Fields("WUC").value & "</FONT COLOR>"
SUITEARRAY(X,5) = "<Font color='RED'>" & rs.Fields("SYSTEM").value & "</FONT COLOR>"
SUITEARRAY(X,7) = "<Font color='RED'>" & rs.Fields("EN").value & "</FONT COLOR>"
else
SUITEARRAY(X,1) =rs.Fields("VALIDATE").value
SUITEARRAY(X,0) = rs.Fields("WUC").value
SUITEARRAY(X,5) = rs.Fields("SYSTEM").value
SUITEARRAY(X,7) = rs.Fields("EN").value
end if

PREFIX = rs.Fields("PREF").value

select case PREFIX

case "OMRD"
IF OMRDCOUNTER = 0 then
SUITEARRAY(X,2) = rs.Fields("DOCUMENT").value & " " & rs.Fields("DES").value & " " & rs.Fields("REV").value
OMRDCOUNTER = OMRDCOUNTER + 1
ELSEIF OMRDCOUNTER > 0 then
SUITEARRAY(X,2) = SUITEARRAY(X,2 )& "<BR>" & rs.Fields("DOCUMENT").value & " " & rs.Fields("DES").value & " " & rs.Fields("REV").value
OMRDCOUNTER = OMRDCOUNTER + 1
end if
case "ANA"
IF Left(rs.Fields("DOCUMENT").value,3)= "SPA" then
IF SPACOUNTER = 0 then
SUITEARRAY(X,3) = rs.Fields("DOCUMENT").value & " " & rs.Fields("DES").value & " " & rs.Fields("REV").value
SPACOUNTER = SPACOUNTER + 1
ELSEIF SPACOUNTER > 0 then
SUITEARRAY(X,3) = SUITEARRAY(X,3 )& "<BR>" & rs.Fields("DOCUMENT").value & " " & rs.Fields("DES").value & " " & rs.Fields("REV").value
SPACOUNTER = SPACOUNTER + 1
end if
ELSEIF Left(rs.Fields("DOCUMENT").value,3)= "SAA" then
IF SAACOUNTER = 0 then
SUITEARRAY(X,6) = rs.Fields("DOCUMENT").value & " " & rs.Fields("DES").value & " " & rs.Fields("REV").value
SAACOUNTER = SAACOUNTER + 1
ELSEIF SAACOUNTER > 0 then
SUITEARRAY(X,6) = SUITEARRAY(X,6 )& "<BR>" & rs.Fields("DOCUMENT").value & " " & rs.Fields("DES").value & " " & rs.Fields("REV").value
SAACOUNTER = SAACOUNTER + 1
end if
end if
case "DR"
IF DRCOUNTER = 0 then
SUITEARRAY(X,4) = rs.Fields("DOCUMENT").value
DRCOUNTER = DRCOUNTER + 1
ELSEIF DRCOUNTER > 0 then
SUITEARRAY(X,4) = SUITEARRAY(X,4 )& "<BR>" & rs.Fields("DOCUMENT").value & " " & rs.Fields("DES").value & " " & rs.Fields("REV").value
DRCOUNTER = DRCOUNTER + 1
end if
end select

ELSEIF rs.Fields("WUC").value <> OLDWUC then
OLDWUC = rs.Fields("WUC").value
X = X + 1
DOCCOUNTER = 0
SAACOUNTER = 0
DRCOUNTER = 0
SPACOUNTER = 0

IF rs.Fields("VALIDATE").value = "HISTORY" or rs.Fields("VALIDATE").value = "INVALID" then
SUITEARRAY(X,1) = "<Font color='RED'>" & rs.Fields("VALIDATE").value & "</FONT COLOR>"
SUITEARRAY(X,0) = "<Font color='RED'>" & rs.Fields("WUC").value & "</FONT COLOR>"
SUITEARRAY(X,5) = "<Font color='RED'>" & rs.Fields("SYSTEM").value & "</FONT COLOR>"
SUITEARRAY(X,7) = "<Font color='RED'>" & rs.Fields("EN").value & "</FONT COLOR>"
else
SUITEARRAY(X,1) =rs.Fields("VALIDATE").value
SUITEARRAY(X,0) = rs.Fields("WUC").value
SUITEARRAY(X,5) = rs.Fields("SYSTEM").value
SUITEARRAY(X,7) = rs.Fields("EN").value
end if

PREFIX = rs.Fields("PREF").value

select case PREFIX

case "OMRD"
SUITEARRAY(X,2) = rs.Fields("DOCUMENT").value & " " & rs.Fields("DES").value & " " & rs.Fields("REV").value
OMRDCOUNTER = OMRDCOUNTER + 1

case "ANA"
IF Left(rs.Fields("DOCUMENT").value,3)= "SPA" then
IF SPACOUNTER = 0 then
SUITEARRAY(X,3) = rs.Fields("DOCUMENT").value & " " & rs.Fields("DES").value & " " & rs.Fields("REV").value
SPACOUNTER = SPACOUNTER + 1
end if
ELSEIF Left(rs.Fields("DOCUMENT").value,3)= "SAA" then
IF SAACOUNTER = 0 then
SUITEARRAY(X,6) = rs.Fields("DOCUMENT").value & " " & rs.Fields("DES").value & " " & rs.Fields("REV").value
SAACOUNTER = SAACOUNTER + 1
end if
END IF
case "DR"
SUITEARRAY(X,4) = rs.Fields("DOCUMENT").value & " " & rs.Fields("DES").value & " " & rs.Fields("REV").value
DRCOUNTER = DRCOUNTER + 1

end select
end if
rs.movenext
next


Document.open()
Document.write "<table id='tabbed' ALIGN='CENTER' WIDTH=%100% border='8' BORDERCOLOR='#336699' cellspacing='5'>"
Document.write "<TR><TH align='LEFT' colspan='7'><Font color='blue'>" & DOC & "</FONT COLOR> WITH LIST OF ASSOCIATED WUC'S. LINKED TO RELEASED DOCUMENT SUITE BY WUC</TH><TD align=middle><input class='noPrint' type='button' value='Print This Data' onclick='window.print()'></TD></TR>"
Document.write "<tr><TH style='color:blue'>ASSOCIATED<BR>WUCS</TH><TH style='color:blue'>WUC<BR>STATUS</TH><TH style='color:blue'>EN</TH><TH style='color:blue'>SYSTEM</TH><TH style='color:blue'>SAA</TH><TH style='color:blue'>OMRD</TH><TH style='color:blue'>SPA</TH><TH style='color:blue'>MAINTAINED<BR>DWG</TH></TR>"


FOR I = 0 to X + 1
x = x + 1

Document.write "<tr><TD><FONT SIZE=2>" & SUITEARRAY(I, 0) & "</FONT></TD><TD><FONT SIZE=2>" & SUITEARRAY(I, 1) & "</FONT></TD><TD><FONT SIZE=2>" & SUITEARRAY(I, 7) & "</FONT></TD><TD><FONT SIZE=2>" & SUITEARRAY(I, 5) & "</FONT></TD><TD><FONT SIZE=2>" & SUITEARRAY(I, 6) & "</FONT></TD><TD><FONT SIZE=2>" & SUITEARRAY(I, 2) & "</FONT></TD><TD><FONT SIZE=2>" & SUITEARRAY(I, 3) & "</FONT></TD><TD><FONT SIZE=2>" & SUITEARRAY(I, 4) & "</FONT></TD></TR>"
next
Document.Write "</TABLE>"
Document.close()
</SCRIPT>
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top