26. juni 2002 - 17:15Der er
5 kommentarer og 1 løsning
Select Case med % værdi til forespørgsel - Criteria mismatch
Jeg har en formular der sender indhold fra et fritekstsøgningsfelt ("free") og et rullegardin ("Region") videre til en resultatside der så lister resultaterne trukket fra en access-db - Fint nok ! Nu vil jeg gerne vise et forskelligt billede for hver af de værdier der kommer fra Regionsfeltet - Så har jeg gjort sådan her inde i image URL feltet :
<% Select Case Request.Form ("Region") Case 1 Response.Write "sjaelland.gif" Case 2 Response.Write "bornholm.gif" Case 3 Response.Write "fejoe.gif" Case 5 Response.Write "fyn.gif" Case Else Response.Write "denmark.gif" End Select %>
Men nu er problemet at en af værdierne fra Regionsfeltet skal afsøge ALLE regioner - altså værdien % - og den værdi kan jeg ikke få med i min select case eller hur ? Her er fejlmeddelelsen -
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
<% Select Case Request.Form ("Region") Case 1 Response.Write "sjaelland.gif" Case 2 Response.Write "bornholm.gif" Case 3 Response.Write "fejoe.gif" Case 5 Response.Write "fyn.gif" Case "%" ' Det den skal gøre Case Else Response.Write "denmark.gif" End Select %>
Og tak for svaret - Det med at lave %-tegnet til string har jeg også prøvet - uden held : Er det muligvis noget med de halvgiftige replacesætninger for at undgå fejl på "" og '' tegn i input-feltet ? -
Vi bringer et uddrag :
<% Dim RsSearchResult__freevar RsSearchResult__freevar = "%" if (Request.Form("free") <> "") then RsSearchResult__freevar = Request.Form("free") %> <% Dim RsSearchResult__regvar RsSearchResult__regvar = "%" if (Request.Form("Region") <> "") then RsSearchResult__regvar = Request.Form("Region") %> <% set RsSearchResult = Server.CreateObject("ADODB.Recordset") RsSearchResult.ActiveConnection = MM_ConnHoest_STRING RsSearchResult.Source = "SELECT * FROM HMbrutto2404 WHERE EjerNavn LIKE '%" + Replace(RsSearchResult__freevar, "'", "''") + "%' AND RegID LIKE '" + Replace(RsSearchResult__regvar, "'", "''") + "'" RsSearchResult.CursorType = 0 RsSearchResult.CursorLocation = 2 RsSearchResult.LockType = 3 RsSearchResult.Open() RsSearchResult_numRows = 0 %> <% Dim Repeat1__numRows Repeat1__numRows = -1 Dim Repeat1__index Repeat1__index = 0 RsSearchResult_numRows = RsSearchResult_numRows + Repeat1__numRows %>
hvad kan Request.Form ("Region") indehold??? Og hvad vil den typisk indholde, kom gerne med et par eksempler med tal og andre tegn (%) ?? kan det være en kombination af tal og tegn, eks 2%3?
Hvis vi antger den kun kan indeholde et tegn er det leteste nok at test som streng:
<% Select Case CStr(Request.Form ("Region")) Case "1" Response.Write "sjaelland.gif" Case "2" Response.Write "bornholm.gif" Case "3" Response.Write "fejoe.gif" Case "5" Response.Write "fyn.gif" Case "%" ' Det den skal gøre Case Else Response.Write "denmark.gif" End Select %>
Tak for hjælpen alle sammen - eagleeyes virkede - vi kvitterer !!
Juhuh !
CryptoBoy
Synes godt om
Ny brugerNybegynder
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.