---
title: "kolla unikt värde i db"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/83908-kolla-unikt-värde-i-db"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "web00132"
published: "2003-08-10T09:50:23.000Z"
updated: "2003-08-10T16:52:45.000Z"
replies: 5
views: 209
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/83908-kolla-unikt-värde-i-db"
---

# kolla unikt värde i db

## #1 — web00132, 2003-08-10T09:50Z

Jag har en funktion som genererar ett kundnummer som skrivs in i en databas. Det jag vill göra när jag kör funktionen är att kolla att den genererar ett unikt kundnummer, alltså att kundnumret inte finns i databasen sedan tidigare. Typ...

```
bOk = False

While Not bOK
  Set rs = connection.Execute ("SELECT strPassword FROM tblData WHERE strPassword = '" & getRandomChars(30) & "'"
  If rs.EOF Then
    bOk = True
    'Lagra lösenordet...
  End If
Wend
```

 ...som finns i [den här tråden](http://www.webforum.nu/showthread.php?forumid=22&threadid=73203). Problemet är att jag förstår inte vad som ska hända ifall kundnumret redan finns i databasen. Hur ska jag koda för att funktionen och "databaskollen" ska köras igen?

```
If rs.EOF Then
    bOk = True
    'Lagra lösenordet...
    [I]else
         ?????[/I]
  End If
```

Permalänk: https://www.webforum.nu/p/83908

## #2 — solbulle, 2003-08-10T10:23Z

Det gör den som det är nu. I och med While/Wend-loopen.
Mao den loopar tills den hittat ett ok lösenord, ingen ide att skriva ut något eftersom man inte kommer märka att den loopar.

Permalänk: https://www.webforum.nu/p/1132831

## #3 — web00132, 2003-08-10T10:45Z

Men.. hmm. Jag kanske är ute och cyklar men det som gör att den ska köra funktionen som genererar ett nytt kundnummer igen finns ju inte med i while-loopen. Alltså typ ett anrop till funktionen eller liknande. Loopen kollar ju bara om kundnumret finns i databasen och om det inte gör det så läggs det nya kundnumret till. Men vad händer om kundnumret finns?

Min funktion som genrerar ett kundnummer:

```
function kundnummer()
	Passwordeller = ""

	Randomize

	For i = 1 to 6
	intNum = Int(10 * Rnd + 48)
	intBig = Int(26 * Rnd + 65)
	intSmall = Int(26 * Rnd + 97)
	intRand = Int(3 * Rnd + 1)

	Select Case intRand
	Case 1
	delPasseller = Chr(intNum)
	Case 2
	delPasseller = Chr(intBig)
	Case 3
	delPasseller = Chr(intSmall)
	End Select

	Passwordeller = Passwordeller & delPasseller

	Next

	kundnummer = Passwordeller
end function
```

Permalänk: https://www.webforum.nu/p/1132845

## #4 — web00132, 2003-08-10T13:54Z

Ingen som förstår vad jag menar?

Permalänk: https://www.webforum.nu/p/1132923

## #5 — Sebbe, 2003-08-10T16:06Z

Något sånt här borde väl funka?

```
bOk = False

While Not bOK
  strNr = kundnummer()
  Set rs = connection.Execute("SELECT strPassword FROM tblData WHERE strPassword = '" & strNr & "'"

  If rs.EOF Then
    bOk = True
    connection.Execute("INSERT INTO tblData (strPassword) VALUES ('" & strNr & "')"
  End If
Wend
```

Permalänk: https://www.webforum.nu/p/1132966

## #6 — solbulle, 2003-08-10T16:52Z

Du får väl "givetvis" byta ut den funktion i det kodexempel du visar mot din egen...

```
bOk = False

While Not bOK
  Set rs = connection.Execute ("SELECT strPassword FROM tblData WHERE strPassword = '" & kundnummer() & "'"
  If rs.EOF Then
    bOk = True
    'Lagra lösenordet...
  End If
Wend
```

red/ Som Sebbe iofs redan visat ser jag nu, efter en liten uppdatering av sidan. :)

Permalänk: https://www.webforum.nu/p/1132984

---

Tråden på webben: https://www.webforum.nu/amne/asp/83908-kolla-unikt-värde-i-db
