Database - Tabelle Relazioni




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










( databasetabellerelazioni.html )- by Paolo Puglisi - Modifica del 17/12/2023