Avatar billede wilweb Nybegynder
15. april 2002 - 21:45 Der er 27 kommentarer og
3 løsninger

Slet fra Access 2000 DB

Jeg vil slette et helt record i min Access 2000 DB, det vil sige alle koloner i recordsettet.

Tabellen hedder tbl_kalender
Id er i tabellen Autonummereret!

Er der nogen der kan se hvad jeg gør forkert?
og er det muligt at kunne svare ja eller nej til sletningen?

booknr = Request.Querystring("bookid")

strSQL = "DELETE FROM tbl_kalender WHERE Id ='" & booknr & "'"
Set rs = Conn.Execute(strSQL)

Håber på lidt hjælp.
Gizom:>
Avatar billede jacobfedefifi Nybegynder
15. april 2002 - 21:46 #1
Hvilken fejl får du?
Avatar billede kimiwan Nybegynder
15. april 2002 - 21:47 #2
id er sikkert numerisk...

strSQL = "DELETE FROM tbl_kalender WHERE Id = " & booknr
Set rs = Conn.Execute(strSQL)

ellers skal du sørge for at booknr indeholder en numerisk værdi
Avatar billede eagleeye Praktikant
15. april 2002 - 21:48 #3
Når ID er et tal som du skriver (autonummer) så skal der ikke ' omkring tallet i SQL-sætningen:

strSQL = "DELETE FROM tbl_kalender WHERE Id =" & booknr & ";"
Avatar billede jacobfedefifi Nybegynder
15. april 2002 - 21:48 #4
Prøv det her:
strSQL = "DELETE * FROM tbl_kalender WHERE Id ='" & booknr & "'"
Set rs = Conn.Execute(strSQL)
Avatar billede wilweb Nybegynder
15. april 2002 - 21:48 #5
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Could not find file '(unknown)'.
/e-test/Booking/delete.asp, line 17


Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461)

Page:
GET /e-test/Booking/delete.asp

linje 17:
Conn.Open DSN
Avatar billede jacobfedefifi Nybegynder
15. april 2002 - 21:49 #6
eagleeye har ret i det med "tal", den havde jeg lige overset...
Avatar billede eagleeye Praktikant
15. april 2002 - 21:49 #7
kimiwan>> hehe har du læst spørgsmålet? "Id er i tabellen Autonummeret!"

Svar på samme minut og sekund!!!
Avatar billede kimiwan Nybegynder
15. april 2002 - 21:50 #8
hvordan ser din connectionstring (DSN) ud??
Avatar billede eagleeye Praktikant
15. april 2002 - 21:50 #9
Nå men "Svar på samme minut og sekund!!!"  var til jacobfedefifi  cool
Avatar billede kimiwan Nybegynder
15. april 2002 - 21:51 #10
hehe eagleeye.. gad vide, hvad jeg har gjort for at stå først :o)
Avatar billede wilweb Nybegynder
15. april 2002 - 21:51 #11
'hele delete.asp
<%
bruger = Request.Querystring("id")
booknr = Request.Querystring("bookid")

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("data/kalender.mdb")
Conn.Open DSN

strSQL = "DELETE FROM tbl_kalender WHERE Id =" & booknr & ";"
Set rs = Conn.Execute(strSQL)
response.write "Bruger: " & bruger & "<br>"
response.write "Book Nr.: " & booknr & " er nu slettet!!!"
' Rydder op efter os
Conn.Close
Set Conn = Nothing
%>
Avatar billede kimiwan Nybegynder
15. april 2002 - 21:51 #12
hov ja.. jeg kunne heller ikke forstå det med minut ogsekund først,... men så kiggede jeg igen, og så gav det mening (må ha' set fejl anden gang) :o)
Avatar billede jacobfedefifi Nybegynder
15. april 2002 - 21:52 #13
Det er fordi jeg kan...
Avatar billede kimiwan Nybegynder
15. april 2002 - 21:52 #14
ligger din database kalender.mdb i en undermappe "database" til den folder hvor din asp side er???
Avatar billede jacobfedefifi Nybegynder
15. april 2002 - 21:52 #15
SKRIV:
--------
DSN = DSN & "DBQ=" & Server.MapPath ("../data/kalender.mdb")
Avatar billede kimiwan Nybegynder
15. april 2002 - 21:53 #16
jacob: er du synsk? kan du se, hvor hans database ligger????
Avatar billede jacobfedefifi Nybegynder
15. april 2002 - 21:53 #17
Jep
Avatar billede wilweb Nybegynder
15. april 2002 - 21:55 #18
min DB ligger i mappen data som ligger i roden!
../data/kalender giver denne fejl:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] '(unknown)' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.
/e-test/Booking/delete.asp, line 17
Avatar billede jacobfedefifi Nybegynder
15. april 2002 - 21:55 #19
Man skal så vidt jeg ved altid starte med .. hvis man vil ind i en mappe som ikke er den samme som den hvor filen ligger
Avatar billede eagleeye Praktikant
15. april 2002 - 21:56 #20
Hvis du rettet tilbage til /data/kalender.mdb altså som før får du så en fejl?
Avatar billede eagleeye Praktikant
15. april 2002 - 21:57 #21
/ betyder normalt roden
. betyder denne folder
.. betyder en folder tilbage
Avatar billede wilweb Nybegynder
15. april 2002 - 21:58 #22
ja, samme fejl
Avatar billede kimiwan Nybegynder
15. april 2002 - 21:59 #23
whoops.. så tog jeg måske fejl til at starte med.. men prøv det her:

set conn = server.createobject("adodb.connection")
DSN = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" & Server.MapPath ("data/kalender.mdb")
conn.open DSN

måske det hjælper
Avatar billede wilweb Nybegynder
15. april 2002 - 22:01 #24
Error Type:
Microsoft JET Database Engine (0x80004005)
Could not find file 'E:\ASP-proj\Booking\data\kalender.mdb'.
/e-test/Booking/delete.asp, line 16

16:
conn.open DSN
Avatar billede jacobfedefifi Nybegynder
15. april 2002 - 22:03 #25
E:????
Ligger det offline eller på din egen server?
Avatar billede wilweb Nybegynder
15. april 2002 - 22:05 #26
Tusind tak for hjælpen.
jeg fortjener dumme dask.
STAVEFEJL, doh hvor dum kan man være?
Avatar billede wilweb Nybegynder
15. april 2002 - 22:08 #27
når jeg nu har lært at stave!
Kan man så lave en slet ja/nej ting, i stedet for at bare lige slette?
Avatar billede eagleeye Praktikant
15. april 2002 - 22:14 #28
du kan lave en form først på siden som spørger om man vil slette.. to sec
Avatar billede wilweb Nybegynder
15. april 2002 - 22:18 #29
Avatar billede eagleeye Praktikant
15. april 2002 - 22:19 #30
Sådan noget i denne stil:

'hele delete.asp
<%
bruger = Request.Querystring("id")
booknr = Request.Querystring("bookid")
mode = Request.Form("mode")

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("data/kalender.mdb")
Conn.Open DSN

if mode = "" then
  strSQL = "SELECT * FROM tbl_kalender WHERE Id =" & booknr & ";"
  Set rs = Conn.Execute(strSQL)
  %><form method="POST" action="delete.asp?id=<%=bruger%>&bookid=<%=booknr%>"><br>
  Slet bog <%=rs("Id")%> + andre felter omkring bogen.<br>
  <input type="hidden" name="mode" value="slet"><br>
  <inpyt type="submit" name="delete" value="delete">
  </form>
  <%
else
  strSQL = "DELETE FROM tbl_kalender WHERE Id =" & booknr & ";"
  Set rs = Conn.Execute(strSQL)
  response.write "Bruger: " & bruger & "<br>"
  response.write "Book Nr.: " & booknr & " er nu slettet!!!"
end if
' Rydder op efter os
Conn.Close
Set Conn = Nothing
%>
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