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.
det er en access db. når formularen bliver submitet bliver dataerne sendt videre til en anden fil, hvor de bliver sat ind idb'en, men hvordan kan man så kende forskel på de enkelte rækker fra formularen når de skal sættes ind i db'en hvis man benytter ovenstående?
Så kan du tjekke om der er udfyldt noget i felterne:
if Request.Form("navn" & i) <> "" AND Request.Form("resultat" & i) <> "" AND Request.Form("bemaerkninger" & i) <> "" then ..gem end if
Så det bliver: for i = 1 to 5 if Request.Form("navn" & i) <> "" AND Request.Form("resultat" & i) <> "" AND Request.Form("bemaerkninger" & i) <> "" then SQL = "INSERT INTO tabel (navn, ...) VALUES ('" & Request.Form("navn" & i) & "',..) conn.Execute(SQL) end if next
men hvis nu f.eks navn eller resultat ikke er udfyldt ville jeg gerne have at den sendte tilbage at der er fejl i indtastningerne. ex. vha af en querystring som admin.asp?mode=fejl
nej ikke hvis navn eller resultat ikker er udfyldt, så skal den istedet sende brugeren tilbage til admin.asp?mode=fejl hvor jeg så kan skrive en fejlmeddelelse
Så må du først lave et tjek på om de alle er udfyldt rigtigt:
for i = 1 to 5 if Request.Form("navn" & i) = "" OR Request.Form("resultat" & i) = "" then Response.Redirect("admin.asp?mode=fejl") end if next
'Alle felter udfyldt gem i DBen:
for i = 1 to 5 if Request.Form("navn" & i) <> "" AND Request.Form("resultat" & i) <> "" then SQL = "INSERT INTO tabel (navn, ...) VALUES ('" & Request.Form("navn" & i) & "',..) conn.Execute(SQL) end if next
hmm ja men nu er problemet at nu skal man bruge alle 5 rækker igen, for at den ikke skal lave fejl kan man ik lave så den går uden om de rækker hvor der slet ikke står noget?
nej men i formularen er der jo 5 rækker med navn, resultat og bemærkninger. Problemet opstår hvis man f.eks kun bruger 1 række, så vil de resterende 4 rækker have navn og resultat tom, hvilket gør at man ikke kan opdatere db'en.
Derfor ville det være godt hvis den kunne ignorere de rækker hvor der slet ikke står noget i (da disse jo ikke bruges)
Så har jeg misforstået dig for nu syntes jeg du modsiger dig selv i forhold til kommentar 06/08-2003 22:04:15
Så ret koden tilbage til dette uden det det andet tjek:
for i = 1 to 5 if Request.Form("navn" & i) <> "" AND Request.Form("resultat" & i) <> "" then SQL = "INSERT INTO tabel (navn, ...) VALUES ('" & Request.Form("navn" & i) & "',..) conn.Execute(SQL) end if next
nej det andet tjek er for så vidt godt nok for hvis der er indtastet noget i navn, men ikke i resultat, så skal den ikke opdatere db, men sende brugeren tilbage (hvilket den os' gør)
men jeg vil gerne have at den ignorere de rækker hvor der slet ikke er skrevet noget, hverken i navn, resultater og bemærkninger. For ignorer den ikke dem, bliver man nødt til at udfylde alle 5 rækker i formularen for at få den til at opdatere db'en (hvilket der ikke altid er behov for)
Ja ok nu tror jeg er med, altså hvis man kun skrive rnoget i enten navn eller resultater eller bemærkninger så skal den melde fejl og hvis alle felter er tomme skal den ikke melde det som fejl.
Så prøv dette, hvor den udvide en del for at tjekke at dem som slet ikke er udfyldt er tomme.
for i = 1 to 5 navn = Request.Form("navn" & i) resultat = Request.Form("resultat" & i) bemaerkninger = Request.Form("bemaerkninger" & i)
if (navn <> "" AND (resultat = "" OR bemaerkninger = "")) OR _ (resultat <> "" AND (navn = "" OR bemaerkninger = "")) OR _ (bemaerkninger <> "" AND (navn = "" OR resultat = "")) then
Response.Redirect("admin.asp?mode=fejl") end if next
'Alle felter udfyldt gem i DBen:
for i = 1 to 5 if Request.Form("navn" & i) <> "" AND Request.Form("resultat" & i) <> "" then SQL = "INSERT INTO tabel (navn, ...) VALUES ('" & Request.Form("navn" & i) & "',..) conn.Execute(SQL) end if next
ja det ser vist meget godt ud....jeg har ik testet den endnu, men laver den ik os fejl hvis feltet bemærkninger ikke er udfyldt? det felt er jo ikke påkrævet.
Jeg har os helt glemt der skulle være et felt der hedder dato!! (hvilket selvfølgelig er påkrævet ligesom navn og resultat)
Tjekker er der fordi bemaerkninger ikke må være udfyldt alene, men det rigtig det kan fjerne i nogle af dem ;)
Så prøv sådan her:
for i = 1 to 5 navn = Request.Form("navn" & i) resultat = Request.Form("resultat" & i) dato = Request.Form("dato" & i) bemaerkninger = Request.Form("bemaerkninger" & i)
if (navn <> "" AND (resultat = "" OR dato = "")) OR _ (resultat <> "" AND (navn = "" OR dato = "")) OR _ (dato <> "" AND (navn = "" OR resultat = "")) OR _ (bemaerkninger <> "" AND (dato="" OR navn = "" OR resultat = "")) then
Response.Redirect("admin.asp?mode=fejl") end if next
okay...det må jeg lige prøve at rette til i morgen
mange tak for hjælpen! : )
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.