23. februar 2002 - 21:02Der er
13 kommentarer og 1 løsning
Slet dem uden @ i db - og dobbelt posts
Er der en der gider hjælpe med en kode, som gør følgende når den bliver kørt:
Access db: ma tabel: ils kolonner: ID, ADR
Jeg ønsker at slette de rækker, som her den samme værdi i ADR - dvs. hvis der er dobbeltværdi i ADR, så skal den ene slettes, så der kun er én tilbage med denne værdi.
Endvidere skal alle de rækker hvor @ ikke indgår i værdien i ADR slettes.
Efter ti år i London, Madrid, Paris og Utrecht kommer Sabios AI-fokuserede program af arrangementer om kundeoplevelser, ‘Disrupt’, for første gang til Danmark.
Man kan også oprette en midlertidig tabel med de gyldige ID og adresser, og derefter tømme ils, og flytte de gyldige adresser "hjem" igen...
SELECT Min(ID) AS MinID, adr INTO ilsTEMP FROM ils GROUP BY adr HAVING adr LIKE '*@*' DELETE * FROM ils INSERT INTO ils (ID, adr) SELECT MinID, adr FROM ilsTEMP DROP TABLE ilsTEMP
Dette er KLART hurtigere, hvis der er tale om mange records (jeg lavede en test med 160000+ records!)
BEMÆRK: Ved at bruge "INSERT INTO..." kan man sagtens overskrive Autonummer-felter (som jeg går ud fra ID er), så der bliver ikke noget problem med nye ID'er til eksisterende records, og nye records vil fortsætte i rækkefølgen.
Jeg kører den fra asp på web. Jeg benytter LIKE ved andre sammenhænge, hvor det virker. Så jeg tror det er '*@*' den ikke forstår rigtigt - den opfatter den som noget andet.
Jeg har prøvet det andet, men den siger at siden vil ikke vises. Dette er hvad jeg kører:
<% Set myConn = Server.CreateObject("ADODB.Connection") myconn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("****.mdb") sql = "SELECT Min(ID) AS MinID, navn INTO sletTEMP FROM slet GROUP BY navn WHERE INSTR(navn,'@')>0" myConn.execute(sql) myconn.Close Set myConn = Nothing %>
Jeg har simpelthen ikke set på problemet siden - det undskylder jeg. Jeg har i dag siddet leget lidt med det igen. Det viser sig at det er stjerne * den tolker forkert. Den ser ikke stjernerne som vilkårlige tegn. Hvis jeg skriver et præcist navn, så ser det ud til at virke.
Det virker perfekt nu - der skal bare bruges % som wildcard i stedet for *
tak for hjælpen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.