Avatar billede stussy Nybegynder
27. november 2004 - 22:24 Der er 26 kommentarer og
1 løsning

find resulteter tager for mange med

Hvis der skal søges på tallet 2 kommer både 2 og alle i tyverne (21,22,23 osv.)

hvordan får jeg fortalt at det skal være præcis 2

strSQL = "Select * from varegrupper where menu > '" &kode &"00' and menu <'"& kode &"99'"
Avatar billede ellebaek Nybegynder
27. november 2004 - 22:28 #1
skal lige være med:
nu søger du på alle menuer hvor de er mellem:
200 og 299 ikke..?
Avatar billede stussy Nybegynder
27. november 2004 - 22:29 #2
jeps :-)
Avatar billede ellebaek Nybegynder
27. november 2004 - 22:30 #3
men den tager også:

2100 og 2999 med ...?
Avatar billede stussy Nybegynder
27. november 2004 - 22:32 #4
jo præcis, (sorry jeg er ved at se mig lidt blind på det)

hader når det driller :-(
Avatar billede ellebaek Nybegynder
27. november 2004 - 22:33 #5
kan jeg rigtig godt forstå..

Men forstår godt nok heller ikke at den kan tage mere med en det der står i koden..

Virker meget meget mystisk..
men kan være fordi du fortolker det som en streng..
Kan du ikke lave det om til tal i databasen..?
Avatar billede stussy Nybegynder
27. november 2004 - 22:34 #6
der skal naturligvis stadig være mulighed for at der er en grippe 2101 også, så jeg kan ikke bare lave det til 3 sifret
Avatar billede stussy Nybegynder
27. november 2004 - 22:36 #7
det er tal i databasen, men det må være noget med at den tæller tallet forfra så 12 er størrer end 2 - hvis du forstår hvad jeg mener, den ved altså ikke at 21 ikke er det samme som 2 (hmmm det kan jeg vist ikke finde ud af at forklare - så tror da pokker at jeg ikke kan for det til at virker)
Avatar billede ellebaek Nybegynder
27. november 2004 - 22:37 #8
hmm...

tror jeg ville prøve med det her..
prøv lige sådan her:


tal1 = kode * 100
tal2 = (kode * 100) + 99
strSQL = "Select * from varegrupper where menu > " & tal1 & " and menu < " & tal2 & ""
Avatar billede stussy Nybegynder
27. november 2004 - 22:57 #9
godt forslag, men desværre samme resultat :-(
Avatar billede erikjacobsen Ekspert
27. november 2004 - 22:58 #10
Dit felt er sikkert erklæret som tekstfelt (char el. varchar). Det skal være
erklæret som talfelt.
Avatar billede stussy Nybegynder
27. november 2004 - 23:00 #11
kollonnen ER lavet som et tal felt, derfor undrer det mig også
Avatar billede erikjacobsen Ekspert
27. november 2004 - 23:04 #12
Nej, jeg tror ikke på den er lavet som talfelt. Det kan godt være den kun indeholder
tal, men den skal være erklæret som talfelt.

Bruger du Access?
Avatar billede stussy Nybegynder
27. november 2004 - 23:06 #13
jeps - og den er defineret som et tal felt
Avatar billede ellebaek Nybegynder
27. november 2004 - 23:13 #14
så burde din oprindelige sql godt nok fremkomme med en fejl skulle jeg mene...
Avatar billede erikjacobsen Ekspert
27. november 2004 - 23:14 #15
Nej, det er ikke defineret som et talfelt. Hvis du bruger

  where felt > '200'

i Access, og feltet faktisk er et talfelt, får du pga '-erne en fejl i retning af:

  [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

Så check det med typen een gang til.
Avatar billede ellebaek Nybegynder
27. november 2004 - 23:17 #16
erik -> præcis ;-)
Avatar billede stussy Nybegynder
27. november 2004 - 23:20 #17
derfor ved jeg med sikkerhed også at det ER defineret som et talfelt, da jeg ikke for nogen "mismatch" fejl.

jeg bruger nu :
tal1 = kode * 100
tal2 = tal1 + 99
strSQL = "Select * from varegrupper where menu > '" & tal1 & "' and menu < '" & tal2 & "'"

og jeg får et resultat, men desværre ALT for mange resultater.
??????????????
Avatar billede erikjacobsen Ekspert
27. november 2004 - 23:22 #18
Hvis du ikke vil høre på et godt råd, vil jeg ikke bruge mere tid på det. Jeg hopper ud af spørgsmålet.
Avatar billede ellebaek Nybegynder
27. november 2004 - 23:23 #19
Du får netop kun mismatch fejlen hvis det ikke er defineret som talfelt..

Det skal være tal, og så skal du ikke bruge '' omkring i din sql...
Avatar billede ellebaek Nybegynder
27. november 2004 - 23:24 #20
ja okay...
Omvendt..

Du får kun fejlen hvis det er et talfelt...
Avatar billede stussy Nybegynder
27. november 2004 - 23:32 #21
ååååhhhh for f... - jeg har siddet for længe her....

"" = tal mens tekst er UDEN ""

Ja og jeg har såmænd bare kikket i en forkert tabel.....dammmm

MEN det felt skald esværre være et tekst felt, da der også eksisterer bogstaver i andre gruppenumrer.

Hvordan kan man så definere det?
Avatar billede ellebaek Nybegynder
27. november 2004 - 23:36 #22
hmm....

bogstaver er ikke nogen speciel god ide til at sortere efter skulle jeg mene..

er det ikke en mulighed at fjerne bogstaverne og erstatte dem med tal i stedet...?
Avatar billede stussy Nybegynder
27. november 2004 - 23:37 #23
desværre ikke, det er ikke noget jeg må ændre på
Avatar billede ellebaek Nybegynder
27. november 2004 - 23:42 #24
hmm...

lige et forsigtigt bud før jeg smutter i seng..

kodea = CStr(kode & "00")
kodeb = CStr(kode & "99")

strSQL = "Select * from varegrupper where menu > '"&kodea&"' and menu <'"&kodeb&"' AND LEN(menu) = " & len(kodea) & ""

kigger tilbage i morgen for at se om ovenstående virkede...
Avatar billede stussy Nybegynder
27. november 2004 - 23:46 #25
PERFEKT......se sådan skulle det jo bare være

1000 tak for hjælpen - og undskyld min stædighed og uvidenhed :-)

svar venligst , jeg forhøjer lige lidt som tak for din tålmodighed med mig :-)
Avatar billede ellebaek Nybegynder
28. november 2004 - 10:31 #26
Jeg smider et svar her :-)
Avatar billede ellebaek Nybegynder
28. november 2004 - 16:24 #27
Mange takker for points :-)
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