/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Oppdatere flere poster i en tabell samtidi~
Fra : Rune Brynestad


Dato : 30-01-02 10:40

Jeg holder på å lage et system for fraværsregistrering på jobb. Systemet
fungerer slik at alle ansatte registrere sitt fravær. Deretter skal
nærmeste overordnet godkjenne fraværet før det blir sendt samlet til
Personalavdelingen.

Når overordnet skal godkjenne fraværet, får han opp en side som skriver ut
registrert fravær for ansatte som han har ansvar for. Fraværet blir skrevet
ut som skjemafelter. Overordnet godkjenner fraværet ved å merke hver enkelt
post som godkjent (checkbox) og deretter trykke på submit knappan for å
sende alle poster samlet.

Det er her problemet oppstår. Tabellen blir ikke oppdatert og jeg får
heller ingen feilmeldinger. Koden som skal oppdatere tabellen med data fra
skjemaet ligger ved.

Mvh
Rune Brynestad
Sparebanken Sogn og Fjordane


<%
sConnString = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=d:\inetpub\wwwroot\fpdb\Personal.mdb"
Set MyConnection = Server.CreateObject("ADODB.Connection")
MyConnection.Open(sConnString)
Set cmdTemp = Server.CreateObject("ADODB.Command")
cmdTemp.CommandType = 1
Set cmdTemp.ActiveConnection = MyConnection

If Request.Form.Count > 0 Then
Set rs = Server.CreateObject("ADODB.Recordset")
For I = 1 to Request.Form.Count
cmdTemp.CommandText = "UPDATE Fraversregistrering SET Godkjent =
Godkjent " & _
"WHERE Id = Id"
rs.Open cmdTemp
Next
Set rs = Nothing
End If

MyConnection.Close
Set MyConnection = Nothing

Response.redirect("lag_fraversoversikt3.htm")

%>





 
 
Pål Andreassen (30-01-2002)
Kommentar
Fra : Pål Andreassen


Dato : 30-01-02 11:54

"Rune Brynestad" <rune.brynestad@fylkesbanken.sf.no> wrote in
news:GbP58.255$3c.15317@juliett.dax.net:
> If Request.Form.Count > 0 Then
> Set rs = Server.CreateObject("ADODB.Recordset")
> For I = 1 to Request.Form.Count
> cmdTemp.CommandText = "UPDATE Fraversregistrering SET
> Godkjent =
> Godkjent " & _
> "WHERE Id = Id"
> rs.Open cmdTemp
> Next
> Set rs = Nothing
> End If

Den SQL'en over kan da umulig virke:
   "UPDATE Fraversregistrering SET Godkjent = Godkjent WHERE Id = Id"

Hvis alle checkboksene har samme navn og valuem er ID til posten som skal
godkjennes vil vel en Request.Form("fldGodkjenn") (hvis feltet da heter
fldGodkjenn) returnere en array over de id'er som er checket av.

Dermed kan du få satt flagget i databasen med et kall i stedet for å gå i
løkke:

"UPDATE Fraversregistrering " _
& "SET Godkjent = True " _
& "WHERE Id IN (" & Join(Request.Form("fldGodkjenn"), ",")) & ")"

Utestet, men en god ide :) Bør selvfølgelig lese
Request.Form("fldGodkjenn") til en variabel og sjekke for gyldighet samt
sjekke at dette virkelig er en array først.
--
Pål Andreassen

All views and opinions expressed in the above text are mine and have
nothing to do what so ever with my employer.

Jakob Andersen (30-01-2002)
Kommentar
Fra : Jakob Andersen


Dato : 30-01-02 16:17

"Rune Brynestad" <rune.brynestad@fylkesbanken.sf.no> wrote in message
news:GbP58.255$3c.15317@juliett.dax.net...
><snip>

Først og fremmest vil jeg anbefale at du giver alle dine checkboxe samme
navn sådan her:
<input type="checkbox" name="idnummer" value="POSTENSIDNUMMER" />


Og så lav din indsættelses kode sådan her:
<%
Set MyConnection = Server.CreateObject("ADODB.Connection")
MyConnection.ConnectionString = "DRIVER={Microsoft Access
Driver(*.mdb)};DBQ=d:\inetpub\wwwroot\fpdb\Personal.mdb"
MyConnection.Open
MyConnection.Execute("UPDATE Fraversregistrering SET Godkjent = True WHERE
Id IN (" & Request.Form("idnummer") & ")
MyConnection.Close
Set MyConnection = Nothing
Response.redirect("lag_fraversoversikt3.htm")
%>


--
Jakob Andersen
Er du god til ASP og mangler du et job?
Så kontakt mig på jta@advice.dk





Rune Brynestad (31-01-2002)
Kommentar
Fra : Rune Brynestad


Dato : 31-01-02 21:58

Glimrende løsning. Det enkle er som oftest det beste. Tusen takk for
hjelpen Jakob.

Mvh
Rune Brynestad
Sparebanken Sogn og Fjordane



"Jakob Andersen" <jakob@effectus.dk> skrev i melding
news:a392v3$b0g$1@sunsite.dk...
> "Rune Brynestad" <rune.brynestad@fylkesbanken.sf.no> wrote in message
> news:GbP58.255$3c.15317@juliett.dax.net...
> ><snip>
>
> Først og fremmest vil jeg anbefale at du giver alle dine checkboxe samme
> navn sådan her:
> <input type="checkbox" name="idnummer" value="POSTENSIDNUMMER" />
>
>
> Og så lav din indsættelses kode sådan her:
> <%
> Set MyConnection = Server.CreateObject("ADODB.Connection")
> MyConnection.ConnectionString = "DRIVER={Microsoft Access
> Driver(*.mdb)};DBQ=d:\inetpub\wwwroot\fpdb\Personal.mdb"
> MyConnection.Open
> MyConnection.Execute("UPDATE Fraversregistrering SET Godkjent = True WHERE
> Id IN (" & Request.Form("idnummer") & ")
> MyConnection.Close
> Set MyConnection = Nothing
> Response.redirect("lag_fraversoversikt3.htm")
> %>
>
>
> --
> Jakob Andersen
> Er du god til ASP og mangler du et job?
> Så kontakt mig på jta@advice.dk
>
>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste