Tabelle # nel seguente esempio viene mostrato come un oggetto relation esistente possa controllare l'immissione dei dati. la routine cerca di aggiungere un record con un id categoria intenzionalmente errato; in questo modo si attiva la routine di gestione degli errori.
sub relationx() dim dbsnorthwind as database dim rstprodotti as recordset dim errciclo as error set dbsnorthwind = opendatabase("northwind.mdb") set rstprodotti = dbsnorthwind.openrecordset("prodotti") ' stampa un report che mostra tutte le diverse ' parti di relation e dove ogni parte ' viene memorizzata. with dbsnorthwind.relations!categorieprodotti debug.print "properties di " & .name & _ "relation" debug.print " table = " & .table debug.print " foreigntable = " & _ .foreigntable debug.print "fields di " & .name & " relation" with .fields!idcategoria debug.print " " & .name debug.print " name = " & .name debug.print " foreignname = " & .foreignname end with end with ' cerca di aggiungere un record che viola ' la relazione. with rstprodotti .addnew !nomeprodotto = "trygve's lutefisk" !idcategoria = 10 on error goto err_relazione .update on error goto 0 .close end with dbsnorthwind.close exit sub err_relazione: ' indica all'utente eventuali errori risultanti ' dai dati non validi. if dbengine.errors.count > 0 then for each errciclo in dbengine.errors msgbox "numero errore: " & errciclo.number _ & vbcr & errciclo.description next errciclo end if resume next end sub .editmode ' se il metodo update e' riuscito, 'stampa i risultati della modifica dei dati. if .editmode = dbeditnone then debug.print !nome & " " & !cognome & _ " - " & "ferie = " & _ !ferie exit do end if |