Avatar billede inkognito1 Nybegynder
20. september 2003 - 13:55 Der er 14 kommentarer og
1 løsning

Select til den finder nummer

Jeg er ved at lave en ret simple søgefunktion. Men synes ikke det rigtig fungere...

Kan jeg undgå at den skal til at loop hele databasen igennem ? Altså sådan den kun selecter til den har fundet nummeret.

nummer = "76767676"

strSQL = "SELECT * FROM liste"

If rs("nummer") = "" & nummer & "" = True Then
"den er i listen"
else
"den er ik i listen"
end if
Avatar billede eagleeye Praktikant
20. september 2003 - 13:58 #1
Hvilken type databse og type er nummer?

Normalt hvis eksvis nummer er en tal kolonne kan du sætte en Where på og kun hendte de poster hvor nummer=767676"

nummer = "767676"
strSQL = "SELECT * FROM liste WHERE nummer=" & nummer
Avatar billede inkognito1 Nybegynder
20. september 2003 - 14:00 #2
det er MSSQL - typen er NVARCHAR.
Avatar billede eagleeye Praktikant
20. september 2003 - 14:01 #3
hvad kan den så indeholde?? kun det ene tal eller er det en liste ?
Avatar billede inkognito1 Nybegynder
20. september 2003 - 14:03 #4
det er en lang række telefonnumre der står i database. Så de er alle 8 cifferet.
Avatar billede eagleeye Praktikant
20. september 2003 - 14:06 #5
Man sætte ' omkring tekst felter sådan her:

nummer = "767676"
strSQL = "SELECT * FROM liste WHERE nummer='" & nummer & "'"
Avatar billede inkognito1 Nybegynder
20. september 2003 - 14:11 #6
ok - hvordan kommer den så nemmest med om den er True eller ik.
Avatar billede eagleeye Praktikant
20. september 2003 - 14:13 #7
Ikke forstået??
Hvis du laver en WHERE nummer='767676' i din SQL sætning så kommer kun de poster med ud hvor nummer er lig 767676.
Avatar billede inkognito1 Nybegynder
20. september 2003 - 14:15 #8
ok ... det jeg skal lave er sådan set bare et filter.

Er nummeret i database skal den gøre en ting ...
er det er ikke skal den gøre en anden ting :o)
Avatar billede inkognito1 Nybegynder
20. september 2003 - 14:18 #9
Altså det jeg mener er: skal jeg ud i noget lign det her..

If not checkNameRs.bof then
'Nummer findes
else
'Numemr findes ikke
end if
Avatar billede eagleeye Praktikant
20. september 2003 - 14:18 #10
Der findes en filter funktion på et recordset:

nummer = "767676"
rs.Filter "nummer ='" & nummer & "'"
if not rs.EOF then
"den er i listen"
else
"den er ik i listen"
end if
Avatar billede eagleeye Praktikant
20. september 2003 - 14:19 #11
Ean anden mulighed er denne:

nummer = "767676"
strSQL = "SELECT * FROM liste WHERE nummer='" & nummer & "'"

Set rs = Conn.Execute(strSQL)
if not rs.EOF then
"den er i listen"
else
"den er ik i listen"
end if
Avatar billede inkognito1 Nybegynder
20. september 2003 - 14:21 #12
Ok .. spørgsmålet er havd der er bedte rent performance ...
Avatar billede eagleeye Praktikant
20. september 2003 - 14:22 #13
Hvis du kun vil tjekke om nummeret er i databasen og ikke bruge datane i recordset til anden er den sidste 20/09-2003 14:19:44 klart den bedste da den  kun vil hende de få poster som har nummer=767676
Avatar billede inkognito1 Nybegynder
20. september 2003 - 15:21 #14
ok - det ser ud til den svarer meget godt ... jeg tror dog godt med tiden databasen kan blive ret stor - så må man jo ud i en Stored Procedures evt.

Ligger du lige et svar :)
Avatar billede eagleeye Praktikant
20. september 2003 - 15:25 #15
Ok ;)
jamen det gør jeg da.
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