Avatar billede larslinde Nybegynder
28. april 1999 - 00:00 Der er 6 kommentarer og
1 løsning

Sammenligning af to celler i en tabel

Er det muligt at kontrollere om der står
det samme i to celler i en tabel
og i så fald hvordan?

Lars Linde
Avatar billede larslinde Nybegynder
28. april 1999 - 11:42 #1
Her er lidt data at kigge på
til ovenstående spørgsmål

<HTML>
<HEAD>
<TITLE>Logind kontrol</TITLE>
</HEAD>
<BODY>
    <%
    'Hent Authenticated User
            name = Request.ServerVariables("AUTH_USER")
            strBrugernavn = Right(name, Len(name) - InStrRev(name, "\"))

    'Etabler forbindelse
            Set objConn = Server.CreateObject("ADODB.Connection")
            objConn.Provider = "SQLOLEDB"
            objConn.Open "SERVER=IQSQL;Trusted_Connection=Yes;DATABASE=FOADB"
            objConn.DefaultDatabase = "FOADB"

    'Hent data ud fra databasen
            Set objRec = Server.CreateObject ("ADODB.Recordset")
            objRec.Open "SELECT * FROM Personer where Loginnavn='" &Request.Form("adgang")& "'", objConn
    %>   
    <TABLE border=1>
    <%
        While Not objRec.EOF
        Response.Write "<TR><TD>" &objRec("Loginnavn") &"</TD></TR>"
        Response.Write "<TR><TD>" &strBrugernavn &"</TD></TR>"
        objRec.MoveNext
        Wend           
    %>
    </TABLE>   
    <%
    'Sammenlign data i de to tabeller
       


    %>
</BODY>
</HTML>
Avatar billede rasmus55 Nybegynder
28. april 1999 - 12:27 #2
Hej Lars,
Mener du med celler et "recordset", eller er det et "field" i et recordset?

Mao.:
Vil du sammenligne om der er dobbeltindførsler eller om brugeren har identiske bruger- og login-navn, eller om identiske brugernavne har forskellige login, eller....?
Avatar billede flemming Nybegynder
28. april 1999 - 16:50 #3
Ja det kan man.

Du kan f.eks. bruge "Count" til at tælle antal celler (tuple) der har ens indhold.

eks. en TABEL tblTest med feltet [Navn]

SELECT Navn,Count(Navn)  AS Antal
FROM tblTest 
GROUP BY Navn
HAVING Count(Navn) > 1

giver mængden af rækker hvor navn optræder mere end 1 gang + antal forekomster for hver.

Avatar billede stoffer Nybegynder
05. maj 1999 - 12:51 #4
Ja det er rigtigt hvad flemming har sagt, kan også evt gøres ved at bruge dette her. Jeg synes det er bedre - det er f.eks. godt at bruge i password funktioner. Count funktionen har jeg også ladet mig fortælle at den er langsom.....

Brug:

Set RS = Connect.execute(SQLsætning)

If (RS.BOF Or RS.EOF) > 1 Then
response.write("der findes ikke mere end en record")
else
response.write("der er allerede flere record ved dette navn")
end if

NB: Fjern >1, så tjekker den kun om der er records eller ikke....(dette er meget nyttigt, hvis du f.eks. skal bruge en password kontrol)

Hope it helps :-)
Avatar billede larslinde Nybegynder
06. maj 1999 - 13:43 #5
It does
Avatar billede flemming Nybegynder
06. maj 1999 - 13:50 #6
Dit programmeringseksempel er ikke korrket.

Du sammenligner en boolske værdi med en tal værdi hvilket ikke giver mening.
Endvidere er det redundant at sammenligne både BOF og EOF fordi begge vil returnere det samme hvis recordsættet er tomt, så det er nok at teste på EOF.

Sammenligningen bliver således:

If RS.EOF Then
  Response.Write("Ingen dubletter")
End If
Avatar billede stoffer Nybegynder
11. maj 1999 - 15:40 #7
Jaja
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester