webForumDet fria alternativet

kopplingstabell

2 svar · 322 visningar · startad av MMats

MMatsMedlem sedan sep. 200061 inlägg
#1

Hej !

Jag har en kopplingstabell med många till många relation.
Den kopplar ihop personer med uppgifter. En person kan ha flera uppgifter och en uppgift kan utföras av flera personer.
Nu vill jag lista dessa uppgifter och personer enligt:

Uppgift personerSomHarDenUppgiften

Problemet är att jag inte riktigt vet hur jag ska göra för att lista personerna. Om jag tar och listar rakt av så skrivs ju samma uppgift ut lika många gånger som uppgiften har personer tilldelade till sig.

Nån som kan det här ?

spangoMedlem sedan juni 20006 147 inlägg
#2

Du menar nåt sånt här?
Uppgift - personer
Planering - Berra, Jocke, Lisa
Genomförande - Lisa, Åke, Kalle
Marknadsföring - Kjell, Jocke, Per
Det går itne att göra i sql. Du får göra en fråga per rad i uppgiftstabellen.

------------------
These are the cries of the carrots, the cries of the carrots! You see, Reverend Maynard, tomorrow is harvest day and to them it is the holocaust.

MMatsMedlem sedan sep. 200061 inlägg
#3

Japp det var så jag menade. Gjorde som du sa och det funkade. Tack :)

Känns lite dumt att öppna och stänga recorset-objectet om och om igen. Kan man göra det smidigare på något sätt?

	Call openConn
			Set objRs = Server.CreateObject("ADODB.RecordSet")
			objRs.Open strSQL, objConn, 1, 3, &H0001 
			Set objRs2 = Server.CreateObject("ADODB.RecordSet")
			
				If objRs.EOF Then
					Response.Write "<tr><td>No responsibillities here :)</td></tr>"
				Else
					inCounter = 1
					
					While NOT objRs.EOF
						strArea		= objRs("fldAnsvarsomrade")
						intArea		= objRs("fldAnsvarsomradesID")
						strURL		= objRs("fldMemoURL")
					
						If inCounter MOD 2 = 1 Then
							Response.Write	"<tr class=""evenRow"">"
						Else
							Response.Write	"<tr>"
						End If
						
						'Om memo finns skriv en länk
						If NOT IsNull(strURL) Then
							Response.Write	"<td><a href=""respDocs/" & strURL & """ target=""nytt"">" & strArea & "</a></td>" 
						Else
							Response.Write	"<td>" & strArea & "</td>" 
						End If
						'räkna upp ansvariga
						strSQL =	"SELECT P.fldFNamn, P.fldENamn, AM.fldPerson " & _
								"FROM (tblAnsvarsomrade_medarbetare AS AM " & _
								"INNER JOIN tblPersonal AS P ON P.fldPersonalID=AM.fldPerson) " & _
								"WHERE AM.fldAnsvarsomrade=" & intArea & " " & _
								"ORDER BY P.fldENamn ASC"

						objRs2.Open strSQL, objConn, 1, 3, &H0001 
							If objRs2.EOF Then 
								response.Write "hoppsan" 
							Else
							
								strTMP = "<td>"
								While Not objRs2.EOF
									strTMP =	strTMP & "<a href=""../staff/personInfo.asp?personID=" & objRs2("fldPerson") & """>" & objRs2("fldENamn") & " " & objRs2("fldFNamn") &  ", " 

									objRs2.MoveNext
								Wend
								'ta bort det sista kommat
								Response.Write Left(strTMP,Len(strTMP)-2) & "</td>"
							End If	
						objRs2.Close

						inCounter = inCounter +1
						Response.Write "</tr>" & vbCrLf		
						objRs.MoveNext
					Wend
					
				End If			
			objRs.Close
			Set objRs2 = Nothing
			Set objRs = Nothing
		Call closeConn
Genererad på 371 ms · cache AV · v20260730165559-full.f96bc7eb