Avatar billede l_otto Nybegynder
29. juli 2003 - 15:13 Der er 58 kommentarer og
1 løsning

Spørgsmål er det ok at bruge asp og Access som medarbejder db.

hvis der er op til 50 brugere på af gangen, der taster i den.....

Eller hvad?

Er der andre systemer der er bedre ?

Kan man afhjælpe når der er to der taster i den samme profil ?
Avatar billede medions Nybegynder
29. juli 2003 - 15:15 #1
Jeg ville forslå dig at bruge MySQL det er en gratis Databaseserver!

//>Rune
Avatar billede l_otto Nybegynder
29. juli 2003 - 15:17 #2
men hvad er det der gør den bedre ?
Avatar billede medions Nybegynder
29. juli 2003 - 15:19 #3
Den kan klare størrer datamængder og er hurtigere!

//>Rune
Avatar billede l_otto Nybegynder
29. juli 2003 - 15:21 #4
ok, men er den meget hurtigere ?

og kan man kode den så at den kommer op og siger at der er en anden bruger der er igang med en profil(medarbejder) ?
Avatar billede medions Nybegynder
29. juli 2003 - 15:23 #5
Well, jeg ved ik' hvor meget hurtigere den er, men den er hurtigere!
Jeg forstår ik' rigtig hvad du mener med profilerne!

//>Rune
Avatar billede moejensen Nybegynder
29. juli 2003 - 15:24 #6
Det med at den kommer op og siger at der er en anden der bruger tabbellen, kan du evt selv lave, så du sætter et låsningsfeldt når en bruger begynder at ændre i en profil.

Det kan gøres i både access og mySQL
Avatar billede l_otto Nybegynder
29. juli 2003 - 15:27 #7
ok ja det var det som moejensen snakker om jeg er ude efter..! fordi hvis der er en der er ved at rette i en medarbejder og en anden prøver at komme på skal der poppe et window op der siger at der bliver arbejdet i medarbejdere..

er det nemt at lave et låsningsfeldt i access ?
Avatar billede moejensen Nybegynder
29. juli 2003 - 15:32 #8
du laver bare et feldt i din database der ex hedder lås, og når en bruger går ind for at redigere en profil, sætter du lås til true, og når brugeren opdatere opdatere profilen med de nye indtastede data, så sætter du lås lig med false.
Avatar billede l_otto Nybegynder
29. juli 2003 - 15:35 #9
har du lidt kode på det..?

jeg har et felt der ikke bliver brugt der hedder = Tekst_7

hvordan fletter jeg det ind.. ?
Avatar billede moejensen Nybegynder
29. juli 2003 - 15:46 #10
i din database laver du et feldt der jedder laas af typen true/false

i starten af din redigerprofil.asp, laver du et sql kald, hvor du sætter laas til true, på den profil du vil til at rette.

her efter kommer alt den kode du normalt vil have i din redigerProfil.asp. Men i den SQL sætning hvor du opdatere ændringerne, sætter du laas til false.

Så skulle du være der.

Du skal selvfølgelig så lave et tjek på i starten om den i forvejen er låst, for så skal du skrive en fejl ud, hvor der står at den er låst, og at brugeren skal prøve igen senere.
Avatar billede trumf Nybegynder
29. juli 2003 - 17:42 #11
Det er nemmere at lave en sessionsvariabel på applikationsniveau i global.asa, så belastes Access heller ikke.

Mht. MySql så kan jeg oplyse at det er pt. verdens hurtigste database til web. Den umiddelbare forskel ud over hastigheden er, at der kan være mange flere brugere på samtidig. Access kan vist kun have 10 brugere på samtidig, men det betyder ikke noget, hvis det kun drejer sig om 50 brugere, da man bare bliver lagt i kø, hvilket alligevel ikke kan mærkes når det er internet (de splitsaekunder man lægges i kø er jo intet imod download tid på selv det mindste billede)
Avatar billede l_otto Nybegynder
30. juli 2003 - 07:55 #12
nu har jeg lavet et felt der hedder laas..

men kan du give mig de SQL sætninger ? + det tjek  hvor der står at den er låst, og at brugeren skal prøve igen senere.
Avatar billede trumf Nybegynder
30. juli 2003 - 10:14 #13
Det er altså ikke så god en ide at bruge en database til det du vil lave, da systemet kan låses helt, hvis en medarbejder ikke logger ud igen. Man kan jo blive smidt af, eller telefonen ringer....  skal systemet så være låst indtil det låses op igen manuelt ?

Hvis du laver en global.asa fil der ser sådan ud:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
  application("brugerCounter")=application("brugerCounter")+1
  Session.Timeout = 5
End Sub

Sub Session_OnEnd
  application("brugerCounter")=application("brugerCounter")-1
  If application("brugerCounter")=0 Then
    application("admCounter")=0
  End If
End Sub

sub application_onstart
  application("admCounter")=0
end sub

sub application_onend
end sub
</SCRIPT>

Med sådan en tæller, så vil det altid være muligt at logge ind igen efter sidste mand er logget af

På siden hvor du vil låse kan du bruge application("admCounter"). Du laver et simpelt check:
If application("admCounter")>x Then
  laas = True
Else
  application("admCounter")=application("admCounter")+1
  'log ind i systemet
  ...
  ...
  ...
  'log ud igen
  application("admCounter")=application("admCounter")-1
End If

Så kan du selv sætte x til den værdi for hvor mange der må logge ind i systemet samtidig.

Hvis der kun må være en bruger på, så kan du bare lave en application("laas") og sætte den til "jep" eller "nix", du skal bare lave et check i global.asa og se om der er nogen online, og hvis ikke så sæt den til "nix".

Det er da nemt hvad ?
Avatar billede l_otto Nybegynder
30. juli 2003 - 10:31 #14
hej nu har jeg lavet en fin Global.asa

der hvor misæren ligger er at det jo er en medarbejderdatabase.. det vil sige at hvis Lise fra kontoret er inde og rette i medarbejder 1 og SUS fra lageret også prøver at gå ind og rette på samme tid skal de komme op og sige "vente lige der er en anden bruger i gang."

Så jeg har en fil der hedder retmed.asp og er det i den skal skal sætte koden ind ?

her er filen.... måske kan du sætte koden ind for mig for jeg kan ikke helt gennem skue det.. sorry..
Avatar billede l_otto Nybegynder
30. juli 2003 - 10:32 #15
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Medarbejdere </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<link rel="stylesheet" type="text/css" href="ccs.txt">
<BODY><center>
<TABLE>
<TR>
    <TD><TABLE width="900" align="center" >
<TR ><BR>
    <TD valign="bottom"><b>
<a href="default.asp"  >Forsiden</a> |
<a href="#" onClick="showit(0)">Medarbejdere</a> |


<!-- Edit the dimensions of the below, plus background color-->
<ilayer width=900 height=12 name="dep1" bgColor="#EEF0F4">
<layer name="dep2" width=900 height=12>
</layer>
</ilayer>
<div id="describe" style="background-color:#EEF0F4;width:900px;height:12px" onclick="clear_delayhide()" ></div>
<script language="JavaScript1.2">
/*
Tabs Menu (mouseover)- By Dynamic Drive
For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
This credit MUST stay intact for use
*/
var submenu=new Array()
//Set submenu contents. Expand as needed. For each content, make sure everything exists on ONE LINE. Otherwise, there will be JS errors.

submenu[0]='<a href="opretmed.asp">Opret medarbejder</a> |<a href="retmed.asp">Ret i medarbejder</a> |<a href="search_start.asp">Søg i medarbejdere</a> |<a href="medarbliste.asp">Medarbejderliste</a> |  <a href="fletsearch_start.asp">Lav Flettebrev/label </a> |'


//Set delay before submenu disappears after mouse moves out of it (in milliseconds)
var delay_hide=500

/////No need to edit beyond here

var menuobj=document.getElementById? document.getElementById("describe") : document.all? document.all.describe : document.layers? document.dep1.document.dep2 : ""

function showit(which){
clear_delayhide()
thecontent=(which==-1)? "" : submenu[which]
if (document.getElementById||document.all)
menuobj.innerHTML=thecontent
else if (document.layers){
menuobj.document.write(thecontent)
menuobj.document.close()
}
}

function resetit(e){
if (document.all&&!menuobj.contains(e.toElement))
delayhide=setTimeout("showit(-1)",delay_hide)
else if (document.getElementById&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhide=setTimeout("showit(-1)",delay_hide)
}

function clear_delayhide(){
if (window.delayhide)
clearTimeout(delayhide)
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

</script></TD>
</TR>
</TABLE></TD>
</TR>


<TR>
    <TD><table width="900" height="460" border="0" cellspacing="0" cellpadding="0" align="center">
<TR>
    <TD valign="top" bgcolor="#EEF0F4"><TABLE>
<TR>
    <TD><TABLE>
    <TR>
        <TD width="900" height="550" valign="top"><TABLE>
<TR>
    <TD>
<div align="center">
  <table border="0" width="850" height="500">
    <tr>
      <td width="100%" valign="top" align="center">


   
<FONT SIZE="2" COLOR="#FF0000"><b>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.open DSN

strSQL = ""
strPosition = Request.QueryString("position")

strMedarbejderId = Request.QueryString("id")

if strMedarbejderId <> "" then
    strSQL = "select * From medarb Where Id = " & strMedarbejderId
else
    strSQL                 = session("search_sql") & ""
    if strPosition <> "" then
       
    else
        strPosition = session("search_position")
    end if
end if


Set RS = Server.createObject("ADODB.Recordset")
RS.Open strSQL,Conn,1


positionShow = 0
strPosition = strPosition + 0

sidsteMedArbList = "false"

do while strPosition > positionShow
    RS.MoveNext
    if RS.EOF then
        sidsteMedArbList = "true"
    else
        positionShow = positionShow + 1
    end if
loop

session("search_position") = strPosition + 1

%>
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN



if Request.ServerVariables("REQUEST_METHOD") = "POST" then
strSQL = "update medarb set Navn2 ='"&request.form("Navn2")&"', Navn1 = '"&request.form("Navn1")&"', Adresse1 = '"&request.form("Adresse1")&"', Post_Nr = '"&request.form("Post_Nr")&"', Distrikt = '"&request.form("Distrikt")&"', Mobil = '"&request.form("Mobil")&"', Telefon = '"&request.form("Telefon")&"', E_mail = '"&request.form("E_mail")&"', foedt = '"&request.form("foedt")&"' , Funktion = '"&request.form("Funktion")&"', Fraktion = '"&request.form("Fraktion")&"' , Arbejdsfunktion = '"&request.form("Arbejdsfunktion")&"' where id = " & request.querystring("id")
set rs = Conn.execute(strSQL)


end if
strSQL = "Select * From medarb Where Id = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)


%>

Du kan nu rette i Medarbejderns oplysniger:
<form method="post" action="retmedarb.asp?id=<%=request.querystring("id")%>">
<TABLE>
    <TR>
        <TD valign="top" bgcolor="#FFffff" width="500"><FONT SIZE="2" COLOR="#FF0000"><b>Medarbejder</FONT><TABLE>
    <TR>
        <TD >Navn<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();"  name="Navn2" value="<%=rs("Navn2")%>" class="Formindhold" size="40"></td></TD>    </TR>
        <TD >Efternavn<td><input type="text"  name="Navn1"  size="40" class="Formindhold" onchange="this.form.update.value='Gem';this.form.submit();" value="<%=rs("Navn1")%>"  ></td></TD>    </TR>
        <TD >Adresse<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();"  name="Adresse1"  size="40" class="Formindhold" value="<%=rs("Adresse1")%>"  ></td></TD>    </TR>
        <TD >Postnr<td><input type="text"  name="Post_Nr" class="Formindhold" size="4" value="<%=rs("Post_Nr")%>" ></TD></TD>    </TR>
        <TD >Bynavn<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();" name="Distrikt"  size="40" class="Formindhold" value="<%=rs("Distrikt")%>" ></td></TD>    </TR>

    </TR>
    <TR>
   
        <TD >Mobiltelefon<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();" name="Mobil" class="Formindhold" value="<%=rs("Mobil")%>"  ></td></TD>    </TR>
        <TD >Hjemme tlf<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();" name="Telefon" class="Formindhold" value="<%=rs("telefon")%>"  ></td></TD>    </TR>
        <TD >E-mail<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();" size="40" name="E_mail" class="Formindhold" value="<%=rs("E_mail")%>" ></td>    </TR>

<TD >Født<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();" size="40" name="foedt" class="Formindhold" value="<%=rs("foedt")%>" ></td>    </TR>
<TD >Funktion<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();" size="40" name="Funktion" class="Formindhold" value="<%=rs("Funktion")%>" ></td>    </TR>

<TD >Fraktion<td><select name="Fraktion" onchange="this.form.update.value='Gem';this.form.submit();"  class="Formindhold">
              </td>
                </tr>

<TD >Arbejdsfunktion<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();" size="40" name="Arbejdsfunktion" class="Formindhold" value="<%=rs("Arbejdsfunktion")%>" ></td>    </TR>


    </TR>    </TR>
    </TABLE>
   
    </TD>
    </TR>
    </TABLE>


<center>

<INPUT TYPE='submit' NAME='update' value='Gem' class='knap'>

<%
    RS.MoveNext
    if RS.EOF then
        sidsteMedArbList = "true"
        session("search_position") = strPosition
    end if

if sidsteMedArbList = "false" then
%>
   

<a href='oretmedarb.asp'>Næste</a>
<% end if%>
<br/>
<a href='oretmed.asp'>Ny søgning</a>
<br/>
<a href='orsearch.asp?back=true'>Resultat af søgning</a>

            </TD>
            </TR>
            </TABLE>





<center>

</BODY>
</HTML>








</body>
</html>
Avatar billede l_otto Nybegynder
30. juli 2003 - 10:34 #16
der må jo godt være flere inde og rette men bare ikke i den samme person..
Avatar billede trumf Nybegynder
30. juli 2003 - 12:16 #17
OK, jeg misforstod.

Så lav i stedet for en tæller en tekst streng, som du lægger i den applikationsvariabel.

Når man går ind på en bestemt medarbejder, så lægges den pågældende medarbejders ID i enden af strengen adskilt af feks komma.

If inStr(application("retBruger"), "," & rs(brugerID) & ",") Then
  laas = true
else
  laas = false
  application("brugerCounter")=application("brugerCounter") & rs(brugerID) & ","
End If

Så kan du evt. på submit aktivere et popup hvis laas = true, ellers kan man rette.
Avatar billede trumf Nybegynder
30. juli 2003 - 12:18 #18
På den side der inddaterer skal du selvfælgelig fjerne ID'et igen, så andre kan rette
Avatar billede l_otto Nybegynder
30. juli 2003 - 12:21 #19
super men hvor skal jeg sætte den ind på retmedarb.asp ?

jeg er ikke super godt til det her :-( sorry
Avatar billede trumf Nybegynder
30. juli 2003 - 12:40 #20
Du kan bare lægge koden i starten af siden, bare du har hentet brugeroplysningerne først. Så kan du checke om laas er true nede ved submitknappen. Hvis den er false kan du jo bare skrive en tekst om at der ikke kan gemmes i stedet for et popup.
Avatar billede l_otto Nybegynder
30. juli 2003 - 12:47 #21
den ligger nu i toppen af retmedarb.asp
men jeg får denne fejl..:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'rs'

/ros/retmedarb.asp, line 1



min global.asa:


<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
  application("brugerCounter")=application("brugerCounter")+1
  Session.Timeout = 5
End Sub

Sub Session_OnEnd
  application("brugerCounter")=application("brugerCounter")-1
  If application("brugerCounter")=0 Then
    application("admCounter")=0
  End If
End Sub

sub application_onstart
  application("admCounter")=0
end sub

sub application_onend
end sub
</SCRIPT>
Avatar billede trumf Nybegynder
30. juli 2003 - 13:00 #22
erstat rs(brugerid) med Request.QueryString("id")

og lav global.asa om til
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
  application("brugerCounter")=application("brugerCounter")+1
  Session.Timeout = 5
End Sub

Sub Session_OnEnd
  application("brugerCounter")=application("brugerCounter")-1
  If application("brugerCounter")=0 Then
    application("retBruger")=""
  End If
End Sub

sub application_onstart
  application("retBruger")=""
end sub

sub application_onend
end sub
</SCRIPT>
Avatar billede l_otto Nybegynder
30. juli 2003 - 13:20 #23
pis hvorfor kan jeg ikke finde ud af at sætte det rigtigt ind ?

Microsoft VBScript compilation error '800a03ee'

Expected ')'

/ros/retmedarb.asp, line 1

If inStr(application("retBruger"), "," & Request.QueryString("id")
------------------------------------------------------------------^
Avatar billede trumf Nybegynder
30. juli 2003 - 14:38 #24
som fejlmeddelsen siger, så skal du lave en )
If inStr(application("retBruger"), "," & Request.QueryString("id"))
Avatar billede l_otto Nybegynder
30. juli 2003 - 14:44 #25
hmm det er jeg ikke så god til det her.. pis..:

Microsoft VBScript compilation error '800a03f9'

Expected 'Then'

/ros/retmedarb.asp, line 1

If inStr(application("retBruger"), "," & Request.QueryString("id"))
-------------------------------------------------------------------^
Avatar billede l_otto Nybegynder
30. juli 2003 - 14:44 #26
her der det hele..
<%If inStr(application("retBruger"), "," & Request.QueryString("id"))
& ",") Then
  laas = true
else
  laas = false
  application("brugerCounter")=application("brugerCounter") & rs(brugerID) & ","
End If

%>
Avatar billede moejensen Nybegynder
30. juli 2003 - 15:21 #27
du skal have det i en linje:

<%If inStr(application("retBruger"), "," & Request.QueryString("id"))& ",") Then
  laas = true
else
  laas = false
  application("brugerCounter")=application("brugerCounter") & rs(brugerID) & ","
End If

%>
Avatar billede l_otto Nybegynder
04. august 2003 - 10:17 #28
så laver den denne fejl...:-(

Microsoft VBScript compilation error '800a03f9'

Expected 'Then'

/ros/retmedarb.asp, line 1

If inStr(application("retBruger"), "," & Request.QueryString("id"))& ",") Then
------------------------------------------------------------------------^
Avatar billede moejensen Nybegynder
04. august 2003 - 10:24 #29
prøv med:

<%If inStr(application("retBruger"),Request.QueryString("id")) Then
  laas = true
else
  laas = false
  application("brugerCounter")=application("brugerCounter") & rs(brugerID) & ","
End If

%>
Avatar billede l_otto Nybegynder
04. august 2003 - 10:25 #30
Microsoft VBScript runtime error '800a000d'

Type mismatch: 'rs'

/ros/retmedarb.asp, line 5
Avatar billede l_otto Nybegynder
04. august 2003 - 10:25 #31
line 5 =
application("brugerCounter")=application("brugerCounter") & rs(brugerID) & ","
Avatar billede moejensen Nybegynder
04. august 2003 - 10:27 #32
har du husket at initialisere det recordset i denne fil?
Avatar billede l_otto Nybegynder
04. august 2003 - 10:31 #33
jeg tror jeg er lidt på den med det her.....

Altså jeg har en global.asa

<!-- #include file = "global.asa" -->
som jeg har sat ind i toppen af retmedarb.asp
Avatar billede moejensen Nybegynder
04. august 2003 - 10:35 #34
ja, men hvor skriver du følgede.

set rs =
Avatar billede l_otto Nybegynder
04. august 2003 - 10:36 #35
så jeg ved ikke om det er rigtigt...

hvordan initialisere  jeg ?
Avatar billede l_otto Nybegynder
04. august 2003 - 10:38 #36
<!-- #include file = "global.asa" -->
<%If inStr(application("retBruger"),Request.QueryString("id")) Then
  laas = true
else
  laas = false
  application("brugerCounter")=application("brugerCounter") & rs(brugerID) & ","
End If

%>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.open DSN

strSQL = ""
strPosition = Request.QueryString("position")

strMedarbejderId = Request.QueryString("id")

if strMedarbejderId <> "" then
    strSQL = "select * From medarb Where Id = " & strMedarbejderId
else
    strSQL                 = session("search_sql") & ""
    if strPosition <> "" then
       
    else
        strPosition = session("search_position")
    end if
end if


Set RS = Server.createObject("ADODB.Recordset")
RS.Open strSQL,Conn,1


positionShow = 0
strPosition = strPosition + 0

sidsteMedArbList = "false"

do while strPosition > positionShow
    RS.MoveNext
    if RS.EOF then
        sidsteMedArbList = "true"
    else
        positionShow = positionShow + 1
    end if
loop

session("search_position") = strPosition + 1

%>
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN



if Request.ServerVariables("REQUEST_METHOD") = "POST" then
strSQL = "update medarb set Navn2 ='"&request.form("Navn2")&"', Navn1 = '"&request.form("Navn1")&"', Adresse1 = '"&request.form("Adresse1")&"', Post_Nr = '"&request.form("Post_Nr")&"', Distrikt = '"&request.form("Distrikt")&"', Mobil = '"&request.form("Mobil")&"', Telefon = '"&request.form("Telefon")&"', E_mail = '"&request.form("E_mail")&"', foedt = '"&request.form("foedt")&"' , Funktion = '"&request.form("Funktion")&"', Fraktion = '"&request.form("Fraktion")&"' , Arbejdsfunktion = '"&request.form("Arbejdsfunktion")&"' where id = " & request.querystring("id")
set rs = Conn.execute(strSQL)


end if
strSQL = "Select * From medarb Where Id = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)


%>

Du kan nu rette i Medarbejderns oplysniger:
<form method="post" action="retmedarb.asp?id=<%=request.querystring("id")%>">
<TABLE>
    <TR>
        <TD valign="top" bgcolor="#FFffff" width="500"><FONT SIZE="2" COLOR="#FF0000"><b>Medarbejder</FONT><TABLE>
    <TR>
        <TD >Navn<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();"  name="Navn2" value="<%=rs("Navn2")%>" class="Formindhold" size="40"></td></TD>    </TR>
        <TD >Efternavn<td><input type="text"  name="Navn1"  size="40" class="Formindhold" onchange="this.form.update.value='Gem';this.form.submit();" value="<%=rs("Navn1")%>"  ></td></TD>    </TR>
        <TD >Adresse<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();"  name="Adresse1"  size="40" class="Formindhold" value="<%=rs("Adresse1")%>"  ></td></TD>    </TR>
        <TD >Postnr<td><input type="text"  name="Post_Nr" class="Formindhold" size="4" value="<%=rs("Post_Nr")%>" ></TD></TD>    </TR>
        <TD >Bynavn<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();" name="Distrikt"  size="40" class="Formindhold" value="<%=rs("Distrikt")%>" ></td></TD>    </TR>

    </TR>
    <TR>
Avatar billede moejensen Nybegynder
04. august 2003 - 10:38 #37
Hvor har du en linje hvor der står:

"set rs ="

det er der du sætter rs lig med de data du henter i databasen
Avatar billede moejensen Nybegynder
04. august 2003 - 10:42 #38
skriv:

<%If inStr(application("retBruger"),Request.QueryString("id")) Then
  laas = true
else
  laas = false
  application("brugerCounter")=application("brugerCounter") & Request.QueryString("id")) & ","
End If

%>
Avatar billede moejensen Nybegynder
04. august 2003 - 10:45 #39
Prøv evt.

<%If inStr(application("retBruger"),Request.QueryString("id")) Then
  laas = true
else
  laas = false
  application("brugerCounter")= ""&application("brugerCounter")&","& Request.QueryString("id")) &","
End If

%>
Avatar billede l_otto Nybegynder
04. august 2003 - 11:02 #40
Microsoft VBScript compilation error '800a0401'

Expected end of statement

/ros/retmedarb.asp, line 6

application("brugerCounter")= ""&application("brugerCounter")&","& Request.QueryString("id")) &","
--------------------------------------------------------------------------------------------^
Avatar billede l_otto Nybegynder
04. august 2003 - 11:02 #41
jeg har vist dig min side:

10:38:10
Avatar billede moejensen Nybegynder
04. august 2003 - 11:09 #42
<%If inStr(application("retBruger"),Request.QueryString("id")) Then
  laas = true
else
  laas = false
  application("brugerCounter")= ""&application("brugerCounter")&","& Request.QueryString("id")) &"
End If

%>
Avatar billede moejensen Nybegynder
04. august 2003 - 11:09 #43
eller:

<%If inStr(application("retBruger"),Request.QueryString("id")) Then
  laas = true
else
  laas = false
  application("brugerCounter")= ""&application("brugerCounter")&","& Request.QueryString("id")) &",""
End If

%>
Avatar billede l_otto Nybegynder
04. august 2003 - 11:12 #44
11:09:34 =

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/ros/retmedarb.asp, line 6

application("brugerCounter")= ""&application("brugerCounter")&","& Request.QueryString("id")) &",""
--------------------------------------------------------------------------------------------^
Avatar billede l_otto Nybegynder
04. august 2003 - 11:12 #45
altså den for "id" fra en
  strLink = "<b><a href='retmedarb.asp?id=" & rs("Id") & "' target='_top'>" & strNavn & "</a>"

fra siden før..
Avatar billede moejensen Nybegynder
04. august 2003 - 11:14 #46
ja det er fint

prøv:

application("brugerCounter") = application("brugerCounter")&","& Request.QueryString("id"))
Avatar billede l_otto Nybegynder
04. august 2003 - 11:15 #47
Microsoft VBScript compilation error '800a0401'

Expected end of statement

/ros/retmedarb.asp, line 6

application("brugerCounter") = application("brugerCounter")&","& Request.QueryString("id"))
------------------------------------------------------------------------------------------^
Avatar billede l_otto Nybegynder
04. august 2003 - 11:16 #48
her er hele min side :

<!-- #include file = "global.asa" -->
<%If inStr(application("retBruger"),Request.QueryString("id")) Then
  laas = true
else
  laas = false
  application("brugerCounter") = application("brugerCounter")&","& Request.QueryString("id"))
End If

%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Medarbejdere </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<link rel="stylesheet" type="text/css" href="ccs.txt">
<BODY><center>
<TABLE>
<TR>
    <TD><TABLE width="900" align="center" >
<TR ><BR>
    <TD valign="bottom"><b>
<a href="default.asp"  >Forsiden</a> |
<a href="#" onClick="showit(0)">Medarbejdere</a> |


<!-- Edit the dimensions of the below, plus background color-->
<ilayer width=900 height=12 name="dep1" bgColor="#EEF0F4">
<layer name="dep2" width=900 height=12>
</layer>
</ilayer>
<div id="describe" style="background-color:#EEF0F4;width:900px;height:12px" onclick="clear_delayhide()" ></div>
<script language="JavaScript1.2">
/*
Tabs Menu (mouseover)- By Dynamic Drive
For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
This credit MUST stay intact for use
*/
var submenu=new Array()
//Set submenu contents. Expand as needed. For each content, make sure everything exists on ONE LINE. Otherwise, there will be JS errors.

submenu[0]='<a href="opretmed.asp">Opret medarbejder</a> |<a href="retmed.asp">Ret i medarbejder</a> |<a href="search_start.asp">Søg i medarbejdere</a> |<a href="medarbliste.asp">Medarbejderliste</a> |  <a href="fletsearch_start.asp">Lav Flettebrev/label </a> |'


//Set delay before submenu disappears after mouse moves out of it (in milliseconds)
var delay_hide=500

/////No need to edit beyond here

var menuobj=document.getElementById? document.getElementById("describe") : document.all? document.all.describe : document.layers? document.dep1.document.dep2 : ""

function showit(which){
clear_delayhide()
thecontent=(which==-1)? "" : submenu[which]
if (document.getElementById||document.all)
menuobj.innerHTML=thecontent
else if (document.layers){
menuobj.document.write(thecontent)
menuobj.document.close()
}
}

function resetit(e){
if (document.all&&!menuobj.contains(e.toElement))
delayhide=setTimeout("showit(-1)",delay_hide)
else if (document.getElementById&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhide=setTimeout("showit(-1)",delay_hide)
}

function clear_delayhide(){
if (window.delayhide)
clearTimeout(delayhide)
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

</script></TD>
</TR>
</TABLE></TD>
</TR>


<TR>
    <TD><table width="900" height="460" border="0" cellspacing="0" cellpadding="0" align="center">
<TR>
    <TD valign="top" bgcolor="#EEF0F4"><TABLE>
<TR>
    <TD><TABLE>
    <TR>
        <TD width="900" height="550" valign="top"><TABLE>
<TR>
    <TD>
<div align="center">
  <table border="0" width="850" height="500">
    <tr>
      <td width="100%" valign="top" align="center">


   
<FONT SIZE="2" COLOR="#FF0000"><b>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.open DSN

strSQL = ""
strPosition = Request.QueryString("position")

strMedarbejderId = Request.QueryString("id")

if strMedarbejderId <> "" then
    strSQL = "select * From medarb Where Id = " & strMedarbejderId
else
    strSQL                 = session("search_sql") & ""
    if strPosition <> "" then
       
    else
        strPosition = session("search_position")
    end if
end if


Set RS = Server.createObject("ADODB.Recordset")
RS.Open strSQL,Conn,1


positionShow = 0
strPosition = strPosition + 0

sidsteMedArbList = "false"

do while strPosition > positionShow
    RS.MoveNext
    if RS.EOF then
        sidsteMedArbList = "true"
    else
        positionShow = positionShow + 1
    end if
loop

session("search_position") = strPosition + 1

%>
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN



if Request.ServerVariables("REQUEST_METHOD") = "POST" then
strSQL = "update medarb set Navn2 ='"&request.form("Navn2")&"', Navn1 = '"&request.form("Navn1")&"', Adresse1 = '"&request.form("Adresse1")&"', Post_Nr = '"&request.form("Post_Nr")&"', Distrikt = '"&request.form("Distrikt")&"', Mobil = '"&request.form("Mobil")&"', Telefon = '"&request.form("Telefon")&"', E_mail = '"&request.form("E_mail")&"', foedt = '"&request.form("foedt")&"' , Funktion = '"&request.form("Funktion")&"', Fraktion = '"&request.form("Fraktion")&"' , Arbejdsfunktion = '"&request.form("Arbejdsfunktion")&"' where id = " & request.querystring("id")
set rs = Conn.execute(strSQL)


end if
strSQL = "Select * From medarb Where Id = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)


%>

Du kan nu rette i Medarbejderns oplysniger:
<form method="post" action="retmedarb.asp?id=<%=request.querystring("id")%>">
<TABLE>
    <TR>
        <TD valign="top" bgcolor="#FFffff" width="500"><FONT SIZE="2" COLOR="#FF0000"><b>Medarbejder</FONT><TABLE>
    <TR>
        <TD >Navn<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();"  name="Navn2" value="<%=rs("Navn2")%>" class="Formindhold" size="40"></td></TD>    </TR>
        <TD >Efternavn<td><input type="text"  name="Navn1"  size="40" class="Formindhold" onchange="this.form.update.value='Gem';this.form.submit();" value="<%=rs("Navn1")%>"  ></td></TD>    </TR>
        <TD >Adresse<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();"  name="Adresse1"  size="40" class="Formindhold" value="<%=rs("Adresse1")%>"  ></td></TD>    </TR>
        <TD >Postnr<td><input type="text"  name="Post_Nr" class="Formindhold" size="4" value="<%=rs("Post_Nr")%>" ></TD></TD>    </TR>
        <TD >Bynavn<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();" name="Distrikt"  size="40" class="Formindhold" value="<%=rs("Distrikt")%>" ></td></TD>    </TR>

    </TR>
    <TR>
   
        <TD >Mobiltelefon<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();" name="Mobil" class="Formindhold" value="<%=rs("Mobil")%>"  ></td></TD>    </TR>
        <TD >Hjemme tlf<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();" name="Telefon" class="Formindhold" value="<%=rs("telefon")%>"  ></td></TD>    </TR>
        <TD >E-mail<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();" size="40" name="E_mail" class="Formindhold" value="<%=rs("E_mail")%>" ></td>    </TR>

<TD >Født<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();" size="40" name="foedt" class="Formindhold" value="<%=rs("foedt")%>" ></td>    </TR>
<TD >Funktion<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();" size="40" name="Funktion" class="Formindhold" value="<%=rs("Funktion")%>" ></td>    </TR>

<TD >Fraktion<td><select name="Fraktion" onchange="this.form.update.value='Gem';this.form.submit();"  class="Formindhold">
                <option value="<%=rs("Fraktion")%>"><%=rs("Fraktion")%></option>
                <option value="Cateringservice">Cateringservice</option>
                <option value="Catering">Catering</option>
                  <option value="Lyd / lys">Lyd / lys</option>
                    <option value="Roskilde Ballroom">Roskilde Ballroom</option>
                </select></td>
                </tr>

<TD >Arbejdsfunktion<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();" size="40" name="Arbejdsfunktion" class="Formindhold" value="<%=rs("Arbejdsfunktion")%>" ></td>    </TR>


    </TR>    </TR>
    </TABLE>
   
    </TD>
    </TR>
    </TABLE>


<center>

<INPUT TYPE='submit' NAME='update' value='Gem' class='knap'>

<%
    RS.MoveNext
    if RS.EOF then
        sidsteMedArbList = "true"
        session("search_position") = strPosition
    end if

if sidsteMedArbList = "false" then
%>
   

<a href='oretmedarb.asp'>Næste</a>
<% end if%>
<br/>
<a href='oretmed.asp'>Ny søgning</a>
<br/>
<a href='orsearch.asp?back=true'>Resultat af søgning</a>

            </TD>
            </TR>
            </TABLE>





<center>

</BODY>
</HTML>








</body>
</html>
Avatar billede moejensen Nybegynder
04. august 2003 - 11:21 #49
jeg har ikke brug for din kode, før vi får løst fejlen i linje 6, jeg kan ikke lige huske hvordan linien skal lukkes.
Avatar billede l_otto Nybegynder
04. august 2003 - 11:24 #50
ok, hvad skal jeg gøre.. ?
Avatar billede l_otto Nybegynder
04. august 2003 - 14:03 #51
jeg tror den bliver svær denne her...
Avatar billede trumf Nybegynder
04. august 2003 - 20:29 #52
Du skal ikke inkludere global.asa det bliver den automatisk.

erstat
<%If inStr(application("retBruger"),Request.QueryString("id")) Then
  laas = true
else
  laas = false
  application("brugerCounter") = application("brugerCounter")&","& Request.QueryString("id"))
End If

%>
med
<%
If inStr(application("retBruger"),"," & Request.QueryString("id")) Then
  response.redirect("du_kan_ikke_rette.asp")
else
  application("retBruger") = application("retBruger")& "," & Request.QueryString("id")
End If
%>
Avatar billede l_otto Nybegynder
05. august 2003 - 08:18 #53
Jeg kan kun sige en ting og det er at Trumf er en verdens mester... nu virker det......

Men jeg vil gerne give jer alle point... så Trumf må lige svare...

P
Avatar billede l_otto Nybegynder
05. august 2003 - 08:29 #54
hvilket vil sige ikke helt alligevel.... for når jeg forlader den person jeg har rettet i, kan jeg ikke komme ind på den igen.. og det kan computer 2 heller ikke, så det er ligesom den ikke slette "session" eller hvad det er..
Avatar billede l_otto Nybegynder
05. august 2003 - 08:31 #55
plus.. det er en side hvor man kan rette i medarbejderens oplysninger og det opdateres når du trykker "tabs" :onchange="this.form.update.value='Gem';this.form.submit();"

dvs den opdatere med det samme, men når den gør det nu går den jo med det samme videre til:
response.redirect("du_kan_ikke_rette.asp")

hjælp....
Avatar billede trumf Nybegynder
05. august 2003 - 13:45 #56
På siden retmedarb.asp skal du indsætte koden:
application("retBruger") = Replace(application("retBruger"), "," & Request.QueryString("id"), "")
Det skal sættes ind umiddelbart efter data er opdateret i DB
Avatar billede trumf Nybegynder
05. august 2003 - 13:46 #57
Og så lige et svar og tak for roserne :-)
Avatar billede l_otto Nybegynder
05. august 2003 - 13:49 #58
hvor lige præcist ?

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN



if Request.ServerVariables("REQUEST_METHOD") = "POST" then
strSQL = "update medarb set Navn2 ='"&request.form("Navn2")&"', Navn1 = '"&request.form("Navn1")&"', Adresse1 = '"&request.form("Adresse1")&"', Post_Nr = '"&request.form("Post_Nr")&"', Distrikt = '"&request.form("Distrikt")&"', Mobil = '"&request.form("Mobil")&"', Telefon = '"&request.form("Telefon")&"', E_mail = '"&request.form("E_mail")&"', foedt = '"&request.form("foedt")&"' , Funktion = '"&request.form("Funktion")&"', Fraktion = '"&request.form("Fraktion")&"' , Arbejdsfunktion = '"&request.form("Arbejdsfunktion")&"' where id = " & request.querystring("id")
set rs = Conn.execute(strSQL)


end if
strSQL = "Select * From medarb Where Id = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)


%>

Du kan nu rette i Medarbejderns oplysniger:
<form method="post" action="retmedarb.asp?id=<%=request.querystring("id")%>">
<TABLE>
    <TR>
        <TD valign="top" bgcolor="#FFffff" width="500"><FONT SIZE="2" COLOR="#FF0000"><b>Medarbejder</FONT><TABLE>
    <TR>
        <TD >Navn<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();"  name="Navn2" value="<%=rs("Navn2")%>" class="Formindhold" size="40"></td></TD>    </TR>
        <TD >Efternavn<td><input type="text"  name="Navn1"  size="40" class="Formindhold" onchange="this.form.update.value='Gem';this.form.submit();" value="<%=rs("Navn1")%>"  ></td></TD>    </TR>
        <TD >Adresse<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();"  name="Adresse1"  size="40" class="Formindhold" value="<%=rs("Adresse1")%>"  ></td></TD>    </TR>
        <TD >Postnr<td><input type="text"  name="Post_Nr" class="Formindhold" size="4" value="<%=rs("Post_Nr")%>" ></TD></TD>    </TR>
        <TD >Bynavn<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();" name="Distrikt"  size="40" class="Formindhold" value="<%=rs("Distrikt")%>" ></td></TD>    </TR>

    </TR>
    <TR>
   
        <TD >Mobiltelefon<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();" name="Mobil" class="Formindhold" value="<%=rs("Mobil")%>"  ></td></TD>    </TR>
        <TD >Hjemme tlf<td><input type="text" onchange="this.form.update.value='Gem';this.form.submit();" name="Telefon" class="Formindhold" value="<%=rs("telefon")%>"  ></td></TD>    </TR>
        <TD >E-mail<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();" size="40" name="E_mail" class="Formindhold" value="<%=rs("E_mail")%>" ></td>    </TR>

<TD >Født<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();" size="40" name="foedt" class="Formindhold" value="<%=rs("foedt")%>" ></td>    </TR>
<TD >Funktion<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();" size="40" name="Funktion" class="Formindhold" value="<%=rs("Funktion")%>" ></td>    </TR>


<TD >Arbejdsfunktion<td><input type="text"  onchange="this.form.update.value='Gem';this.form.submit();" size="40" name="Arbejdsfunktion" class="Formindhold" value="<%=rs("Arbejdsfunktion")%>" ></td>    </TR>


    </TR>    </TR>
    </TABLE>
   
    </TD>
    </TR>
    </TABLE>


<center>

<INPUT TYPE='submit' NAME='update' value='Gem' class='knap'>
Avatar billede trumf Nybegynder
05. august 2003 - 14:08 #59
Da du har indsæt og opdater på samme side, må du lave en side man logger ud til, hvor koden skal lægges. men det smarteste (og sikreste) må være at når der er opdateret så ryger man til en side der skriver at rettelserne er gemt, hvor du også lægger koden.
Fra den side ryger man videre til en medarbejderoversigt, hvor man så logger ind på medarbejderen hvis der skal rettes mere. (og derved låser igen)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester