Att finna eet ord ur en längre text har jag lärt mig går med Hej kjan! Hej Jag är glad så länge det funkar men det vore inttressant att veta hur det blir effektivare med det ena eller andra sättet. Att göra IF ... AND ... innebär att programmet måste kontrollera båda vilkoren med en gång. Om du istället skriver If ... THEN IF ... så kontrollerar den första vilkoret först, och OM detta är rätt kontrollerar den andra vilkoret. Kan ha minimal betydelse i ett litet program, men blir det mer komplext så kan det ha avsevärt större betydelse. OK jag förstår. Kan man göra liknande effektiviseringar när det gäller SQL med många AND och OR? Det har stor betydelse i SQL, men det är mycket beroende på vilken databasmotor man använder.InStr(Var, Sok)
InStr(Var, Sok)
Jag har försökt att finna två ord med
InStr(Var, Sok1, Sok2)
men det blir felmeddelande
Please helpSv: InStr(Var, Sok)
Då får du använda InStr() två gånger helt enkelt!
iSvar = InStr(Var, Sok1)
iAnnatSvar = InStr(Var, Sok2)
Lycka till och lev väl,
Tom S.Sv: InStr(Var, Sok)
Ta inte illa upp kjan ,det är effektivare att alltid skriva så här
If InStr(Var, Sok1) > 0 Then
If InStr(Var, Sok2) > 0 Then
'do your stuf
End if
End if
mvh
SvenSv: InStr(Var, Sok)
Sv: InStr(Var, Sok)
Hoppas att det var hyffsat tydligt förklarat. :-)
/EESv: InStr(Var, Sok)
Sv: InStr(Var, Sok)
Oracle, t.ex., läser Where-villkoret från slutet och såvitt jag vet (rätta mig om jag har fel) gör SQL Server tvärtom, därför kan samma SQL-sats gå avsevärt mycket snabbare för den ena databasen bortsett förståss från andra för och nackdelar med dem.
Ex.
SQL-satsen, körd i oracle
...Where A=A And Not A = A
är snabbare än
...Where Not A = A And A = A
eftersom det i det första exemplet validerar FALSE redan vid första kontrollen och i det andra exemplet, inte förrän vid andra kontrollen
/Bosse