04. august 2000 - 11:06
Der er
1 kommentar og
1 løsning
Dubletfjerner...
Hejsa Alle!!..
Jeg har følgende kode:
DELETE DISTINCTROW * FROM optagelser WHERE (((Firma) In (SELECT Firma FROM Firma As Tmp GROUP BY Firma HAVING Count(*)>1 )));
Jeg vil så have at den sotere via tabel der hedder fagrubrik
Databasen ser \"sådan\" ud:
ID | Firma | Fagrubrik
1 | Peter Larsen Kaffe | 3
2 | Peter Larsen Kaffe | 3
3 | Peter Larsen Kaffe | 2
osv osv...
Ved selve DELETE DISTINCTROW vil jeg have den til at slette dubletter hvis Firma samt Fagrubrik er ens..
Altså
ID | Firma | Fagrubrik
1 | Peter Larsen Kaffe | 3 < SLET
2 | Peter Larsen Kaffe | 3
3 | Peter Larsen Kaffe | 2
Det er også et lille problem i scriptet det er at den sletter ALLE dubletter.. Er der nogen der har idé til hvordan man bibeholder én ud af de dubletter den fjerner
På forhånd tak
Pelle Martin Smidt
06. august 2000 - 02:37
#2
er det kun 3 tallet under fagrubrik du vil ha slettet eller er det både id, firma og fagrubrik selvfølgelig???
men dette script sletter en hel række ud for id:
her kommer koden:
filen skal hedde slet.asp
<%
mode = request(\"mode\")
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"firma.mdb\")
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open strDSN
%>
<%
if mode = \"\" then
strSQL = \"SELECT * FROM optagelser\"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
response.write \"<b>Slet:</b><br>\"
response.write \"<table border=\'1\'><tr><td><b>Slet:</b></td><td><b>ID:</b></td><td><b>Firma:</b></td><td><b>Fagrubrik:</b></td></tr>\"
response.write \"<form action=\'slet.asp?mode=slet\' method=\'POST\'>\"
Do While Not rs.EOF %>
<tr>
<td valign=\"top\">
<input type=\"Checkbox\" name=\"delet\" value=\"<%= rs(\"id\") %>\">
</td>
<td valign=\"top\">
<%response.write rs(\"ID\") %>
</td>
<td valign=\"top\">
<%response.write rs(\"Firma\") %>
</td>
<td valign=\"top\">
<%response.write rs(\"Fagrubrik\") %>
</td>
</tr><%
rs.movenext
loop
response.write \"<tr><td><input type=\'Submit\' value=\'Slet brugeren\'></td></tr></form>\"
response.write \"</table>\"
else
response.write \"<b>Der er ingen id\'er i databasen</b>\"
end if
end if
if mode = \"slet\" then
id = request(\"delet\")
if id = \"\" then
response.write \"<b>Du skal vælge en id</b><p>\"
fejl = 1
end if
if fejl = 1 then
call sletbruger
end if
if not fejl = 1 then
str = request(\"delet\") & \", \"
lPos = 1
Do While lPos <= Len(str)
If InStr(lPos, str, \", \") = 0 Then Exit do
aItem = Mid(str, lPos, InStr(lPos, str, \", \") - lPos)
lPos = lPos + InStr(lPos, str, \", \") - lPos + 2
aItem2 = aItem
strSQL = \"SELECT * FROM optagelser WHERE ID = \" & aItem2 & \"\"
Set rs = myConn.Execute(strSQL)
ID = rs(\"ID\")
Firma = rs(\"Firma\")
strSQL = \"Delete * FROM optagelser WHERE\"
strSQL = strSQL & \" (ID LIKE \'%\" & aItem & \"%\')\"
Set rs = myConn.Execute(strSQL)
response.write \"<b>ID\'en er slettet</b><p>\"
loop
end if
end if
%>