webForumDet fria alternativet

Loop i en loop

2 svar · 638 visningar · startad av devotion

devotionMedlem sedan jan. 20013 582 inlägg
#1

Hej! :)

Jag har följande kod som skriver ut etiketter:

<% 

	'Skapa ett Recordset
	Set Rs=CreateObject("ADODB.Recordset")
	
	'SQL-fråga
	sSQL="SELECT [Id], [BarCode], [Nr], [Name], [Custom1], [Custom2], [Custom4] FROM [tblArticle] WHERE [Id] IN (" & sArticleIds & ")"
	
	Rs.Open sSQL, Conn
	
	while not Rs.EOF
		
		nArticleId=Rs("Id")
		nArticleBarCode=Rs("BarCode")
		sArticleNr=Rs("Nr")
		sArticleName=Rs("Name")
		sVendorPartNr=Rs("Custom1")
		sEquipmentTagNr=Rs("Custom2")
		nArticleRequired=Rs("Custom4")
		
		If iLabelNr > 0 and iLabelNr Mod 3 = 0 Then			' Etikett 4, 7, 10 etc, avsluta raden och börja ny rad.
			Response.Write "</tr><tr>"
		End If

		'-- START LABEL ------------------------------------------->
		Response.Write "<td  align='center'>"
			If nBarCode <> "" Then
				Response.Write "<span class='labeltable_barcode'>!" & nArticleBarCode & "!</span><br><br>"
			Else
				Response.Write "<span class='labeltable_text'><br><br><br>*** Streckkod saknas ***</span><br><br>"
			End If
			Response.Write "<span class='labeltable_content'>Stockcode: <a class='hoverlink' href='UppdragNU://ApplicationUI.EditArticle(" & nArticleId & ")'>" & sArticleNr & "</a></span><br>"
			Response.Write "<span class='labeltable_content'><b>" & sArticleName & "</b></span><br>"
			Response.Write "<span class='labeltable_content'>(Vendor Part No: " & sVendorPartNr & ")</span>"
			Response.Write "<span class='labeltable_content'>(Equipment Tag No: " & sEquipmentTagNr & ")</span>"
		Response.Write "</td>"
		'-- STOP LABEL -------------------------------------------->

		iLabelNr = iLabelNr + 1
				
		Rs.MoveNext
		
	wend
	
	'Förstöra objekten
	Rs.Close
	Set Rs=Nothing
	Set Conn=Nothing
	
	%>

Det fungerar finfint, men jag skulle vilja utöka funktionen lite... (vilket jag inte lyckads med :( )

Tanken med koden är att alla artiklar ska skrivas ut som streckkoder. Nu finns det ett fält till varje artikel som heter 'nArticleRequired' som kan vara 1 eller flera.

Så om 'nArticleRequired' tex är 5 vill jag att samma streckkod ska skrivas ut 5 gånger innan nästa streckkod ska skrivas ut osv.

Det behövs någon typ av loop i loopen för detta... :)

Mvh
Henrik

LarsGMedlem sedan dec. 200012 464 inlägg
#2
<% 

	'Skapa ett Recordset
	Set Rs=CreateObject("ADODB.Recordset")
	
	'SQL-fråga
	sSQL="SELECT [Id], [BarCode], [Nr], [Name], [Custom1], [Custom2], [Custom4], nArticleRequired " & _
             " FROM [tblArticle] WHERE [Id] IN (" & sArticleIds & ")"
	
	Rs.Open sSQL, Conn
	
	while not Rs.EOF
		
		nArticleId=Rs("Id")
		nArticleBarCode=Rs("BarCode")
		sArticleNr=Rs("Nr")
		sArticleName=Rs("Name")
		sVendorPartNr=Rs("Custom1")
		sEquipmentTagNr=Rs("Custom2")
		nArticleRequired=Rs("Custom4")
		
		If iLabelNr > 0 and iLabelNr Mod 3 = 0 Then			' Etikett 4, 7, 10 etc, avsluta raden och börja ny rad.
			Response.Write "</tr><tr>"
		End If
		for cnt = 1 to cint(rs("nArticleRequired"))
'-- START LABEL ------------------------------------------->
			Response.Write "<td  align='center'>"
			If nBarCode <> "" Then
				Response.Write "<span class='labeltable_barcode'>!" & nArticleBarCode & "!</span><br><br>"
			Else
				Response.Write "<span class='labeltable_text'><br><br><br>*** Streckkod saknas ***</span><br><br>"
				exit for
			End If
		next
		Response.Write "<span class='labeltable_content'>Stockcode: <a class='hoverlink' href='UppdragNU://ApplicationUI.EditArticle(" & nArticleId & ")'>" & sArticleNr & "</a></span><br>"
		Response.Write "<span class='labeltable_content'><b>" & sArticleName & "</b></span><br>"
		Response.Write "<span class='labeltable_content'>(Vendor Part No: " & sVendorPartNr & ")</span>"
		Response.Write "<span class='labeltable_content'>(Equipment Tag No: " & sEquipmentTagNr & ")</span>"
		Response.Write "</td>"
'-- STOP LABEL -------------------------------------------->

		iLabelNr = iLabelNr + 1
				
		Rs.MoveNext
		
	wend
	
	'Förstöra objekten
	Rs.Close
	Set Rs=Nothing
	Set Conn=Nothing
	
	%>
devotionMedlem sedan jan. 20013 582 inlägg
#3

Hmmm, det var ju inte så svårt... :)

Thanks...

135 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)