Denne del kaldes for alle vare man har lagt i kurven.
Hvis man så ændre inputfeltet antal, og trykker knappen opdater vil jeg gerne have den kører dette :
strSQL = "UPDATE lliste SET Antal='" & request.form("antal1") & "' AND Varenr='" & request.form("varenr1") & "' AND pris='" & request.form("pris1") & "' WHERE lliste.SessionID = '" & Session.SessionID & "'"
Den skal så bare opdater oplysningerne for den aktuelle vare i databasen, men den tager alle værdier for alle varer med hvordan undgår jeg dette (Dette er når der er valgt mere end 1 vare)
Hvis der kun er valgt en vare kommer den med denne fejl for update sætningen : Datatyperne stemmer ikke overens i kriterieudtrykket.
Hvis du har formen i en løkke så er problemet jo at hvis der er 5 varer ja så har 5 gange felter som hedder fx "antal1" Når du submitter formen vil resultatet derfor være "1,2,3,4,5" eller måske "1+2+3+4+5" eller lignende Jeg kan ikke huske om det er kommaer eller plusser den sætter i Men det kan du hurtig lure ved enten skrive den ud, eller ved at lave method="post" om til method="get" Så må du når du henter det lave en linje antal = split(request.form("antal1"),"+") og tilsvarende lave en sql løkke ala for i = 0 til ubound(antal)-1 strsql = "update lliste set antal = "antal(i).......osv next
Hvis du har en fejl med datatyper der ikke stemmer overens, så skriv sql sætningen ud og læg den herind :o)
Antal=" & antaliliste(request.form("antal1")) skal være Antal=" & antaliliste(i) tilsvarende med resten Det du kalder "antaliliste" er jo et array(1,2,3,4,5) mens request.form("antal1") er en tekststreng "1,2,3,4,5" :o)
antaliliste skal det ikke også være en count streng på en måde, så den tæller hvor mange poster der er i arrayet istedet for at tage post for post? Har dog ikke så meget kendskab til brug af arrays?
Skal disse linier ikke også tælles en atnd vidre efter hver gang den ghar gennemført løkken? Varenriliste = split(request.form("Varenr1"),",") beskrivelseiliste = split(request.form("beskrivelse1"),",") prisiliste = split(request.form("pris1"),",") listeidiliste = split(request.form("listeid1"),",")
Nu er jeg da kommet en del længere, mne nu er der kun det med jriteriaudtrykket der ikke passer :
Dette er sql strengen: strSQL = "UPDATE lokalesalgsliste SET Antal='" & Request.Form("antal1")(i) & "' AND Varenr='" & Request.Form("varenr1")(i) & "' AND beskrivelse='" & Request.Form("beskrivelse1")(i) & "' AND pris='" & Request.Form("pris1")(i) & "' WHERE lokalesalgsliste.ListeID ='" & Request.Form("listeid1")(i) & "' AND lokalesalgsliste.SessionID = '" & Session.SessionID & "'"
I databasen (En access database) er der disse felter som er af typerne: ListeID - Auto nr. SessionID - TAL VareNr - Tekst Tabel - Tekst Antal - TAL Beskrivelse - Tekst Pris - Tal
Hvis jeg får den til at accepter typerne kommer den med -1 i antal når jeg forsøger at ændre dem, mne hvis jeg laver en response,write på sql sætningen, ser den rigtig nok ud, mne ændre stadig til -1 eller i tilfælde hvor jeg sætter et tal i 1000 stk. klassen så kan den ændre det til 0. Hvis jeg ændre prisen ændre den også automatisk de forkerte -1 til 0 , men den ændre allievel ikke prisen?
Så hvad er bedst, og hvad kan jeg bruge med evt. ændringer?
ok her er et svar, håber det hele løkkeddes trods alt :o)
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.