[ASP/Access] Verwijderen van records *

Pagina: 1
Acties:

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 22:02
Ik heb binnen access een tabel klanten en een tabel orders. Deze tabellen zijn aan elkaar gelinkt. Als ik in ASP een klant wil verwijderen, dan moet ik dus eerst z'n orders verwijderen. Ik heb daarvoor de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  Dim objORDER
  SQL = "SELECT * FROM Order WHERE Klantnr = " & Request.Form("Klantnr")
  set objORDER = DBConn.Execute(SQL)
  if not (objORDER.EOF) then
     objORDER.Delete
  End if
  objORDER.Close
  set objORDER = nothing
  
  DIM objKLANT
  SQL = "SELECT * FROM Klanten WHERE Klantnr = " & Request.Form("Klantnr")
  set objKLANT = DBConn.Execute(SQL)
  if not (objKLANT.EOF) then
     objKLANT.Delete
  End if
  objKLANT.Close
  set objKLANT = nothing

Ik krijg echter iedere keer een foutmelding bij het verwijderen van de klant.
ADODB.Recordset error '800a0cb3'

Object or provider is not capable of performing requested operation.
Wat doe ik verkeerd?

  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 20:05

mOrPhie

❤️❤️❤️❤️🤍

Je zou eigenlijk met een SQL-statement de records moeten verwijderen. Voorbeeld van zo'n statement:
code:
1
DELETE FROM Table1 WHERE Id = 1234

Dan geeft ie ook meteen terug of het record bestond of niet. Misschien handiger?

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
MMM weggooien is nooit slim, een delete flag is slimmer, zelfs data die je niet gebruikt kan informatie bevatten.

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 22:02
Op woensdag 20 februari 2002 16:03 schreef mOrPhie het volgende:
Je zou eigenlijk met een SQL-statement de records moeten verwijderen. Voorbeeld van zo'n statement:
code:
1
DELETE FROM Table1 WHERE Id = 1234

Dan geeft ie ook meteen terug of het record bestond of niet. Misschien handiger?
Is wel efficienter ja, maar het is niet de oplossing voor mijn probleem.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
SQL Delete statements lijken mij wel een oplossing :? . Waarom is dat volgens jij geen oplossing TweakersOnly?

Overigens kunnen flags idd wel handig zijn in bepaalde situaties...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 22:02
Probleem is opgelost. Het sluiten van een gedefinieerde variable lukte niet bij de DELETE-query. Om anderen van dienst te zijn plaats ik hieronder de werkende code. :) :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
  'Verwijderen van de records uit de tabel ORDER
  DIM objORDER
  SQL = "DELETE FROM Order WHERE Klantnr = " & Request.Form("Klantnr")
  set objORDER = DBConn.Execute(SQL)
  set objORDER = nothing


  'Verwijderen van het record uit de tabel KLANT
  DIM objKLANT
  SQL = "DELETE FROM Klant WHERE Klantnr = " & Request.Form("Klantnr")
  set objKLANT = DBConn.Execute(SQL)
  set objKLANT = nothing

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:53
Zeg nu zelf, dit is een veel mooiere oplossing dan die code in uw eerste post. Mooi toch hé, SQL :)

https://fgheysels.github.io/

Pagina: 1