[ACCESS 2k / SQL 2k] Updatable view

Pagina: 1
Acties:

  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 23:10
Ik heb een view gemaakt die twee tabellen cross joint. Nu is deze niet updatable, echter wel als je er een INSTEAD OF trigger op maakt. (Zie bv. hier)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE VIEW dbo.EditKlassen
WITH VIEW_METADATA
AS
SELECT
 bu.Id AS buId, 
 lj.leerjaar,
 CASE WHEN EXISTS 
  (SELECT 1 FROM b_uren_klassen buk 
  WHERE (buk.klas = lj.leerjaar AND buk.buId = bu.Id)) THEN 1 ELSE 0 END AS k

FROM 
 dbo.leerjaren lj CROSS JOIN
 dbo.b_uren bu


Nu zit hier een trigger op, de inhoud hiervan is het probleem (nog) niet:
code:
1
2
3
4
5
6
7
CREATE TRIGGER klasupdate ON dbo.EditKlassen
INSTEAD OF UPDATE
AS
/* debugging */
IF EXISTS(SELECT * FROM tmpTabel)
INSERT INTO tmpTabel SELECT * FROM inserted
ELSE SELECT * INTO tmpTabel FROM inserted


VIEW_METADATA zorgt ervoor dat access (front-end ADP) zijn updates niet direct op de tabellen uitvoert maar op de view. Als ik in EM alle rows bekijk kan ik inderdaad wijzigingen doorvoeren en de nieuwe gegevens staan ook in tmpTabel.

In access kan ik echter geen wijzigingen doorvoeren ("This recordset is not updatable"). Wat doe ik hier fout? Properties van de View in Access zijn niet opvraagbaar, als ik in access de design view open zie ik niets, waarschijnlijk omdat deze de CASE niet ondersteunt (EM ook: The Query Designer does not support the CASE SQL construct). Als de case vervang door iets dergelijks als 1 AS k werkt het helaas ook niet.

Wat ik uiteindelijk wil bereiken is dat ik per buId een overzicht krijg van de beschikbare leerjaren, en dat access een vinkje weergeeft of deze combinatie aanwezig is in de tabel b_uren_klassen, en dat deze uit- en aangevinkt kan worden.

Wat moet ik nou doen om mijn recordset in access toch updatable te maken?

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


Verwijderd

Volgens mij heb je in een vergelijkbare vraag van mij het antwoord al gepost.....

Van het form moet je de property Recordset type instellen op Dynaset (inconsistent update)

bij mij werkte het iig! :)

  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 23:10
:D helaas dat heb ik al geprobeerd, maar een view heeft geen form-properties
en een form gebaseerd op deze view werkt ook niet (Updatable Snapshot).

Zit intussen ook de hele tijd onder sa te werken, dus permissies kunnen ook niet het probleem zijn.

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 23:10
kickje, ik snap echt niet waarom access anders moet werken dan enterprise manager

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans