Avatar billede ger2001 Novice
22. februar 2005 - 14:58 Der er 56 kommentarer og
1 løsning

access til htm

Hej
Mit spørgsmål er hvordan man laver en side hvor man kan skrive data ind og så gemmer den det i en database. Helt konkret så skal jeg vælge et varenummer fra en dropdown menu, udfylde ting om den(f.eks beskrivelse) og trykke på gem og så gemmer den i databasen. Helst i asp og jeg vil gerne se/have eksempler.
Avatar billede fennec Nybegynder
22. februar 2005 - 15:16 #1
Her er en af mine koder. Jeg har fjernet en del, så der kan evt være fejl, men det skulle der helst ikke være.
Der mangler bare en connection-string til databasen og et tabelnavn:

<%
dim uId, uName, sType, scriptname, conn

uId = Request.form("ID")
mode = Request.QueryString("mode")
scriptname = Request.ServerVariables("SCRIPT_NAME")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "conection til databasen..."

if mode = "save" then
    if uID <> "" then
        conn.execute("update enTable set name='"& Request.Form("name") &"' where id="& uID)
    else
        conn.execute("insert into enTable(name) values('"& Request.Form("name") &"')")
    end if
    response.redirect(scriptname)
    response.end
elseif mode = "del" then
    if uID <> "" then
        conn.execute("delete from enTable where id="& uID)
    end if
    response.redirect(scriptname)
    response.end
end if
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Title</title>
</head>

<body style="padding:5,5,5,5;">
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function send(mode)
{
    if(mode=="")
    {
        this.location.href = "<%= scriptname %>";
    }
    else
    {
        document.form.action = "<%= scriptname %>?mode="+mode;
        document.form.submit();
    }
}
//-->
</SCRIPT>
<form name="form" method="post">
<% if mode = "new" or mode = "edit" then
    if mode = "edit" then
        set oRs = Conn.execute("select * from enTable where id="& uID)
        if not oRs.eof then
            uName = oRs("name")
        end if
    else
        uID = ""
    end if
%>
<input type="Hidden" name="ID" value="<%= uID %>">
        <table>
            <tr>
                <td>Produkter:</td>
                <td><input type="Text" name="name" onkeydown="if(window.event.keyCode==13) send('save');" value="<%= uName %>"></td>
            </tr>
            <tr>
                <td colspan="2">
                    <input type="Button" value="Gem" onclick="send('save')">
                    <input type="Button" value="Anuller" onclick="send('')">
                </td>
            </tr>
        </table>

<% else %>
<table border="0" width="100%" cellpadding="0" cellspacing="4">
    <tr>
        <td width="50">Produkter:</td>
        <td>
            <select name="ID">
<%                 set oRs = Conn.Execute("select * from enTable order by name")
                do while not oRs.eof %>
                <option value="<%= oRs("id") %>"><%= oRs("name") %>
            <%        oRs.MoveNext
                loop %>
            </select>
        </td>
    </tr>
    <tr>
        <td colspan="2">
            <input type="Button" value="Ny" onclick="send('new')">
            <input type="Button" value="Ret" onclick="send('edit')">
            <input type="Button" value="Slet" onclick="send('del')">
        </td>
    </tr>
</table>
<% End If %>
</form>
</body>
</html>
Avatar billede ger2001 Novice
22. februar 2005 - 15:25 #2
Tak. Må hellere sige at jeg ikke kan særligt meget asp. Hvis du lige vil fortælle hvor jeg skal sætte databasen ind, evt. linienr. Jeg får nemlig bare en fejlmeddelse.
Avatar billede fennec Nybegynder
22. februar 2005 - 15:30 #3
Conn.Open "conection til databasen..."

skal ændres. Hvis du bruger Access er det noget i denne stil:
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("DinDatabase.mdb;")

Og alle "enTabel" skal ændres til tabelnavnet i databasen. Dette eks gør kun brug af 2 felter på tabellen id (autonummer) og name (tekst)
Avatar billede ger2001 Novice
23. februar 2005 - 08:54 #4
tak. Nu har jeg fået den til at skrive i et felt. Men jeg kan ikke få den til at gør det i flere felter. jeg forestiller mig at det er ca sådan her
Varenummer (vælges fra dropdownmenu fra databasen)
ansvarlig (skrives)
beskrivelse (skrives)
måske flere felter
Gem ( felterne gemmes i databasen)
Avatar billede fennec Nybegynder
23. februar 2005 - 09:06 #5
Hvis du har flere felter skal de bare på indsættelsen. Her har jeg også lavet et sikkerheds tjek på tekstfelterne, da ' tegnet skal erstattes med to, da der ellers sker en fejl (der bliver kun indsat en ').

name = replace(Request.Form("name"),"'","''")
add = replace(Request.Form("add"),"'","''")
zip = Request.Form("zip")
city = replace(Request.Form("city"),"'","''")
dato = Request.Form("dato")
if uID <> "" then
  conn.execute("update enTable set name='"& name &"', address='"& add &"', zip="& zip &", city='"& city &"', dato=#"& dato &"# where id="& uID)
else
  conn.execute("insert into enTable(name, address, zip, city, dato) values('"& name &"','"& add &"',"& zip &",'"& city &"',#"& dato &"#)")
end if

Læg også mærke til at tal ikke har ' omkring sig og datoer her # omkring (det er kun access der bruger # til datoer, alle andre bruger '). Datoen skal desuden også være på et bestemt format. Access bruger mm-dd-yyyy og yyyy-mm-dd formaterne. Jeg vil anbefale at bruge yyyy-mm-dd formatet da det virker i de fleste andre databaser også. Indtastnings formatet til datoer er sikkert anderledes, hvilket betyder at du selv skal omformatere datoen når du skal indsætte den.
Avatar billede ger2001 Novice
23. februar 2005 - 09:29 #6
Hvor skal jeg sætte det ind?
Avatar billede ger2001 Novice
23. februar 2005 - 09:50 #7
tror jeg har fundet ud af det..
Avatar billede fennec Nybegynder
23. februar 2005 - 10:00 #8
Det første du skal have gjort er selvfølgelig at have udvidet formen, så der er flere indtastnings felter. Så skal du have udvidet databasen med tilsvarende felter, og tilsidst udvides de to indsættættelses rutiner ("insert.." og "update..")
Avatar billede ger2001 Novice
23. februar 2005 - 10:20 #9
Kan ikke få det til at virke så poster lige hvad jeg har indtil nu.
<%
dim uId, uName, sType, scriptname, conn

uId = Request.form("ID")
mode = Request.QueryString("mode")
scriptname = Request.ServerVariables("SCRIPT_NAME")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("db1.mdb;")
varenummer = replace(Request.Form("varenummer"),"'","''")
fejltype = replace(Request.Form("fejltype"),"'","''")




if mode = "save" then
   
if uID <> "" then
  conn.execute("update fejl set name='"& varenummer &"', fejltype='"& fejltype &"' where id="& uID)
else
  conn.execute("insert into fejl(varenummer, fejltype) values('"& varenummer &"','"& fejltype &"')")
end if

    response.redirect(scriptname)
    response.end
elseif mode = "del" then
    if uID <> "" then
        conn.execute("delete from enTable where id="& uID)
    end if
    response.redirect(scriptname)
    response.end
end if
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Title</title>
</head>

<body style="padding:5,5,5,5;">
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function send(mode)
{
    if(mode=="")
    {
        this.location.href = "<%= scriptname %>";
    }
    else
    {
        document.form.action = "<%= scriptname %>?mode="+mode;
        document.form.submit();
    }
}
//-->
</SCRIPT>
<form name="form" method="post">
<% if mode = "new" or mode = "edit" then
    if mode = "edit" then
        set oRs = Conn.execute("select * from varenummer where id="& uID)
        if not oRs.eof then
            uName = oRs("name")
        end if
    else
        uID = ""
    end if
%>


<input type="Hidden" name="ID" value="name">
        <table>
            <tr>
                <td>varenummer</td>
                <td><input type="Text" name="name" onkeydown="if(window.event.keyCode==13) send('save');" value="<%= uName %>"></td>
            </tr>

<input type="Hidden" name="ID" value="ansvarlig">
        <table>
            <tr>
                <td>ansvarlig</td>
                <td><input type="Text" name="adress" onkeydown="if(window.event.keyCode==13) send('save');" value="<%= uName %>"></td>
            </tr>

           
        <tr>
                <td colspan="2">
                    <input type="Button" value="Gem" onclick="send('save')">
                    <input type="Button" value="Anuller" onclick="send('')">
                </td>
            </tr>
        </table>


<% End If %>
</form>
</body>
</html>
Avatar billede ger2001 Novice
23. februar 2005 - 10:22 #10
<%
dim uId, uName, sType, scriptname, conn

uId = Request.form("ID")
mode = Request.QueryString("mode")
scriptname = Request.ServerVariables("SCRIPT_NAME")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("db1.mdb;")
varenummer = replace(Request.Form("varenummer"),"'","''")
fejltype = replace(Request.Form("fejltype"),"'","''")




if mode = "save" then
   
if uID <> "" then
  conn.execute("update fejl set name='"& varenummer &"', fejltype='"& fejltype &"' where id="& uID)
else
  conn.execute("insert into fejl(varenummer, fejltype) values('"& varenummer &"','"& fejltype &"')")
end if

    response.redirect(scriptname)
    response.end
elseif mode = "del" then
    if uID <> "" then
        conn.execute("delete from enTable where id="& uID)
    end if
    response.redirect(scriptname)
    response.end
end if
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Title</title>
</head>

<body style="padding:5,5,5,5;">
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function send(mode)
{
    if(mode=="")
    {
        this.location.href = "<%= scriptname %>";
    }
    else
    {
        document.form.action = "<%= scriptname %>?mode="+mode;
        document.form.submit();
    }
}
//-->
</SCRIPT>
<form name="form" method="post">
<% if mode = "new" or mode = "edit" then
    if mode = "edit" then
        set oRs = Conn.execute("select * from varenummer where id="& uID)
        if not oRs.eof then
            uName = oRs("name")
        end if
    else
        uID = ""
    end if
%>


<input type="Hidden" name="ID" value="name">
        <table>
            <tr>
                <td>varenummer</td>
                <td><input type="Text" name="name" onkeydown="if(window.event.keyCode==13) send('save');" value="<%= uName %>"></td>
            </tr>

<input type="Hidden" name="ID" value="ansvarlig">
        <table>
            <tr>
                <td>ansvarlig</td>
                <td><input type="Text" name="adress" onkeydown="if(window.event.keyCode==13) send('save');" value="<%= uName %>"></td>
            </tr>

           
        <tr>
                <td colspan="2">
                    <input type="Button" value="Gem" onclick="send('save')">
                    <input type="Button" value="Anuller" onclick="send('')">
                </td>
            </tr>
        </table>

<% else %>
<table border="0" width="100%" cellpadding="0" cellspacing="4">
    <tr>
        <td width="50">Produkter:</td>
        <td>
            <select name="ID">
<%                set oRs = Conn.Execute("select * from varenummer order by varenummer")
                do while not oRs.eof %>
                <option value="<%= oRs("id") %>"><%= oRs("varenummer") %>
            <%        oRs.MoveNext
                loop %>
            </select>
        </td>
    </tr>
    <tr>
        <td width="50">Produkter:</td>
        <td>
            <select name="ID">
<%                set oRs = Conn.Execute("select * from fejl order by fejltype")
                do while not oRs.eof %>
                <option value="<%= oRs("id") %>"><%= oRs("fejltype") %>
            <%        oRs.MoveNext
                loop %>
            </select>
        </td>
    </tr>

    <tr>
        <td colspan="2">
            <input type="Button" value="Ny" onclick="send('new')">
            <input type="Button" value="Ret" onclick="send('edit')">
            <input type="Button" value="Slet" onclick="send('del')">
        </td>
    </tr>
</table>
<% End If %>
</form>
</body>
</html>
Avatar billede ger2001 Novice
23. februar 2005 - 10:25 #11
får hele tiden denne fejl
Tekniske oplysninger (for supportteknikere)

Fejltype:
Microsoft JET Database Engine (0x80040E14)
Der er en syntaksfejl, fordi der mangler et komma. i forespørgselsudtrykket "id=name, ansvarlig".
/install.asp, line 18


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.40607)

Side:
POST 38 bytes to /install.asp

POST Data:
ID=name&name=aa&ID=ansvarlig&adress=11

Klokkeslæt:
23. februar 2005, 10:24:43


Yderligere oplysninger:
Microsoft Support
Avatar billede fennec Nybegynder
23. februar 2005 - 10:28 #12
Du har gang i to tabeller (varenummer og fejl) kan jeg få en beskrivelse af dem (felter og datatyper)
Avatar billede ger2001 Novice
23. februar 2005 - 10:32 #13
har faktisk 3
varenummer (består kun af varenavn + varenummmer)
fejl (består af varenummer, varenavn, fejltype, beskrivelse, antal kasserede, løsning, ansvarlig)
fejltype (fejltype)
Havde forstillet mig at varenavn + fejltype skulle være opslag i en dropdown og at de andre skulle være felter man kan skrive i.
Avatar billede fennec Nybegynder
23. februar 2005 - 11:40 #14
Ok. Så er det vist en anden type kode du skal have. Den jeg lavede her er til oprettelse/ændring af produkter i en database.

Vender lige tilbage med en ny kode....
Avatar billede fennec Nybegynder
23. februar 2005 - 13:08 #15
hvad er "fejltype" er det et tal eller tekst??
Avatar billede ger2001 Novice
23. februar 2005 - 13:29 #16
kan det ikke være begge dele. jeg havde forestillet mig
1.montage
2.maskine
3.....

ellers tekst..
Avatar billede fennec Nybegynder
23. februar 2005 - 13:31 #17
Du har altså et id og en tekst??
Avatar billede ger2001 Novice
23. februar 2005 - 13:33 #18
Jeg har tænk nærmere over det og tekst vil passe fint
Avatar billede fennec Nybegynder
23. februar 2005 - 13:38 #19
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("db1.mdb;")
mode = Request.QueryString("mode")
scriptname = Request.ServerVariables("SCRIPT_NAME")

if mode = "save" then
  temp1 = request.form("vareNR")
  temp2 = request.form("fejlType")
  temp3 = replace(request.form("describe"),"'","''")
  temp4 = request.form("amountDumped")
  temp5 = replace(request.form("solution"),"'","''")
  temp6 = repace(request.form("responsible"),"'","''")
  sql = "insert into fejl(varenummer, fejlID, beskrivelse, antal_kasserede, løsning, ansvarlig) "&_
    "values("& temp1 &",'"& temp2 &"','"& temp3 &"',"& temp4 &",'"& temp5 &"','"& temp6 &"')"
  conn.execute(sql)
  response.redirect(scriptname)
end if
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<body>
<form name="myForm" method="post" action="<%= scriptname %>?mode=save">
varenr:
<select name="vareNR">
<%
set rs = conn.execute("select * from varenummer order by varenavn")
do while not rs.eof
  response.write "<option value='"& rs("varenummmer") &"'>"& rs("varenavn")
  rs.MoveNext
loop
%>
</select><br>
fejl type:
<select name="fejlType">
<%
set rs = conn.execute("select * from fejltype order by fejltype")
do while not rs.eof
  response.write "<option value='"& rs("id") &"'>"& rs("fejltype")
  rs.MoveNext
loop
%>
</select><br>
Beskrivelse:
<textarea name="describe" cols="40" rows="4"></textarea><br>
Antal kasserede:
<input type="Text" name="amountDumped" value=""><br>
Løsning:
<textarea name="solution" cols="40" rows="4"></textarea><br>
Ansvarlig:
<input type="Text" name="responsible" value=""><br>
<input type="Submit" value="Gem">
</form>

<br><br>

<%
sql = "select * from fejl "&_
  "inner join varenummer on varenummer.varenummer = fejl.varenummer "&_
  "inner join fejltype on fejltype.id = fejl.fejlID "&_
set rs = conn.execute(sql)
do while not rs.eof
  response.write rs("varenummer")& "<br>"& vbcrlf
  response.write rs("varenavn")& "<br>"& vbcrlf
  response.write rs("fejltype")& "<br>"& vbcrlf
  response.write rs("beskrivelse")& "<br>"& vbcrlf
  response.write rs("antal_kasserede")& "<br>"& vbcrlf
  response.write rs("løsning")& "<br>"& vbcrlf
  response.write rs("ansvarlig")& "<br>"& vbcrlf
  response.write "<br>"& vbcrlf
  rs.MoveNext
loop
%>

</body>
</html>

Jeg har ændret lidt i tabellerne. Undgå mellemrum i tabel/kolonne navne og æøå.
varenummer:
varenummmer, varenavn

fejltype:
id, fejltype

fejl:
varenummer, fejlID, beskrivelse, antal_kasserede, loesning, ansvarlig
Avatar billede ger2001 Novice
23. februar 2005 - 13:51 #20
har prøvet men.

Siden kan ikke vises
Der er opstået et problem med den side, du forsøger at se, og siden kan ikke vises.

--------------------------------------------------------------------------------

Prøv følgende:

Klik på knappen Opdater, eller forsøg igen senere.

Åbn cad. hjemmesiden, og søg derefter efter hyperlinks til de ønskede oplysninger.
HTTP 500,100 - Intern fejl på serveren - ASP-fejl -
Internet Information Services

--------------------------------------------------------------------------------

Tekniske oplysninger (for supportteknikere)

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03EA)
Der er en syntaksfejl
/install.asp, line 65
set rs = conn.execute(sql)


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.40607)

Side:
GET /install.asp

Klokkeslæt:
23. februar 2005, 13:51:35


Yderligere oplysninger:
Microsoft Support
Avatar billede fennec Nybegynder
23. februar 2005 - 13:56 #21
sql = "select * from fejl "&_
  "inner join varenummer on varenummer.varenummer = fejl.varenummer "&_
  "inner join fejltype on fejltype.id = fejl.fejlID "&_

skal være:
sql = "select * from fejl "&_
  "inner join varenummer on varenummer.varenummer = fejl.varenummer "&_
  "inner join fejltype on fejltype.id = fejl.fejlID "
Avatar billede ger2001 Novice
23. februar 2005 - 14:02 #22
Tekniske oplysninger (for supportteknikere)

Fejltype:
Microsoft JET Database Engine (0x80040E14)
Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "varenummer.varenummer = fejl.varenummer inner join fejltype on fejltype.id = fejl.fejlID".
/install.asp, line 65


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.40607)

Side:
GET /install.asp

Klokkeslæt:
23. februar 2005, 14:03:22


Yderligere oplysninger:
Microsoft Support
Avatar billede fennec Nybegynder
23. februar 2005 - 14:06 #23
Det er jo access, så skal der også parenteser om joins :o)

sql = "select * from ((fejl "&_
  "inner join varenummer on varenummer.varenummer = fejl.varenummer) "&_
  "inner join fejltype on fejltype.id = fejl.fejlID) "
Avatar billede ger2001 Novice
23. februar 2005 - 14:12 #24
Tekniske oplysninger (for supportteknikere)

Fejltype:
Microsoft JET Database Engine (0x80004005)
Datatyper i JOIN-udtrykket stemmer ikke overens.
/install.asp, line 65


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.40607)

Side:
GET /install.asp

Klokkeslæt:
23. februar 2005, 14:13:15


Yderligere oplysninger:
Microsoft Support
Avatar billede fennec Nybegynder
23. februar 2005 - 14:17 #25
Det er en af de ændringer jeg har lavet på tabellerne.

fejltype.id skal være autonummer datatype
fejl.fejlID skal være tal datatype
Avatar billede ger2001 Novice
23. februar 2005 - 14:23 #26
Mht autonummer betyder det så autonummerering i access
Så skulle de være rettet til.

Fejltype:
Microsoft JET Database Engine (0x80040E10)
No value given for one or more required parameters.
/install.asp, line 65


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.40607)

Side:
GET /install.asp

Klokkeslæt:
23. februar 2005, 14:22:25


Yderligere oplysninger:
Microsoft Support
Avatar billede fennec Nybegynder
23. februar 2005 - 14:45 #27
Hvordan ser din database ud nu (felter og datatyper)??
Avatar billede ger2001 Novice
23. februar 2005 - 14:50 #28
fejl:
id-autonummerering
varenummer-tal
varenavn-tekst
fejlID-tal
beskrivelse-tekst
antal_kasserede-tal
loesning-tekst
ansvarlig-tekst

fejltype:
ID-autonummerering
fejltype-tekst

varenummer:
ID-autonummerering
varenummer-tal
varenavn-tekst

Er det det du mener?
Avatar billede ger2001 Novice
23. februar 2005 - 14:53 #29
Jeg får nu denne
Fejltype:
Microsoft JET Database Engine (0x80004005)
Tabellen "varenummer" er låst med udelt adgang af brugeren "Admin" på maskinen "CAD".
/install.asp, line 31

hvordan retter jeg det?
Avatar billede ger2001 Novice
23. februar 2005 - 14:54 #30
Glem sidste indlæg!!!!!!!!
Avatar billede ger2001 Novice
23. februar 2005 - 15:28 #31
tager hjem nu. prøver igen i morgen. Mange tak til fennec for din store ihærdighed og tålmodighed.
Avatar billede ger2001 Novice
24. februar 2005 - 07:07 #32
jeg poster lige koden indtil videre
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("db1.mdb;")
mode = Request.QueryString("mode")
scriptname = Request.ServerVariables("SCRIPT_NAME")

if mode = "save" then
  temp1 = request.form("vareNR")
  temp2 = request.form("fejlType")
  temp3 = replace(request.form("describe"),"'","''")
  temp4 = request.form("amountDumped")
  temp5 = replace(request.form("solution"),"'","''")
  temp6 = repace(request.form("responsible"),"'","''")
  sql = "insert into fejl(varenummer, fejlID, beskrivelse, antal_kasserede, løsning, ansvarlig) "&_
    "values("& temp1 &",'"& temp2 &"','"& temp3 &"',"& temp4 &",'"& temp5 &"','"& temp6 &"')"
  conn.execute(sql)
  response.redirect(scriptname)
end if
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<body>
<form name="myForm" method="post" action="<%= scriptname %>?mode=save">
varenr:
<select name="vareNR">
<%
set rs = conn.execute("select * from varenummer order by varenavn")
do while not rs.eof
  response.write "<option value='"& rs("varenummmer") &"'>"& rs("varenavn")
  rs.MoveNext
loop
%>
</select><br>
fejl type:
<select name="fejlType">
<%
set rs = conn.execute("select * from fejltype order by fejltype")
do while not rs.eof
  response.write "<option value='"& rs("id") &"'>"& rs("fejltype")
  rs.MoveNext
loop
%>
</select><br>
Beskrivelse:
<textarea name="describe" cols="40" rows="4"></textarea><br>
Antal kasserede:
<input type="Text" name="amountDumped" value=""><br>
Løsning:
<textarea name="solution" cols="40" rows="4"></textarea><br>
Ansvarlig:
<input type="Text" name="responsible" value=""><br>
<input type="Submit" value="Gem">
</form>

<br><br>

<%
sql = "select * from ((fejl "&_
  "inner join varenummer on varenummer.varenummer = fejl.varenummer) "&_
  "inner join fejltype on fejltype.id = fejl.fejlID) "
set rs = conn.execute(sql)
do while not rs.eof
  response.write rs("varenummer")& "<br>"& vbcrlf
  response.write rs("varenavn")& "<br>"& vbcrlf
  response.write rs("fejltype")& "<br>"& vbcrlf
  response.write rs("beskrivelse")& "<br>"& vbcrlf
  response.write rs("antal_kasserede")& "<br>"& vbcrlf
  response.write rs("løsning")& "<br>"& vbcrlf
  response.write rs("ansvarlig")& "<br>"& vbcrlf
  response.write "<br>"& vbcrlf
  rs.MoveNext
loop
%>

</body>
</html>
Avatar billede ger2001 Novice
24. februar 2005 - 07:08 #33
og resultatet
Fejltype:
Microsoft JET Database Engine (0x80040E10)
No value given for one or more required parameters.
/install.asp, line 65


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.40607)

Side:
GET /install.asp

Klokkeslæt:
24. februar 2005, 07:07:12


Yderligere oplysninger:
Microsoft Support
Avatar billede fennec Nybegynder
24. februar 2005 - 08:14 #34
Er fejl.varenummer lig varenummer.varenummer eller varenummer.id?

ps. Undskyld jeg ikke svarede i går, men jeg har ingen mail fået fra E, så jeg har ikke set du var herinde. Det kan derfor godt tage lidt tid inden jeg svarer :(
Avatar billede ger2001 Novice
24. februar 2005 - 08:30 #35
Det er helt ok
Fejl.varenummmer er det samme som varenummer.varenummmer
Avatar billede ger2001 Novice
24. februar 2005 - 08:40 #36
UPS et m for meget
fejl.varenummer er det samme som varenummer.varenummmer
Avatar billede fennec Nybegynder
24. februar 2005 - 08:53 #37
Kan du gøre din database tilgængelig???
Jeg har nemlig lavet en test database med de tabeller og der virker det fint i...
Avatar billede ger2001 Novice
24. februar 2005 - 08:55 #38
kan du ikke maile den database.
houlind2001@yahoo.dk
Avatar billede fennec Nybegynder
24. februar 2005 - 09:05 #39
Den er på vej :o)

response.write rs("løsning")& "<br>"& vbcrlf
skal desuden være:
response.write rs("loesning")& "<br>"& vbcrlf

Men der kommer du slet ikke ned endnu. Da fejlen sker i linje 65. Det går jeg ud fra er:
set rs = conn.execute(sql)

Hvilket betyder at der er fejl i sql-sætningen, inden du kommer til rs("løsning") fejlen.
Avatar billede ger2001 Novice
24. februar 2005 - 09:20 #40
Kan ikke åbne din database. Kan det muligvis være fordi jeg bruger access 97?

Fejltype:
ADODB.Recordset (0x800A0CC1)
Item cannot be found in the collection corresponding to the requested name or ordinal.
/install.asp, line 33


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.40607)

Side:
GET /install.asp

Klokkeslæt:
24. februar 2005, 09:19:56


Yderligere oplysninger:
Microsoft Support
Avatar billede fennec Nybegynder
24. februar 2005 - 09:23 #41
Har lige testet igen på en ander server, og der virkede det ikke. Men det gør det med denne kode og database:

www.henriknygaard.dk/db1.mdb
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("db1.mdb;")
mode = Request.QueryString("mode")
scriptname = Request.ServerVariables("SCRIPT_NAME")

if mode = "save" then
  temp1 = request.form("vareNR")
  temp2 = request.form("fejlType")
  temp3 = replace(request.form("describe"),"'","''")
  temp4 = request.form("amountDumped")
  temp5 = replace(request.form("solution"),"'","''")
  temp6 = replace(request.form("responsible"),"'","''")
  sql = "insert into fejl(varenummer, fejlID, beskrivelse, antal_kasserede, loesning, ansvarlig) "&_
    "values("& temp1 &",'"& temp2 &"','"& temp3 &"',"& temp4 &",'"& temp5 &"','"& temp6 &"')"
  conn.execute(sql)
  response.redirect(scriptname)
end if
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<body>
<form name="myForm" method="post" action="<%= scriptname %>?mode=save">
varenr:
<select name="vareNR">
<%
set rs = conn.execute("select * from varenummer order by varenavn")
do while not rs.eof
  response.write "<option value='"& rs("varenr") &"'>"& rs("varenavn")
  rs.MoveNext
loop
%>
</select><br>
fejl type:
<select name="fejlType">
<%
set rs = conn.execute("select * from fejltype order by fejltype")
do while not rs.eof
  response.write "<option value='"& rs("id") &"'>"& rs("fejltype")
  rs.MoveNext
loop
%>
</select><br>
Beskrivelse:
<textarea name="describe" cols="40" rows="4"></textarea><br>
Antal kasserede:
<input type="Text" name="amountDumped" value=""><br>
Løsning:
<textarea name="solution" cols="40" rows="4"></textarea><br>
Ansvarlig:
<input type="Text" name="responsible" value=""><br>
<input type="Submit" value="Gem">
</form>

<br><br>

<%
sql = "select * from ((fejl "&_
  "inner join varenummer on varenummer.varenr = fejl.varenummer) "&_
  "inner join fejltype on fejltype.id = fejl.fejlID) "
set rs = conn.execute(sql)
do while not rs.eof
  response.write rs("varenr")& "<br>"& vbcrlf
  response.write rs("varenavn")& "<br>"& vbcrlf
  response.write rs("fejltype")& "<br>"& vbcrlf
  response.write rs("beskrivelse")& "<br>"& vbcrlf
  response.write rs("antal_kasserede")& "<br>"& vbcrlf
  response.write rs("loesning")& "<br>"& vbcrlf
  response.write rs("ansvarlig")& "<br>"& vbcrlf
  response.write "<br>"& vbcrlf
  rs.MoveNext
loop
%>

</body>
</html>
Avatar billede ger2001 Novice
24. februar 2005 - 09:29 #42
Den kan jeg også få til at virke, men desværre så kan jeg ikke åbne databasen.
Avatar billede ger2001 Novice
24. februar 2005 - 09:38 #43
Nu tror jeg næsten jeg har fået den til at virke, men når jeg trykker på gem kommer denne her.
Tekniske oplysninger (for supportteknikere)

Fejltype:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A000D)
Typer stemmer ikke overens: 'repace'
/install.asp, line 13


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.40607)

Side:
POST 92 bytes to /install.asp

POST Data:
vareNR=254250&fejlType=4&describe=erterter&amountDumped=44&solution=erterter&responsible=mig

Klokkeslæt:
24. februar 2005, 09:38:15


Yderligere oplysninger:
Microsoft Support
Avatar billede ger2001 Novice
24. februar 2005 - 09:40 #44
gætter på der skal stå replace istedet..
Avatar billede ger2001 Novice
24. februar 2005 - 09:55 #45
har fundet løsningen. poster lige koden. varenavn skulle fjernes i den nederste del.
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("db1.mdb;")
mode = Request.QueryString("mode")
scriptname = Request.ServerVariables("SCRIPT_NAME")

if mode = "save" then
  temp1 = request.form("vareNR")
  temp2 = request.form("fejlType")
  temp3 = replace(request.form("describe"),"'","''")
  temp4 = request.form("amountDumped")
  temp5 = replace(request.form("solution"),"'","''")
  temp6 = replace(request.form("responsible"),"'","''")
  sql = "insert into fejl(varenummer, fejlID, beskrivelse, antal_kasserede, loesning, ansvarlig) "&_
    "values("& temp1 &",'"& temp2 &"','"& temp3 &"',"& temp4 &",'"& temp5 &"','"& temp6 &"')"
  conn.execute(sql)
  response.redirect(scriptname)
end if
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<body>
<form name="myForm" method="post" action="<%= scriptname %>?mode=save">
varenr:
<select name="vareNR">
<%
set rs = conn.execute("select * from varenummer order by varenavn")
do while not rs.eof
  response.write "<option value='"& rs("varenr") &"'>"& rs("varenavn")
  rs.MoveNext
loop
%>
</select><br>
fejl type:
<select name="fejlType">
<%
set rs = conn.execute("select * from fejltype order by fejltype")
do while not rs.eof
  response.write "<option value='"& rs("id") &"'>"& rs("fejltype")
  rs.MoveNext
loop
%>
</select><br>
Beskrivelse:
<textarea name="describe" cols="40" rows="4"></textarea><br>
Antal kasserede:
<input type="Text" name="amountDumped" value=""><br>
Løsning:
<textarea name="solution" cols="40" rows="4"></textarea><br>
Ansvarlig:
<input type="Text" name="responsible" value=""><br>
<input type="Submit" value="Gem">
</form>

<br><br>

<%
sql = "select * from ((fejl "&_
  "inner join varenummer on varenummer.varenr = fejl.varenummer) "&_
  "inner join fejltype on fejltype.id = fejl.fejlID) "
set rs = conn.execute(sql)
do while not rs.eof
  response.write rs("varenr")& "<br>"& vbcrlf

  response.write rs("fejltype")& "<br>"& vbcrlf
  response.write rs("beskrivelse")& "<br>"& vbcrlf
  response.write rs("antal_kasserede")& "<br>"& vbcrlf
  response.write rs("loesning")& "<br>"& vbcrlf
  response.write rs("ansvarlig")& "<br>"& vbcrlf
  response.write "<br>"& vbcrlf
  rs.MoveNext
loop
%>

</body>
</html>
Avatar billede ger2001 Novice
24. februar 2005 - 10:01 #46
har kun et lille problem. I listen over varenumre viser den varenavn, den skulle gerne vise varenumre og den liste over poster der kommer til sidst vil jeg gerne have fjernet
Avatar billede ger2001 Novice
24. februar 2005 - 10:02 #47
har fjernet listen...
Avatar billede ger2001 Novice
24. februar 2005 - 10:03 #48
altså den der kommer til sidst, mangler stadig at få orden i listen over varenumre.
Avatar billede ger2001 Novice
24. februar 2005 - 10:06 #49
er så også iorden. Kan man få både varenummer og varenavn til at stå i det første valg?
Avatar billede ger2001 Novice
24. februar 2005 - 10:18 #50
OK jeg har nok rodet lidt rund i det så lige for at opsummere:
Kan man i det første valg have både varenummer og varenavn, sorteret efter varenummer.
Avatar billede fennec Nybegynder
24. februar 2005 - 10:38 #51
response.write "<option value='"& rs("varenr") &"'>"& rs("varenr") & rs("varenavn")
Avatar billede fennec Nybegynder
24. februar 2005 - 10:40 #52
Også skulle det sorteres også:

set rs = conn.execute("select * from varenummer order by varenr")
do while not rs.eof
  response.write "<option value='"& rs("varenr") &"'>"& rs("varenr") & rs("varenavn")  rs.MoveNext
loop
Avatar billede fennec Nybegynder
24. februar 2005 - 10:41 #53
Der smuttede rs.MoveNext :o)

set rs = conn.execute("select * from varenummer order by varenr")
do while not rs.eof
  response.write "<option value='"& rs("varenr") &"'>"& rs("varenr") & rs("varenavn")
  rs.MoveNext
loop
Avatar billede ger2001 Novice
24. februar 2005 - 10:46 #54
eventuelt adskilt af en bindestreg
Avatar billede ger2001 Novice
24. februar 2005 - 10:48 #55
tror jeg selv fandt ud af det. Hvad siger du til dette:
response.write "<option value='"& rs("varenr") &"'>"& rs("varenr") & "-" & rs("varenavn")
Avatar billede ger2001 Novice
24. februar 2005 - 10:50 #56
Nu virker det
Jeg siger tak for hjælpen, du har så rigeligt fortjent pointene. Jeg forsætter videre på egen hånd.
Tusind tak
Avatar billede fennec Nybegynder
24. februar 2005 - 12:11 #57
No prob
.o) <-- One eyed Jack
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