webForumDet fria alternativet

Markera dubletter

ASP

28 svar · 637 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej! :)

I mitt uppdragssystem kan flera montörer ha samma uppdrag dvs TaskNr är samma. Dock är inte id´t samma (taskId)

Jag skulle vilja markera dessa uppdrag tex att de blir röda så man lätt kan se dom i uppdragstabellen.

Fråga
Hur gör jag så att de uppdrag som har samma TaskNr blir rödmarkerade vid utloopning från databasen

Medlem sedan dec. 20025 483 inlägg
#2

Vad händer om ett par personer har taskNr = 1 och ett annat par har taskNr = 2? Skall de fyra personernas uppdragsbakgrund vara röda? Då

select t1.id
     , t1.tasknr
     , iif((select count(*) from tabell t2 where t2.taskNr = t1.taskNr) > 1, 1, 0) as m
  from tabell t1

set rs = c.execute(...)

' loop
if rs("m") = 1 then
  ' röd
else
  ' default
end if
Medlem sedan jan. 20013 582 inlägg
#3

Hej :)
Här är det full fart idag... ;)

Vad händer om ett par personer har taskNr = 1 och ett annat par har taskNr = 2? Skall de fyra personernas uppdragsbakgrund vara röda? Då

Jo så får det bli... Det viktigaste är att det flaggas upp att uppdraget är "klonat" dvs det finns flera montörer på det.
Det finns ju information i tblTask om vilken montör som "äger" uppdraget så man kanske skulle kunna skriva ut i klartext vilka som har just det uppdraget

Så här ser min ursprungs sql-sats ut:

	mWhere = strUser
	
	strSQL = "SELECT User, customerName, customerNr, taskNr, task, status, Id, CustomT2, CustomT3 " &_
			 "FROM tblTask " &_
			 "WHERE status in (" & strStatus & ") "
		
							 
	if  mWhere <> "All" then  strSQL = strSQL & "AND User = '" & strUser & "' " 
	strSQL = strSQL &  "ORDER BY taskNr"

**Håller på att testa**

Mvh
henrik

Medlem sedan jan. 20013 582 inlägg
#4

Hmm, vad menar tu med tabel t1 och t2... ? Jag har ju bara en tabell; tblTask... (och det kan man starkt ifrågasätta, men jag kan inte göra något åt det...)

Mvh
henrik

Medlem sedan dec. 20025 483 inlägg
#5

t1 och t2 är synonymer för samma tabell.

select t1.user
     , t1.customername
     , t1.customernr
     , t1.tasknr
     , t1.task
     , t1.status
     , t1.id
     , t1.customt2
     , t1.customt3
     , iif((select count(*) from tbltask t2 where t2.taskNr = t1.taskNr) > 1, 1, 0) as m
  from tbltask t1
 where t1.status
    in (" & strStatus & ")
Medlem sedan jan. 20013 582 inlägg
#6

Det är ju helt fantastiskt!! vad man kan göra med lite siffror och bokstäver....
Fungerar perfekt

Du är en klippa Peter S!

Skulle man i klartext skriva ut vilka som är har uppdraget? de finns i tblTask.user

Mvh
henrik

Medlem sedan dec. 20025 483 inlägg
#7

Är det inte bara att använda rs("t1.user")?

:)

Medlem sedan jan. 20013 582 inlägg
#8

**testar**

Medlem sedan jan. 20013 582 inlägg
#9

Hmm, jo det borde vara det, men får detta:

ADODB.Recordset (0x800A0CC1)
Objektet kunde inte hittas i mängden med det begärda namnet eller numret.
/uppdragNu/listTask.asp, line 279

mvh

Medlem sedan jan. 20013 582 inlägg
#10

testade bara mer objRS("User") och då får jag ju upp den som äger det uppdraget.

Min tanke var att få upp alla användare som har det aktuella uppdragsnumret
uppdragsnr - uppdrag - utförs av
-------------------------------------------
T2005023 - installera nätverk - Thomas, Janne
T2005023 - installera nätverk - Thomas, Janne

nåt sånt kanske

Mvh
henrik

Medlem sedan dec. 20025 483 inlägg
#11

Hm, okej. :) Använd suffixena till t1 i select-uttrycket (rs("user"), rs("tasknr"), rs("task") o.s.v).

Medlem sedan jan. 20013 582 inlägg
#12

:(
nu fattar jag ingenting....

Det är mycket nytt med synonymer och annat...

Mvh
henrik

Medlem sedan dec. 20025 483 inlägg
#13
response.write rs("tasknr") & " - " & rs("task") & " - " & rs("user") & "<br>"

:)

Medlem sedan jan. 20013 582 inlägg
#14

:)

jo, men då får jag ju bara upp ägaren till uppdraget, dvs ett(1) namn. jag vill ju få upp alla användare (user) som ha det uppdragsnumret...

Mvh
Henrik

Medlem sedan dec. 20025 483 inlägg
#15

Då kanske vi får lägga till en 'order by' i SQL-frågan:

select t1.user
     , t1.customername
     , t1.customernr
     , t1.tasknr
     , t1.task
     , t1.status
     , t1.id
     , t1.customt2
     , t1.customt3
     , iif((select count(*) from tbltask t2 where t2.taskNr = t1.taskNr) > 1, 1, 0) as m
  from tbltask t1
 where t1.status
    in (" & strStatus & ")
order
    by t1.tasknr
Medlem sedan jan. 20013 582 inlägg
#16

hmm, nä det blir bara en användare.
Man kanske får göra en till select eller nåt...

Mvh
Henrik

Medlem sedan dec. 20025 483 inlägg
#17

I'm lost... ;) Vad får du för resultat av föregående post?

Medlem sedan jan. 20013 582 inlägg
#18

skriver jag objRS("user") aå visas bara ägaren till det uppdraget

men om ett uppdrag är klonat så kan det ju vara 2 montörer på ett uppdrag med samma uppdragsnummer. det är de jag vill få fram.

Tx uppdrag 1 har kalle och pelle

I kalles fall är han ägare till uppdraget fast pelle jobbar också med samma sak

uppdragsnr: 1 montör: Kalle uppdrag: installation utförs av: kalle, pelle

och i pelles fall
uppdragsnr: 1 montör: Pelle uppdrag: installation utförs av: kalle, pelle

Mvh
henrik

Medlem sedan dec. 20025 483 inlägg
#19

Ok, men vilket resultat får du av frågan och vad förväntar du dig? Ge gärna exempel i tabellform som du gjort i inlägg nummer 10. :)

Medlem sedan jan. 20013 582 inlägg
#20

jag får:
uppdragsnr - montör - uppdrag - utförs av
----------------------------------------
1 - Kalle - installation - kalle

vill ha
uppdragsnr - montör - uppdrag - utförs av
----------------------------------------
1 - Kalle - installation - kalle Pelle

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
115 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)