15. juni 2002 - 12:17Der er
5 kommentarer og 1 løsning
Endnu en simpel udvidelse
Hej
Nedenstående kode kan håndtere strenge fra Request.form("aendret") - f.eks. 26-1,65-3,84-4 - men nu skal den udvides til også at kunne håndtere endnu en oplysning - 26-1-3,65-3-2,84-4-4 eller 26-1/3,65-3/2,84-4/4 eller ved brug af en helt anden seperator end "-" og "/" (ovenstående var kun forslag).
Man hvordan gøres det? Kan du udbygge min kode?
if Request.form("valg") = "ArrangerArtikel" then
Dim aendret, MyArray, bound, i, artikel MyString = Request.form("aendret") response.write(MyString)
MyArray = Split(MyString, ",", -1, 1)
for i = lbound(myarray) to ubound(myarray) artikel = Split(MyArray(i), "-")
strSQL = "select * from ARTIKLER WHERE ARTIKELNR = " & artikel(0) set rs = Conn.execute(strSQL)
if rs.EOF then status = "En eller flere af artiklerne er IKKE blevet arrangeret, da den eller de ikke i forvejen eksisterede!" else strSQL = "UPDATE ARTIKLER set emnenr = '" & artikel(1) & "' WHERE artikelnr = " & artikel(0) Conn.execute(strSQL) status = "Artiklerne er nu blevet arrangeret!" end if next end if response.redirect ("index.asp?status=" & status)
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Nej. Det manglede jeg vidst at fortælle: 26 er artikelnr, 1 er emnenr og - som det nye - så 3 er niveau.
Måske kan følgende give dig bedre forståelse af det, som jeg tænker på: strSQL = "UPDATE ARTIKLER set emnenr = '" & artikel(1) & "', niveau = '" & ???????? & "' WHERE artikelnr = " & artikel(0)
Hvis den altid ser sådan ud 26-3-5 altså allle tre tal er der så kan dette bruges:
Du kan stadig bruge - hvis det altid gælder: artilnr-emnnr-niveau
if Request.form("valg") = "ArrangerArtikel" then Dim aendret, MyArray, bound, i, artikel MyString = Request.form("aendret") response.write(MyString)
MyArray = Split(MyString, ",", -1, 1)
for i = lbound(myarray) to ubound(myarray) artikel = Split(MyArray(i), "-")
strSQL = "select * from ARTIKLER WHERE ARTIKELNR = " & artikel(0) set rs = Conn.execute(strSQL)
if rs.EOF then status = "En eller flere af artiklerne er IKKE blevet arrangeret, da den eller de ikke i forvejen eksisterede!" else strSQL = "UPDATE ARTIKLER set emnenr = '" & artikel(1) & "', niveau = '" & artikel(2) & "' WHERE artikelnr = " & artikel(0) Conn.execute(strSQL) status = "Artiklerne er nu blevet arrangeret!" end if next end if
Linien: artikel = Split(MyArray(i), "-") skal blot ændres så artikel() kommer til at indeholde de forskellige elementer, uanset hvad separatoren er:
Det nemmeste er at ensrette separatoren; (laver først alle om til ","):
Dim TempStr 'sættes udenfor loops
TempStr = MyArray(i) TempStr = Replace(TempStr, "-", ",") 'her kan du jo tjekke for alle de tegn du ønsker TempStr = Replace(TempStr, "/", ",") TempStr = Replace(TempStr, ".", ",") TempStr = Replace(TempStr, "_", ",")
Ok, jeg kigger på begge løsninger og vender så tilbage :-)
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.