Avatar billede tolveren Nybegynder
30. januar 2006 - 18:38 Der er 158 kommentarer og
1 løsning

Rediger én record

Vil høre om der er nogen som har et godt link til en asp-demo hvor man kan redigere en enkelt record. Forstået på den måde at jeg skal bruge en form hvor jeg i et felt kan skrive recordens "Id" nr og så blive dirigeret over på en rediger-asp-side, hvor jeg kan redigere recordens felter. Jeg har allerede en asp, hvor jeg får alle records og hvor jeg kan klikke på id nr og komme over på recorden, men jeg kunne godt tænke mig at springe direkte ind på den søgte records id.
Avatar billede nielle Nybegynder
30. januar 2006 - 20:02 #1
Hvorfor en tutorial? Kan vi ikke bare løse den sammen her? :^)
Avatar billede tolveren Nybegynder
30. januar 2006 - 20:45 #2
Ser du. Den her tutorial har jeg fået til at køre rimelig godt:
http://www.w3schools.com/ado/demo_db_list.asp
men nu havde jeg fået lyst til bare at have en form hvor jeg kunne skrive "Id" eller "Nr" og så straks få mulighed for at redigere.
Avatar billede tolveren Nybegynder
30. januar 2006 - 20:47 #3
Endnu smartere hvis man kunne søge på et navn og få vist "no" og så kunne klikke på "no" og så gå i rediger-formen.
Avatar billede nielle Nybegynder
30. januar 2006 - 20:50 #4
Jamen, skal vi så¨ikke bare gå igang? Eller *skal* det være en tutorial, for at det kan bruges? ;^)
Avatar billede tolveren Nybegynder
30. januar 2006 - 21:10 #5
Nej ikke nødvendigvis. Men der skal vel bruges noget kode
Avatar billede nielle Nybegynder
30. januar 2006 - 21:14 #6
Ok, så lad os starte med, hvordan du ønsker at udpege den post der skal redigeres. Hvis det skal være som du antyder i 30/01-2006 20:47:38, så er vi nødt til at have en form hvor at vi kan indtaste et navn og så en søg-knap.

Kan du selv lave den?
Avatar billede tolveren Nybegynder
30. januar 2006 - 21:19 #7
Nej det kan jeg ikke. Bedre til SQL men kniber med scripts.
Jeg skal over og kunne køre:
nedenstående asp side. Men skal som du skriver have lavet en søgeside inden.

<script TYPE LANGUAGE="VBScript" RUNAT="SERVER"></script>

<html>
<head>

<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">

<title>Redigerer DataBasen</title>
</head>
<body>
<h2>Gem i Databasen</h2>

<%on error resume next
set conn=Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0"
conn.open(server.mappath("database.mdb"))

function fixSQL(strS)
  fixSQL = replace(strS, "'", "''")
end function

if Request.form("action")="Gem" then
      no=Request.Form("no")

      sql="UPDATE ordrer SET K_nr='" & fixSQL(Request.Form("K_nr")) & "',"
      sql=sql & "Betalingsdato='" & fixSQL(Request.Form("Betalingsdato")) & "',"
      sql=sql & "navn='" & fixSQL(Request.Form("navn")) & "',"
      sql=sql & "adresse='" & fixSQL(Request.Form("adresse")) & "',"
      sql=sql & "Postby='" & fixSQL(Request.Form("Postby")) & "',"
      sql=sql & "Attention='" & fixSQL(Request.Form("Attention")) & "',"
            sql=sql & "Tidsstempel='" & now() & "' WHERE ordrer.[no]=" & no

conn.Execute sql, Recordsaffected
if err <> 0 then
Response.Write("Der er opstået en fejl !")
else
'server.transfer("rediger_ordrer.asp")
Response.Redirect("Rediger_ordrer_Alle.asp")

 
'Response.Write("Record number " & no & " was updated.")
end if
      Response.Write("Submitting records has been disabled from this demo")
end if
if Request.Form("action")="Slet" then
      no=Request.Form("no")
conn.Execute "DELETE FROM ordrer WHERE ordrer.[no]=" & no, Recordsaffected
if err <> 0 then
Response.Write("Der er opstået en fejl !")
else
  Response.Redirect("Rediger_ordrer_Alle.asp")
'Response.Write("Record number " & no & " was deleted.")
end if
      Response.Write("Deleting records has been disabled from this demo")
end if

conn.close
%>


</body>
</html>
Avatar billede nielle Nybegynder
30. januar 2006 - 21:21 #8
Nu er det jo bare selve formularen vi skal have lavet først - lad os vente med script delen til at den er på plads. Altså rent HTML til at starte med.
Avatar billede tolveren Nybegynder
30. januar 2006 - 21:23 #9
ok
Avatar billede tolveren Nybegynder
30. januar 2006 - 21:28 #10
Her er en tekstbox. Hvordan får jeg den indsatte tekst i boxen til at hente recorden ?

<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Ny side 1</title>
</head>

<body>

<form method="POST" action="--WEBBOT-SELF--">
  <!--webbot bot="SaveResults" U-File="fpweb:///_private/form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" --><p>
  <input type="text" name="T1" size="20"><input type="submit" value="Send" name="B1"><input type="reset" value="Nulstil" name="B2"></p>
</form>

</body>

</html>
Avatar billede nielle Nybegynder
30. januar 2006 - 21:31 #11
Bare sådan her:

<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Ny side 1</title>
</head>

<body>

<form method="POST" action="">
<input type="text" name="T1" size="20">
<input type="submit" value="Send" name="B1">
<input type="reset" value="Nulstil" name="B2">
</form>

</body>

</html>
Avatar billede nielle Nybegynder
30. januar 2006 - 21:34 #12
Har du mulighed for at afprøve din kode? Så prøv med dette her:

<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Ny side 1</title>
</head>

<body>

<form method="POST" action="">
<input type="text" name="T1" size="20">
<input type="submit" value="Send" name="B1">
<input type="reset" value="Nulstil" name="B2">
</form>

</body>

</html>

<%
If "" & Request.Form("T1") <> "" Then
    Response.Write "Du indtastede: " & Request.Form("T1")
End If
%>
Avatar billede tolveren Nybegynder
30. januar 2006 - 21:36 #13
Ok. Jeg ar kaldt den index.htm
,,,,,,,,,,,,,
<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Ny side 1</title>
</head>

<body>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "Select * from ordrer where ordrer.[no]", conn
%>


<form method="POST" action="">
<input type="text" name="T1" size="20">
<input type="submit" value="Send" name="B1">
<input type="reset" value="Nulstil" name="B2">
</form>

</body>

</html>
Avatar billede nielle Nybegynder
30. januar 2006 - 21:37 #14
Den skal hedde index.asp hvis den skal køre som et ASP-script.
Avatar billede tolveren Nybegynder
30. januar 2006 - 21:40 #15
ok. Ændrer lige og afprøver.
Avatar billede nielle Nybegynder
30. januar 2006 - 21:41 #16
Så kan du samtidigt rette:

<form method="POST" action="">

- til:

<form method="POST" action="index.asp">
Avatar billede tolveren Nybegynder
30. januar 2006 - 21:41 #17
Den virker.
Avatar billede nielle Nybegynder
30. januar 2006 - 21:43 #18
Godt så... Det felt du indtaster i skal altså indeholde navnet på den post du ønsker at redigere ... men mener du fornavnet, efternavnet eller måske begge to?
Avatar billede tolveren Nybegynder
30. januar 2006 - 21:44 #19
Nej. Jeg ønsker at redigere. Nøglefeltet som hedder "no"
Avatar billede tolveren Nybegynder
30. januar 2006 - 21:45 #20
Ved at skrive "no" f eks nr 47 så skal hele recorden med alle felter hentes til redigering eller sletning.
Avatar billede nielle Nybegynder
30. januar 2006 - 21:46 #21
Jo, men i 30/01-2006 20:47:38 skriver du at du gerne vil kunne søge på et navn og at det så skulle give dig et no så du kan klikke på (hvorefter du kan redigere).

Nu har vi en formular som du kan søge på - dropper vi mellemledet med navnet eller hvad?
Avatar billede tolveren Nybegynder
30. januar 2006 - 21:50 #22
Kan vi springe søgning over og bare så jeg kan skrive nr 47 og få fat i recorden
Avatar billede nielle Nybegynder
30. januar 2006 - 21:53 #23
Ikke noget problem. :^)

Så synes jeg lige at vi skal starte med at tilpasse formen sådan at den stemmer mere overens med det der skal skrives i feltet:

<html>

<head>
<title>S&oslash;geside</title>
</head>

<body>

<form method="POST" action="index.asp">
No: <input type="text" name="No" size="20">
<input type="submit" value="Send" name="B1">
<input type="reset" value="Nulstil" name="B2">
</form>

</body>

</html>

<%
No = "" & Request.Form("no")
If No <> "" Then
    Response.Write "Du indtastede: " & No
End If
%>
Avatar billede tolveren Nybegynder
30. januar 2006 - 21:56 #24
Ok. Er nu rettet
Avatar billede nielle Nybegynder
30. januar 2006 - 21:59 #25
Ok, så er vi parat til den del som trækker ud af databasen. Som du måsk kan gætte så skal den se nogenlunde sådan her ud:

sql = "SELECT * FROM ordrer WHERE [no]=" & No
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:00 #26
Ja, men skal jeg ikke lave connection også
Avatar billede nielle Nybegynder
30. januar 2006 - 22:01 #27
Jo, da. Men alt de er jo bare "fyld" som skal til for at få det til at fungere. SQL'en er den centrale ting som det hele former sig rundt om. Den skal derfor på plads først :^)
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:03 #28
Så er jeg nået hertil:

<html>

<head>
<title>Hent record</title>
</head>

<body>

<form method="POST" action="index.asp">
No: <input type="text" name="No" size="20">
<input type="submit" value="Send" name="B1">
<input type="reset" value="Nulstil" name="B2">
</form>

</body>

</html>

<%
No = "" & Request.Form("no")
If No <> "" Then
    Response.Write "Du indtastede: " & No
End If
%>

sql = "SELECT * FROM ordrer WHERE [no]=" & No
Avatar billede nielle Nybegynder
30. januar 2006 - 22:08 #29
Nu viste jeg bare SQL'en isoleret set. Lad os nu sætte den ind hvor den høre til.

<%
No = "" & Request.Form("no")
If No <> "" Then
    ' (1) Opret forbindels tildatabasen

    sql = "SELECT * FROM ordrer WHERE [no]=" & No

    ' (2) Træk data ud til et recordsæt

    ' (3) Opret en form som vi kan redighere data i.
End If
%>

Kan du selv give et bud på (1) - du har det i din kode fra før: 30/01-2006 21:19:39.
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:13 #30
Hva med denne.
<%
No = "" & Request.Form("no")
If No <> "" Then
   
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")
    set rs = Server.CreateObject("ADODB.Recordset")

        sql = "SELECT * FROM ordrer WHERE [no]=" & No

        ' (2) Træk data ud til et recordsæt

        ' (3) Opret en form som vi kan redighere data i.
End If
%>
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:14 #31
Jeg skal vel ikke anvende denne:
rs.Open "Select * from ordrer where ordrer.[no]", conn
Avatar billede nielle Nybegynder
30. januar 2006 - 22:16 #32
Ja, bortset fra t vi ikke behøver "set rs = ...":

<%
No = "" & Request.Form("no")
If No <> "" Then
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")

        sql = "SELECT * FROM ordrer WHERE [no]=" & No
    Set rs = Conn.Execute(sql)

        ' (3) Opret en form som vi kan redighere data i.

    rs.Close
    Set rs = Nothing

    Conn.Close
    Set Conn = Nothing
End If
%>
Avatar billede nielle Nybegynder
30. januar 2006 - 22:17 #33
Det stod ikke så pænt :^|

<%
No = "" & Request.Form("no")
If No <> "" Then
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")

    sql = "SELECT * FROM ordrer WHERE [no]=" & No
    Set rs = Conn.Execute(sql)

    ' (3) Opret en form som vi kan redighere data i.

    rs.Close
    Set rs = Nothing

    Conn.Close
    Set Conn = Nothing
End If
%>
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:19 #34
Nr 2 havde jeg også gættet på, men hva mener du med t.
Nr 3: kan vi bruge scriptet fra 30/01-2006 21:19:39
Avatar billede nielle Nybegynder
30. januar 2006 - 22:21 #35
> Nr 2 havde jeg også gættet på, men hva mener du med t.

Den forstod jeg ikke lige?

> Nr 3: kan vi bruge scriptet fra 30/01-2006 21:19:39

Ja, det er der at vi er på vej hen. :^)
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:22 #36
Du skrev: Ja, bortset fra t vi ikke behøver "set rs = ...":
Avatar billede nielle Nybegynder
30. januar 2006 - 22:23 #37
t = at
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:23 #38
nåh....
Avatar billede nielle Nybegynder
30. januar 2006 - 22:24 #39
Ok... :^)

Så skal jeg lige spørge: Ønsker du at tage højde for den mulige fejlsituation hvor at du indtaster et No som ikke er i databasen?
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:27 #40
Ja det var da nok en rigtig go ide. Kan du klare det
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:28 #41
If [no] not exist then
sql
else
end if
Avatar billede nielle Nybegynder
30. januar 2006 - 22:28 #42
Ellers ville jeg jo nok ikke kave turde spørge ;^)

Tricket kan klares ved at lave en SELECT count(*) først og så se om man får nogen resultater ud.
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:30 #43
If
select count(*) > [no]
then
SQL
else
End if
Avatar billede nielle Nybegynder
30. januar 2006 - 22:32 #44
Noget i den stil ... men glem det bare igen, jeg kom lige i tankle om en anden mulighed:

<%
No = "" & Request.Form("no")
If No <> "" Then
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")

    sql = "SELECT * FROM ordrer WHERE [no]=" & No
    Set rs = Conn.Execute(sql)

    If Not rs.EoF Then
        ' (3) Opret en form som vi kan redighere data i.
    Else
        Response.Write "Der er ingen rækker i databasen som passer til no=" & No"
    End If

    rs.Close
    Set rs = Nothing

    Conn.Close
    Set Conn = Nothing
End If
%>
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:34 #45
Det ser da underligt ud for mig. Skal vi have en select count(*)efter Respons.Write ?
Avatar billede nielle Nybegynder
30. januar 2006 - 22:36 #46
Glem count(*) igen ... Den viste løsning udnytter at recordsættet, rs, har egenskaben EoF (End-of-File) allerede fra starten af hvis det er tomt (altså hvis der ikke var nogle resultater overhovedet).
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:38 #47
Ok. Så er jeg lidt mere med på sagen.
Avatar billede nielle Nybegynder
30. januar 2006 - 22:38 #48
Ok, skal vi så lave den form? (3)
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:39 #49
Ja da
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:40 #50
Kan jeg lave en redirect til ovst form
Avatar billede nielle Nybegynder
30. januar 2006 - 22:45 #51
Ok, det kunne så se nogenlunde sådan her ud:

<%
No = "" & Request.Form("no")
If No <> "" Then
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")

    sql = "SELECT * FROM ordrer WHERE [no]=" & No
    Set rs = Conn.Execute(sql)

    If Not rs.EoF Then
%>
<form action="????" method="post">
<input type="hidden" name="no" value="<% =No %>">
Navn: <input type="text" name="navn" value="<% =rs("navn") %>"><br>
Adresse: <input type="text" name="adresse" value="<% =rs("adresse") %>"><br>
... så nogle flere felter ...
<input type="submit">
</form>
<%
    Else
        Response.Write "Der er ingen rækker i databasen som passer til no=" & No"
    End If

    rs.Close
    Set rs = Nothing

    Conn.Close
    Set Conn = Nothing
End If
%>
Avatar billede nielle Nybegynder
30. januar 2006 - 22:46 #52
Der er ikke nongen grund til at have nogen redirect ... der hver jeg har skrevet:

<form action="????" method="post">

- skal du blot indsætte navnet på ASP-skriptet fra 30/01-2006 21:19:39.
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:50 #53
Skulle det være en ny form ? Eller kører vi i den samme form ?
Avatar billede nielle Nybegynder
30. januar 2006 - 22:50 #54
Vi er stadig på den samme side.
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:51 #55
Vi mangler at lave update
Avatar billede nielle Nybegynder
30. januar 2006 - 22:54 #56
Det punkt er vi ikke kommet til endnu.

Lige nu har vi trukket data ud svarende til værdien i No. Dem skal vi have præsenteret i en form - den form vi er ved at lave. Der kan du redigere dem og når du trykker på submit-knappen ... ja, SÅ bliver der UPDATET. Men der er vil altså ikke nået til endnu.
Avatar billede tolveren Nybegynder
30. januar 2006 - 22:56 #57
<form action ="rediger.asp"
Avatar billede nielle Nybegynder
30. januar 2006 - 22:56 #58
Ok... Afprøv nu den kode vi har på dette tidspunkt.
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:03 #59
Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/index.asp, line 39

Response.Write "Der er ingen rækker i databasen som passer til no=" & No"
-------------------------------------------------------------------------^
Avatar billede nielle Nybegynder
30. januar 2006 - 23:03 #60
Min fejl, sådan her:

Response.Write "Der er ingen rækker i databasen som passer til no=" & No
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:07 #61
Ok. Den fangede navn og adresse. Men jeg har jo også et no felt som er blankt
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:08 #62
Når jeg taster et nr så fanger jeg også den ny record
Avatar billede nielle Nybegynder
30. januar 2006 - 23:09 #63
Det er fordi at du lige i øjeblikket har 2 forme på siden. Bare ignorer den øverste og kig på den nederste.

Hvis du laver en Vis Kilde så skulle du gerne kunne se at den har et hidden-felt hvor at No-værdien står i.
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:13 #64
Ja du har ret.
Avatar billede nielle Nybegynder
30. januar 2006 - 23:15 #65
Den nederste form bliver lavet med denne kode:

<form action="????" method="post">
<input type="hidden" name="no" value="<% =No %>">
Navn: <input type="text" name="navn" value="<% =rs("navn") %>"><br>
Adresse: <input type="text" name="adresse" value="<% =rs("adresse") %>"><br>
... så nogle flere felter ...
<input type="submit">
</form>

Du kan se hvor at hidden-feltet bliver indsat, og du kan se hvor at navn og adresse bliver indsat.

Du burde være i stand til at tilføje de manglende felter selv?
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:16 #66
Hvordan får vi den kastet over i redigerformen ?
Avatar billede nielle Nybegynder
30. januar 2006 - 23:17 #67
Lad os no lige lave den her form færdig først. :^)
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:18 #68
Ja jeg har indsat navnet på redigerformen i stedet for ????. Men det virker ikke ?
Avatar billede nielle Nybegynder
30. januar 2006 - 23:20 #69
Nej, det ved jeg godt.

Men skal vi ikke lige få udvidet formen med Postby og Attention først?
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:21 #70
Nåh... Det er ikke noe problem. Men behøver vi ta dem med nu ?
Avatar billede nielle Nybegynder
30. januar 2006 - 23:22 #71
Måske også K_nr og Betalingsdato?
Avatar billede nielle Nybegynder
30. januar 2006 - 23:23 #72
Hvis vi ikke har dem med nu, så får dudesvære overskrevet de værdier der er i din database med blanke. Men det er måske bare en testdatabase - som du kan lege med?
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:24 #73
Jeg laver dem lige.
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:27 #74
<head>
<title>Hent record</title>
</head>

<body>

<form method="POST" action="index.asp">
No: <input type="text" name="No" size="6">
<input type="submit" value="Send" name="B1">
<input type="reset" value="Nulstil" name="B2">
</form>

</body>

</html>

<%
No = "" & Request.Form("no")
If No <> "" Then
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")

    sql = "SELECT * FROM ordrer WHERE [no]=" & No
    Set rs = Conn.Execute(sql)

    If Not rs.EoF Then
%>
<form action="Demo_db_submit_Alle" method="post">
<input type="hidden" name="no" value="<% =No %>">
K_nr: <input type="text" name="K_nr" value="<% =rs("K_nr") %>" size="20"><br>
Navn: <input type="text" name="navn" value="<% =rs("navn") %>" size="20"><br>
Adresse:<input type="text" name="adresse" value="<% =rs("adresse") %>" size="20"><br>
Postby: <input type="text" name="postby" value="<% =rs("postby") %>" size="20"><br>
Attention:<input type="text" name="attention" value="<% =rs("attention") %>" size="20"><br>
<input type="submit">
</form>
<%
    Else
        Response.Write "Der er ingen rækker i databasen som passer til no=" & No"
    End If

    rs.Close
    Set rs = Nothing

    Conn.Close
    Set Conn = Nothing
End If
%>
Avatar billede nielle Nybegynder
30. januar 2006 - 23:28 #75
Denne:

Response.Write "Der er ingen rækker i databasen som passer til no=" & No"

- skulle jo rettes til:

Response.Write "Der er ingen rækker i databasen som passer til no=" & No

- men ellers fungere det?
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:29 #76
godt set
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:30 #77
skulle det virke nu ?
Avatar billede nielle Nybegynder
30. januar 2006 - 23:30 #78
Ikke UPDATE-delen, men virker selve formen? Viser den det du forventer?
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:32 #79
Ja den henter som den skal
Avatar billede nielle Nybegynder
30. januar 2006 - 23:34 #80
Ok, men lad os da så "låse op" for UPDATE ;^)

Prøv at indsætte denne her linje:

<input type="hidden" name="action" value="Gem">

- i formen. F.eks. lige over den anden hidden-linje.
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:39 #81
Hermed gjort.
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:40 #82
Ja der findes en value i scriptet som hedder gem
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:41 #83
og der findes en "slet" value
Avatar billede nielle Nybegynder
30. januar 2006 - 23:41 #84
Prøv at submitte formen. :^)
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:43 #85
Den går ind på formen: demo_db_submit_Alle.asp, men intet sker
Avatar billede nielle Nybegynder
30. januar 2006 - 23:44 #86
Det redigerede værdier bliver ikke UPDATE't i databasen?
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:47 #87
nej
Avatar billede nielle Nybegynder
30. januar 2006 - 23:48 #88
Må jeg se din nuværende kode?
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:51 #89
sådan:
<html>

<head>
<title>Hent record</title>
</head>

<body>

<form method="POST" action="index.asp">
No: <input type="text" name="No" size="6">
<input type="submit" value="Send" name="B1">
<input type="reset" value="Nulstil" name="B2">
</form>

</body>

</html>

<%
No = "" & Request.Form("no")
If No <> "" Then
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("/DGd_baser/test.mdb")

    sql = "SELECT * FROM ordrer WHERE [no]=" & No
    Set rs = Conn.Execute(sql)

    If Not rs.EoF Then
%>
<form action="Demo_db_submit_Test" method="post">
<input type="hidden" name="action" value="Gem">
<input type="hidden" name="no" value="<% =No %>">
K_nr: <input type="text" name="K_nr" value="<% =rs("K_nr") %>" size="20"><br>
Navn: <input type="text" name="navn" value="<% =rs("navn") %>" size="20"><br>
Adresse:<input type="text" name="adresse" value="<% =rs("adresse") %>" size="20"><br>
Postby: <input type="text" name="postby" value="<% =rs("postby") %>" size="20"><br>
Attention:<input type="text" name="attention" value="<% =rs("attention") %>" size="20"><br>
<input type="submit">
</form>
<%

    Else
       
        Response.Write "Der er ingen rækker i databasen som passer til no=" & No
    End If

    rs.Close
    Set rs = Nothing

    Conn.Close
    Set Conn = Nothing
End If
%>
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:53 #90
har glemt .asp på min rediger fil. Prøver li igen.
Avatar billede tolveren Nybegynder
30. januar 2006 - 23:58 #91
så kørte det. Den hentede hele recorden nr f eks 14. Skal selve redigeringen forsat ske i formen demo_db_submit_test.asp ?
Avatar billede nielle Nybegynder
31. januar 2006 - 00:00 #92
Du redigere på siden index.asp - når den nederse form submittes ryger det til Demo_db_submit_Test.asp hvor at UPDATE'en så burde ske uden nogenproblemer.

Gør den det nu?
Avatar billede tolveren Nybegynder
31. januar 2006 - 00:01 #93
jeg smed noget forkert kode ind i min demo_db_submit_test.asp fil så den hentede min egen gamle rediger-fil
Avatar billede tolveren Nybegynder
31. januar 2006 - 00:02 #94
vent lige lidt
Avatar billede tolveren Nybegynder
31. januar 2006 - 00:06 #95
nej det kører ikke helt. Kan vi vende tilbage i morgen eller en anden dag ?
Avatar billede nielle Nybegynder
31. januar 2006 - 00:07 #96
Imlorgen aften er helt fint med mig :^)
Avatar billede tolveren Nybegynder
31. januar 2006 - 00:07 #97
Tak indtil nu. Det var fint. Tak
Avatar billede nielle Nybegynder
31. januar 2006 - 06:55 #98
Hvad præcie mener du med at "det kører ikke helt"? Køre det slet ikke, eller køre det delvist? Hvordan? Bliver der UPDATE'et noget? Bliver der udskrevet noget?
Avatar billede tolveren Nybegynder
31. januar 2006 - 09:23 #99
Har ikke testet den del endnu
Avatar billede nielle Nybegynder
31. januar 2006 - 17:48 #100
Hvad er det så for noget som passer på: "det kører ikke helt"?
Avatar billede tolveren Nybegynder
31. januar 2006 - 20:03 #101
Hejsa. Jeg har nu testet. Men der er nogle flere felter i basen. De er blevet blanket af ? Hvorfor sker det ?
Avatar billede tolveren Nybegynder
31. januar 2006 - 20:06 #102
Når jeg har trykket på send forsvinder "no" altså tallet fra tekstboxen.
Avatar billede tolveren Nybegynder
31. januar 2006 - 20:07 #103
Kan tekstboxene lægges i en tabel så de står pænt på skærmen ?
Avatar billede tolveren Nybegynder
31. januar 2006 - 20:14 #104
Jeg har fået klaret at lægge det i en tabel.
Avatar billede nielle Nybegynder
31. januar 2006 - 20:44 #105
Hvordan ser din kode ud nu?
Avatar billede tolveren Nybegynder
31. januar 2006 - 20:52 #106
Øjeblik
Avatar billede tolveren Nybegynder
31. januar 2006 - 20:54 #107
ådan:
<html>

<head>
<title>Hent record</title>
</head>

<body>

<form method="POST" action="index2.asp">
No: <input type="text" name="No" size="6">
<input type="submit" value="Send" name="B1">
<input type="reset" value="Nulstil" name="B2"> <br>
&nbsp;</form>

</body>

</html>

<%
No = "" & Request.Form("no")
If No <> "" Then
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("/DGd_baser/test.mdb")

    sql = "SELECT * FROM ordrer WHERE [no]=" & No
    Set rs = Conn.Execute(sql)

    If Not rs.EoF Then
%>
<form action="Demo_db_edit_Test.asp" method="post">
<input type="hidden" name="action" value="Gem">
<input type="hidden" name="no" value="<% =No %>">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="56%" id="AutoNumber1" height="333" align="left">
  <tr>
    <td width="13%" height="22">K_nr: </td>
    <td width="50%" height="22">
    <input type="text" name="K_nr" value="<% =rs("K_nr") %>" size="32"></td>
    <td width="114%" height="22">&nbsp;</td>
    <td width="130%" height="22">
    <p align="right">Bem:</td>
    <td width="84%" height="22">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="22">Navn: </td>
    <td width="50%" height="22">
    <input type="text" name="navn" value="<% =rs("navn") %>" size="32"></td>
    <td width="114%" height="22">&nbsp;</td>
    <td width="130%" height="22">&nbsp;</td>
    <td width="84%" height="22">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="22">Adresse:</td>
    <td width="50%" height="22">
    <input type="text" name="adresse" value="<% =rs("adresse") %>" size="32"></td>
    <td width="114%" height="22">&nbsp;</td>
    <td width="130%" height="22">&nbsp;</td>
    <td width="84%" height="22">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="22">Postby: </td>
    <td width="50%" height="22">
    <input type="text" name="postby" value="<% =rs("postby") %>" size="32"></td>
    <td width="114%" height="22">&nbsp;</td>
    <td width="130%" height="22">&nbsp;</td>
    <td width="84%" height="22">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="22">Attention:</td>
    <td width="50%" height="22">
    <input type="text" name="attention" value="<% =rs("attention") %>" size="32"></td>
    <td width="114%" height="22">&nbsp;</td>
    <td width="130%" height="22">&nbsp;</td>
    <td width="84%" height="22">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="22">Email</td>
    <td width="50%" height="22">
    <input type="text" name="email" value="<% =rs("email") %>" size="32"></td>
    <td width="114%" height="22">&nbsp;</td>
    <td width="130%" height="22">&nbsp;</td>
    <td width="84%" height="22">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="22">WWW</td>
    <td width="50%" height="22">
    <input type="text" name="www" value="<% =rs("www") %>" size="32"></td>
    <td width="114%" height="22">&nbsp;</td>
    <td width="130%" height="22">&nbsp;</td>
    <td width="84%" height="22">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="22">Tlf</td>
    <td width="50%" height="22">
    <input type="text" name="tlf" value="<% =rs("tlf") %>" size="32"></td>
    <td width="114%" height="22">&nbsp;</td>
    <td width="130%" height="22">&nbsp;</td>
    <td width="84%" height="22">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="22">Mobil</td>
    <td width="50%" height="22">
    <input type="text" name="Mobil" value="<% =rs("mobil") %>" size="32"></td>
    <td width="114%" height="22">&nbsp;</td>
    <td width="130%" height="22">&nbsp;</td>
    <td width="84%" height="22">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="22">Nykontakt</td>
    <td width="50%" height="22">
    <input type="text" name="Nykontakt" value="<% =rs("Nykontakt") %>" size="32"></td>
    <td width="114%" height="22">&nbsp;</td>
    <td width="130%" height="22">&nbsp;</td>
    <td width="84%" height="22">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="22">Produkt</td>
    <td width="50%" height="22">
    <input type="text" name="Produkt" value="<% =rs("Produkt") %>" size="32"></td>
    <td width="114%" height="22">&nbsp;</td>
    <td width="130%" height="22">&nbsp;</td>
    <td width="84%" height="22">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="23">Pris</td>
    <td width="50%" height="23">
    <input type="text" name="Pris" value="<% =rs("Pris") %>" size="32"></td>
    <td width="114%" height="23">
    <p align="right">Antal</td>
    <td width="130%" height="23">
    <input type="text" name="antal1" value="<% =rs("antal") %>" size="14"></td>
    <td width="84%" height="23">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="23">Status</td>
    <td width="50%" height="23">
    <input type="text" name="status" value="<% =rs("status") %>" size="32"></td>
    <td width="114%" height="23">
    <p align="right">Bruger</td>
    <td width="130%" height="23">
    <input type="text" name="bruger" value="<% =rs("bruger") %>" size="14"></td>
    <td width="84%" height="23">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="22" valign="top">&nbsp;</td>
    <td width="50%" height="22" align="left" valign="top" rowspan="3">
    <input type="text" name="Bem" value="<% =rs("bem") %>" size="32" style="position: absolute; float: left; height: 390; left: 524; top: 65; width: 387"></td>
    <td width="114%" height="22" valign="top">
    <p align="right">Oprettet</td>
    <td width="130%" height="22" valign="top">
    <input type="text" name="Oprettet" value="<% =rs("oprettet") %>" size="14"></td>
    <td width="84%" height="22">&nbsp;</td>
  </tr>
  <tr>
    <td width="13%" height="23">Land</td>
    <td width="50%" height="23">
    <input type="text" name="land" value="<% =rs("land") %>" size="32"></td>
    <td width="114%" height="23">
    <p align="right">Tidsstempel</td>
    <td width="130%" height="23">
    <input type="text" name="Tidsstempel" value="<% =rs("Tidsstempel") %>" size="14"></td>
    <td width="84%" height="23">&nbsp;</td>
  </tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</form>
<p>
<input type="submit"></p>

<%

    Else
       
        Response.Write "Der er ingen rækker i databasen som passer til no=" & No
    End If

    rs.Close
    Set rs = Nothing

    Conn.Close
    Set Conn = Nothing
End If
%>
Avatar billede tolveren Nybegynder
31. januar 2006 - 20:54 #108
Har et lille problem med et notatfelt: "Bem" som ikke vil ombryde korrekt.
Avatar billede tolveren Nybegynder
31. januar 2006 - 20:59 #109
Må jeg stille dig et godt spørgsmål ?
Avatar billede nielle Nybegynder
31. januar 2006 - 21:05 #110
31/01-2006 20:03:01> Hvad er det for nogle felter som er blanket af?
Avatar billede tolveren Nybegynder
31. januar 2006 - 21:05 #111
Nåe jeg stiller det alligevel. I min update asp af 30/01-2006 21:19:39 mister jeg records, hvis curseren står i et felt og jeg kommer til at trykke på "Enter" knappen. Normalt skal man trykke på en slet-knap, men enterknappen gør at jeg mister en record ?
Avatar billede tolveren Nybegynder
31. januar 2006 - 21:06 #112
De felter som er blanket af er felter som ikke er medtaget i index.asp filen
Avatar billede nielle Nybegynder
31. januar 2006 - 21:07 #113
Kan du give et eksempel?
Avatar billede tolveren Nybegynder
31. januar 2006 - 21:07 #114
eksempel på et felt ? eller på tab af record ?
Avatar billede nielle Nybegynder
31. januar 2006 - 21:08 #115
31/01-2006 21:05:36> Jeg har ingen anelse om hvorfor det sker.
Avatar billede nielle Nybegynder
31. januar 2006 - 21:10 #116
Du skriver at du får nogle blanke felter i din tabel, og du siger at det er dem som ikke er med i din index.asp. Kan du ikke give et specifikt eksempel - husk på at jeg ikke har din database.
Avatar billede tolveren Nybegynder
31. januar 2006 - 21:10 #117
Ok. Kan vi få "no" til at blive vist i søgeboxen. Betyder hidden at no ikke vises.
Avatar billede tolveren Nybegynder
31. januar 2006 - 21:15 #118
Et eksempel ja. Hvis jeg i basen har et felt = fødselsdag. Det er jo ikke med i index.asp filen og vises heller ikke. Når jeg så kører update(send forespørgsel)så slettes den oprindelig indtastede fødselsdag ?
Avatar billede nielle Nybegynder
31. januar 2006 - 21:18 #119
31/01-2006 21:10:22> Ja hideen betyder at No ikke skal vises - pointen med dette er at man ikke skal ændre i No efter at man har fremsøgt værdierne nede i felterne. Hvis man ændre på det der står i No, så ville man jo resikere at overskrive en anden post end den man er ved at redigere. :^)
Avatar billede nielle Nybegynder
31. januar 2006 - 21:20 #120
31/01-2006 21:15:19> Hvis det sker, så er det godt nok meget mystisk! Der er nemlig intet i den SQL som laver UPDATE'n som overjovedet rører ved fødselsdag-feltet:

sql = "UPDATE ordrer SET K_nr='" & fixSQL(Request.Form("K_nr")) & "',"
sql = sql & "Betalingsdato='" & fixSQL(Request.Form("Betalingsdato")) & "',"
sql = sql & "navn='" & fixSQL(Request.Form("navn")) & "',"
sql = sql & "adresse='" & fixSQL(Request.Form("adresse")) & "',"
sql = sql & "Postby='" & fixSQL(Request.Form("Postby")) & "',"
sql = sql & "Attention='" & fixSQL(Request.Form("Attention")) & "',"
sql = sql & "Tidsstempel='" & now() & "' WHERE ordrer.[no]=" & no
Avatar billede tolveren Nybegynder
31. januar 2006 - 21:22 #121
Prøv at se her:
if Request.form("action")="Gem" then
      no=Request.Form("no")

      sql="UPDATE ordrer SET K_nr='" & fixSQL(Request.Form("K_nr")) & "',"
      sql=sql & "Betalingsdato='" & fixSQL(Request.Form("Betalingsdato")) & "',"
      sql=sql & "navn='" & fixSQL(Request.Form("navn")) & "',"
      sql=sql & "adresse='" & fixSQL(Request.Form("adresse")) & "',"
      sql=sql & "Postby='" & fixSQL(Request.Form("Postby")) & "',"
      sql=sql & "Attention='" & fixSQL(Request.Form("Attention")) & "',"
            sql=sql & "Tidsstempel='" & now() & "' WHERE ordrer.[no]=" & no

conn.Execute sql, Recordsaffected
if err <> 0 then
Response.Write("Der er opstået en fejl !")
else
'server.transfer("rediger_ordrer.asp")
Response.Redirect("index2.asp")
,,,,,,,,,,,,,,,,,,,,,,,
hvis "attention" feltet udelades af filen index2.asp men forbliver i updatefilen
så slettes indholdet af atttention
Avatar billede tolveren Nybegynder
31. januar 2006 - 21:23 #122
Er det fordi der køres en update hvor værdien af attention ikke er tilstede og derved updates der en emptyværdi ?
Avatar billede nielle Nybegynder
31. januar 2006 - 21:24 #123
Ja, det er korrekt opførsel. Grunden er at du har dette led:

sql=sql & "Attention='" & fixSQL(Request.Form("Attention")) & "',"

og hvis at der ikke er noget attention-felt i din index2.asp fil, så bliver Request.Form("Attention") det samme som "", og derfor bliver denne del af UPDATE-sætningen til:

sql=sql & "Attention='',"

hvilket er det samme som at sige at det skal blankes.
Avatar billede nielle Nybegynder
31. januar 2006 - 21:26 #124
31/01-2006 21:23:28> Ja. Se ovenfor.  ... men det forklare nu ikke det du beskriver med fødselsdag - for det flet er jo slet ikke med i UPDATE'n.
Avatar billede tolveren Nybegynder
31. januar 2006 - 21:28 #125
Ok, så er det løst. Jeg skal bare sikre mig at jeg har de samme felter i index-filen som i update-filen. Af hensyn til den der enter fejl. Ved du om man kan lave en lille funktion som kan slå enterknappen fra eller om der kan indsættes en if sætning foran delete-sql-en for at sikre at enter ikke sletter en record
Avatar billede tolveren Nybegynder
31. januar 2006 - 21:29 #126
Vedr 31/01-2006 21:26:03 det med fødselsdag var bare et eksempel. Så det virker som det skal.
Avatar billede nielle Nybegynder
31. januar 2006 - 21:30 #127
Prøv lige at beskrive den der enterfejl - jeg tror ikke at eg forstod den korrekt i første omgang.
Avatar billede tolveren Nybegynder
31. januar 2006 - 21:36 #128
Spørgsmålet har ikke noget at gøre med index.asp
,,,,,,,,,,,,,,,
Det er den der tutoriel som jeg tidligere henviste til
http://www.w3schools.com/ado/demo_db_list.asp
Når man står på den side hvor man kan klikke på save eller delete. Hvis man der klikker på enter så mister jeg en record.
,,,,,,,,,,,,
Den kode som jeg anvender:
<script TYPE LANGUAGE="VBScript" RUNAT="SERVER"></script>

<html>
<head>

<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">

<title>Redigerer DataBasen</title>
</head>
<body>
<h2>Gem i Databasen</h2>

<%on error resume next
set conn=Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0"
conn.open(server.mappath("database.mdb"))

function fixSQL(strS)
  fixSQL = replace(strS, "'", "''")
end function

if Request.form("action")="Gem" then
      no=Request.Form("no")

      sql="UPDATE ordrer SET K_nr='" & fixSQL(Request.Form("K_nr")) & "',"
      sql=sql & "Betalingsdato='" & fixSQL(Request.Form("Betalingsdato")) & "',"
      sql=sql & "navn='" & fixSQL(Request.Form("navn")) & "',"
      sql=sql & "adresse='" & fixSQL(Request.Form("adresse")) & "',"
      sql=sql & "Postby='" & fixSQL(Request.Form("Postby")) & "',"
      sql=sql & "Attention='" & fixSQL(Request.Form("Attention")) & "',"
            sql=sql & "Tidsstempel='" & now() & "' WHERE ordrer.[no]=" & no

conn.Execute sql, Recordsaffected
if err <> 0 then
Response.Write("Der er opstået en fejl !")
else
'server.transfer("rediger_ordrer.asp")
Response.Redirect("Rediger_ordrer_Alle.asp")

 
'Response.Write("Record number " & no & " was updated.")
end if
      Response.Write("Submitting records has been disabled from this demo")
end if
if Request.Form("action")="Slet" then
      no=Request.Form("no")
conn.Execute "DELETE FROM ordrer WHERE ordrer.[no]=" & no, Recordsaffected
if err <> 0 then
Response.Write("Der er opstået en fejl !")
else
  Response.Redirect("Rediger_ordrer_Alle.asp")
'Response.Write("Record number " & no & " was deleted.")
end if
      Response.Write("Deleting records has been disabled from this demo")
end if

conn.close
%>


</body>
</html>
Avatar billede nielle Nybegynder
31. januar 2006 - 21:40 #129
Prøv at beskrive hvad det er du skal gøre for at fremprovokere problemetr.
Avatar billede tolveren Nybegynder
31. januar 2006 - 21:48 #130
Når recordfelterne vises på siden kan jeg normalt redigere de enkelte felter og klikke på gem. Det går fint. Jeg kan også vælge at klikke på slet. Så slettes recorden. Det går også fint. Men problemet opstår når jeg f eks indsætter curser i et felt og ved en tilfældighed kommer til at klikke på enter-knappen. Så smutter der en record.
Avatar billede nielle Nybegynder
31. januar 2006 - 21:52 #131
Hvordan ser ASP-koden ud for den side det drejer sig om?
Avatar billede tolveren Nybegynder
31. januar 2006 - 21:59 #132
Først den her:
<%option explicit
Response.Buffer = true
Response.Expires = -1000
%>
<body bgcolor="#0000FF" link="#FFFF00" vlink="#FFFF00" alink="#FFFF00" style="font-size: 8 pt">

<div class="indhold2">


<p></p>

</div>

<%
dim conn,rs,x
set conn=Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0"
conn.open(server.mappath("/DGd_baser/test.mdb"))
set rs=Server.CreateObject("ADODB.Recordset")
rs.open "SELECT ordrer.[no], IIf(IsNull([ordrer]![Tidsstempel]),[ordrer]![Oprettet],DateValue([ordrer]![Tidsstempel])) AS Redigeret, ordrer.NyKontakt, ordrer.K_nr, ordrer.Navn, ordrer.Adresse, ordrer.Postby, ordrer.Attention, ordrer.Produkt, ordrer.Antal, ordrer.Pris, ordrer.Status, ordrer.bem, ordrer.Bruger, ordrer.email, ordrer.www, ordrer.Tlf, ordrer.Mobil, ordrer.Land FROM ordrer ORDER BY IIf(IsNull([ordrer]![Tidsstempel]),[ordrer]![Oprettet],DateValue([ordrer]![Tidsstempel])) DESC", conn




%>
<h2><br>
&nbsp;</h2>

<div align="left">

<table border="1" width="100%" style="font-size: 8 pt; border-collapse: collapse" cellpadding="0" cellspacing="0" height="3" align="left">
<tr bgcolor="#b0c4de">
<%
for each x in rs.Fields
      response.write("<th>" & ucase(x.name) & "</th>")
next
%>
</tr>
<%do until rs.EOF%>
<tr bgcolor="#f0f0f0">
<form method="POST" action="Demo_db_edit_test.asp" style="font-size: 8 pt">
<%
for each x in rs.Fields
if x.name="no" then
%>
<td style="font-size: 8 pt" width="100%" height="4">
<input type="submit" name="no" value="<%=x.value%>" style="font-size: 10 pt; position:relative; float:left"></td>
      <%
      else
      %>
      <td width="100%" height="4"><%Response.Write(x.value)%> </td>
      <%
end if
next
%>
</form>
<%rs.MoveNext%>
</tr>
<%
loop
rs.close
set rs=nothing
conn.close
set conn=nothing   
   
%>
</table>
</div>
</body>
</html>
Avatar billede tolveren Nybegynder
31. januar 2006 - 22:03 #133
Så den her :
<%
no=Request.Form("no")
if no="" then response.end
set conn=Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0"
conn.open(server.mappath("/DGd_baser/test.mdb"))
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "Select * from ordrer where ordrer.[no]=" & no , conn
%>
<html>
<head>
<title>Demo_db_edit_test</title>
</head>
<body bgcolor="#0000FF" link="#FFFF00" vlink="#FFFF00" alink="#FFFF00">
<form method="post" action="Demo_db_submit_test2.asp">
<input name="no" type="hidden" value=<%=no%>>
<input type="submit" name="action" value="Slet">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<b><font color="#FFFFFF">Alle
felter kan redigeres</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="submit" name="action" value="Gem">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a style="color: #FFFFFF; font-weight: bold" href="test.asp">Luk
uden at redigere</a><Br>
<table bgcolor="#b0c4de" width="458">
<%
for each x in rs.Fields
      if  x.name <> "no" AND x.name <> "Dagsdato" then%>
          <tr>
          <td width="6"><%=x.name%> </td>
          <td width="670">
          <input name="<%=x.name%>" value="<%=x.value%>" size="48">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </td>
      <%end if
next

rs.close
conn.close
%>
</tr>
</table>
</form>

</body>
</html>
Avatar billede tolveren Nybegynder
31. januar 2006 - 22:04 #134
og til sidst:
<script TYPE LANGUAGE="VBScript" RUNAT="SERVER"></script>
<html>
<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">

<title>Redigerer DataBasen</title>
</head>
<body>
<h2>Gem i Databasen</h2>

<%on error resume next
set conn=Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0"
conn.open(server.mappath("/DGd_baser/test.mdb"))

function fixSQL(strS)
  fixSQL = replace(strS, "'", "''")
end function

if Request.form("action")="Gem" then
      no=Request.Form("no")
      sql="UPDATE ordrer SET K_nr='" & fixSQL(Request.Form("K_nr")) & "',"
      sql=sql & "Betalingsdato='" & fixSQL(Request.Form("Betalingsdato")) & "',"
      sql=sql & "navn='" & fixSQL(Request.Form("navn")) & "',"
      sql=sql & "adresse='" & fixSQL(Request.Form("adresse")) & "',"
      sql=sql & "Postby='" & fixSQL(Request.Form("Postby")) & "',"
      sql=sql & "Attention='" & fixSQL(Request.Form("Attention")) & "',"
      sql=sql & "WWW='" & fixSQL(Request.Form("WWW")) & "',"
      sql=sql & "Email='" & fixSQL(Request.Form("Email")) & "',"
      sql=sql & "Tlf='" & fixSQL(Request.Form("Tlf")) & "',"
      sql=sql & "Mobil='" & fixSQL(Request.Form("Mobil")) & "',"
      sql=sql & "Nykontakt='" & fixSQL(Request.Form("Nykontakt")) & "',"
      sql=sql & "Produkt='" & fixSQL(Request.Form("Produkt")) & "',"
      sql=sql & "Pris='" & fixSQL(Request.Form("Pris")) & "',"
      sql=sql & "Antal='" & fixSQL(Request.Form("Antal")) & "',"
      sql=sql & "Bem='" & fixSQL(Request.Form("Bem")) & "',"
      sql=sql & "Status='" & fixSQL(Request.Form("Status")) & "',"
      sql=sql & "Land='" & fixSQL(Request.Form("Land")) & "'," 
      sql=sql & "Bruger='" & fixSQL(Request.Form("Bruger")) & "',"     
      sql=sql & "Tidsstempel='" & now() & "' WHERE ordrer.[no]=" & no
conn.Execute sql, Recordsaffected
if err <> 0 then
Response.Write("Der er opstået en fejl !")
else
'server.transfer("rediger_ordrer.asp")
Response.Redirect("rediger.asp")

 
'Response.Write("Record number " & no & " was updated.")
end if
      Response.Write("Submitting records has been disabled from this demo")
end if
if Request.Form("action")="Slet" then
      no=Request.Form("no")
conn.Execute "DELETE FROM ordrer WHERE ordrer.[no]=" & no, Recordsaffected
if err <> 0 then
Response.Write("Der er opstået en fejl !")
else
  Response.Redirect("rediger.asp")
'Response.Write("Record number " & no & " was deleted.")
end if
      Response.Write("Deleting records has been disabled from this demo")
end if

conn.close
%>
</body>
</html>
,,,,,,,,,,,,,,,,,,,,,,,,
og den her redirecter tilbage til den første
Avatar billede nielle Nybegynder
31. januar 2006 - 22:14 #135
Jeg skulle nu kun bruge den hvor fejlen er på - 31/01-2006 22:03:46.

Fejlen skyldes at din submit-knap:

<input type="submit" name="action" value="Slet">

- jo netop også er den som sletter. Hvis du er i en form og trykker på <Enter>-knappen så betyder det normalt det samme som "Tryk på submit-knappen". Og det er jo ikke så godt hvis denne er sat til at skulle betyde Slet.
Avatar billede tolveren Nybegynder
31. januar 2006 - 22:18 #136
Ok. Interessant. Kan jeg ændre til inputtype=text ???
Avatar billede nielle Nybegynder
31. januar 2006 - 22:18 #137
Dui har faktisk 2 submit-knapper i den form - Slet og Gem. Enter-knappen tager bare den første af dem (sltså slet).

Prøv at bytte om på deres rækkefølge.
Avatar billede nielle Nybegynder
31. januar 2006 - 22:19 #138
31/01-2006 22:18:25> Nej, for så er det jo ikke en knap mere, og så kan du ikke trykke på den. :^|
Avatar billede tolveren Nybegynder
31. januar 2006 - 22:24 #139
Ja jeg kan bytte rundt, men tror du ikke der er en bedre løsning ? Jeg er nødt til at smutte nu. men tak for hjælpen i dag også. Læg et svar så får du point i morgen
Avatar billede nielle Nybegynder
31. januar 2006 - 22:27 #140
Jeg er ikke lige umidelbaret klar over hvordan man kan disable Enter-knappen. Prøblemet er at det egentlig er op til den specifikke browser hvordan at den vil fortolke trykket på Enter. MSIE vælger altså at fortolke det som om at der skal trykkes på den første Submit-knap i formen. Andre browser-typer gør måske noget andet...

Jeg vilæ gerne vente med points til at vi er helt færdige :^)
Avatar billede tolveren Nybegynder
01. februar 2006 - 10:31 #141
Ok, Jeg havde tænkt på at indsætte en bekræft betingelse inden delete-sql-en køres. Noget med: Er du sikker på at du vil slette, så klik OK. Så kunne man måske nå at redde recorden.
Avatar billede nielle Nybegynder
01. februar 2006 - 19:04 #142
Prøv lige at tage et kig på denne lilel demo af hvordan det kunne gøres:

<form method="post" onSubmit="return onSubmit(this);">
<input type="text" name="tekst" value="Illegitimi non carborundum">
<input type="button" name="action" value="Slet" onClick="if (confirm('Dette vil slette posten. Er du sikker?', 'Ja', 'Nej')) submit();">
<input type="button" name="action" value="Gem" onClick="submit();">
</form>

<%
Response.Write "Action: " & Request.Form("action") & "<br>"
Response.Write "Tekst: " & Request.Form("tekst")
%>
Avatar billede nielle Nybegynder
01. februar 2006 - 19:05 #143
Ups:

<form method="post">
<input type="text" name="tekst" value="Illegitimi non carborundum">
<input type="button" name="action" value="Slet" onClick="if (confirm('Dette vil slette posten. Er du sikker?', 'Ja', 'Nej')) submit();">
<input type="button" name="action" value="Gem" onClick="submit();">
</form>

<%
Response.Write "Action: " & Request.Form("action") & "<br>"
Response.Write "Tekst: " & Request.Form("tekst")
%>
Avatar billede tolveren Nybegynder
05. februar 2006 - 17:00 #144
Den ser god ud. Jeg har desværre haft lidt travlt og jeg vil teste den senere. men Mange tak for hjælpen
Avatar billede nielle Nybegynder
13. februar 2006 - 20:29 #145
Skal vi se at få denne her bragt i havn?
Avatar billede nielle Nybegynder
20. februar 2006 - 19:01 #146
??
Avatar billede tolveren Nybegynder
21. februar 2006 - 08:28 #147
Læg et svar og du får point.Med venlig hilsen
Avatar billede nielle Nybegynder
21. februar 2006 - 16:26 #148
Skulle vi ikke også lige lave den færdig?

(i mellemtiden får du et svar :^)
Avatar billede tolveren Nybegynder
22. februar 2006 - 08:42 #149
Jo..
Avatar billede nielle Nybegynder
22. februar 2006 - 17:12 #150
Hvor langt er du kommet?
Avatar billede tolveren Nybegynder
23. februar 2006 - 18:53 #151
Ja jeg sidder nu og ser på fine asp filer
Avatar billede nielle Nybegynder
23. februar 2006 - 21:57 #152
Ja? Betyder det at du har fået det løst, eller at vi skal kode noget mere? Eller hvad?
Avatar billede tolveren Nybegynder
23. februar 2006 - 22:31 #153
Jeg har nu testet:
<form method="post">
<input type="text" name="tekst" value="Illegitimi non carborundum">
<input type="button" name="action" value="Slet" onClick="if (confirm('Dette vil slette posten. Er du sikker?', 'Ja', 'Nej')) submit();">
<input type="button" name="action" value="Gem" onClick="submit();">
</form>

<%
Response.Write "Action: " & Request.Form("action") & "<br>"
Response.Write "Tekst: " & Request.Form("tekst")
%>

og det funger fint.
Skal den indsættes i: 30/01-2006 21:19:39
eller i 30/01-2006 23:51:16 filen ?
Avatar billede tolveren Nybegynder
23. februar 2006 - 22:32 #154
Kommer i moregne igen
Avatar billede nielle Nybegynder
27. februar 2006 - 18:29 #155
Hmmm, jeg synes da hverken at 30/01-2006 21:19:39 eller 30/01-2006 21:19:39 var de nyeste filer?

Koden skal sættes ind i den form hvor at du har din Slet-knap. Hvordan ser den ud?
Avatar billede tolveren Nybegynder
28. februar 2006 - 08:49 #156
Set. Vender tilbage.
Avatar billede tolveren Nybegynder
01. marts 2006 - 23:07 #157
Her har du den seneste kode:
<html>

<head>
<title>Hent record</title>
</head>

<body style="position: absolute; float: left; width: 28" topmargin="0" leftmargin="0">

<form method="POST" action="index.asp">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2" height="37">
  <tr>
    <td width="40%" height="37">
    <p align="center"><b>Rediger ordrer - Indtast nr og søg</b></td>
    <td width="60%" height="37"><b><input type="button" value="Opdater NrId" Onclick="document.location.href='Opdater_nrId.asp'" ; style="font-weight: bold"></b></td>
  </tr>
</table>
No: <input type="text" name="No" size="6">
<input type="submit" value="Søg" name="B1" style="font-weight: bold">
<input type="reset" value="Nulstil" name="B2" style="font-weight: bold">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="button" value="Annuller" Onclick="document.location.href='Rediger_ordrer_Alle.asp'" ; style="font-weight: bold"></form>

</body>

</html>

<%
No = "" & Request.Form("no")
If No <> "" Then
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")

    sql = "SELECT * FROM ordrer WHERE [no]=" & No
    Set rs = Conn.Execute(sql)

    If Not rs.EoF Then
%>
<form action="Index_update_no.asp" method="post">
<input type="hidden" name="action" value="Gem">
<input type="hidden" name="no" value="<% =No %>">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="82%" id="AutoNumber1" height="402">
  <tr>
    <td width="8%" height="23">Nr Id</td>
    <td width="35%" height="23">
<input type="text" name="rId" value="<% =rs("NrId") %>" size="11"> Bet dato
    <input type="text" name="Betalingsdato" value="<% =rs("Betalingsdato") %>" size="10"></td>
    <td width="64%" rowspan="18" height="404">
    <textarea rows="25" name="bem" cols="40"><% =rs("Bem") %></textarea></td>
  </tr>
  <tr>
    <td width="8%" height="23">K_nr</td>
    <td width="35%" height="23">
    <input type="text" name="K_nr" value="<% =rs("K_nr") %>" size="35"></td>
  </tr>
  <tr>
    <td width="8%" height="23">Navn</td>
    <td width="35%" height="23">
    <input type="text" name="navn" value="<% =rs("navn") %>" size="35"></td>
  </tr>
  <tr>
    <td width="8%" height="23">Adresse</td>
    <td width="35%" height="23">
    <input type="text" name="adresse" value="<% =rs("adresse") %>" size="35"></td>
  </tr>
  <tr>
    <td width="8%" height="23">Postby</td>
    <td width="35%" height="23">
    <input type="text" name="postby" value="<% =rs("postby") %>" size="35"></td>
  </tr>
  <tr>
    <td width="8%" height="23">Attention</td>
    <td width="35%" height="23">
    <input type="text" name="attention" value="<% =rs("attention") %>" size="35"></td>
  </tr> 
  <tr>
    <td width="8%" height="22">Bruger</td>
    <td width="35%" height="22">
    <input type="text" name="bruger" value="<% =rs("bruger") %>" size="20"></td>
  </tr>
  <tr>
    <td width="8%" height="23">Opr/rett.</td>
    <td width="35%" height="23">
    <input type="text" name="oprettet" value="<% =rs("oprettet") %>" size="14">
    .<input type="text" name="tidsstempel" value="<% =rs("tidsstempel") %>" size="20"></td>
  </tr>
  </table>
<p>
<input type="submit" value="Gem" style="font-weight: bold"></p>
</form>
<%

    Else
       
        Response.Write "Der er ingen rækker i databasen som passer til no=" & No
    End If

    rs.Close
    Set rs = Nothing

    Conn.Close
    Set Conn = Nothing
End If
%>
Avatar billede tolveren Nybegynder
01. marts 2006 - 23:13 #158
Og her er den anden asp som køres når der klikkes gem:
</head>
<body>
<h2>Gem i Databasen</h2>

<%on error resume next
set conn=Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0"
conn.open(server.mappath("database.mdb"))

function fixSQL(strS)
  fixSQL = replace(strS, "'", "''")
end function

if Request.form("action")="Gem" then
      no=Request.Form("no")
      sql="UPDATE ordrer SET K_nr='" & fixSQL(Request.Form("K_nr")) & "',"
      sql=sql & "Betalingsdato='" & fixSQL(Request.Form("Betalingsdato")) & "',"
      sql=sql & "navn='" & fixSQL(Request.Form("navn")) & "',"
      sql=sql & "adresse='" & fixSQL(Request.Form("adresse")) & "',"
      sql=sql & "Postby='" & fixSQL(Request.Form("Postby")) & "',"
      sql=sql & "Attention='" & fixSQL(Request.Form("Attention")) & "',"     
      sql=sql & "Bruger='" & fixSQL(Request.Form("Bruger")) & "',"     
     
      sql=sql & "Tidsstempel='" & now() & "' WHERE ordrer.[no]=" & no
conn.Execute sql, Recordsaffected
if err <> 0 then
Response.Write("Der er opstået en fejl !")
else 
Response.Redirect("index.asp")
 
'Response.Write("Record number " & no & " was updated.")
end if
      Response.Write("Submitting records has been disabled from this demo")
end if
if Request.Form("action")="Slet" then
      no=Request.Form("no")
 
conn.Execute "DELETE FROM ordrer WHERE ordrer.[no]=" & no, Recordsaffected
if err <> 0 then
Response.Write("Der er opstået en fejl !")
else
Response.Write("Record number " & no & " was deleted.")
end if
      Response.Write("Sletning er sat ud af funktion - slet dataene og skriv evt annulleret")
end if

conn.close
%>
Avatar billede nielle Nybegynder
06. marts 2006 - 18:47 #159
Vi skal have fat i den form hvor slet-knappen er på - og det er ikke nogen af de der to.
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