RioLab

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Articoli
Articoli

Access riceve un valore @@Identity sbagliato

E-mail Stampa PDF

Access riceve un valore @@Identity sbagliato se la tabella ha un trigger che inserisce una o più righe in un'altra tebella che ha un campo di tipo contatore.

Riferimento: ACC2002: @@IDENTITY Returns Incorrect Identity Column Value
Soluzione: All'interno del trigger viene salvato il valore della variabile @@Identity e prima di uscire, viene inserita una riga nella tabella temporanea #Tmp. L'inserimento viene eseguito utilizzando la IDENTITY (Function) il cui secondo parametro, (seed), è valorizzato all' Identity precedentemente salvato.
Con questo trucchetto forziamo Sql Server a rendere nella variabile @@Identity il valore dell'Id assegnato a Tabella1.

Questa soluzione evita di eseguire il refresh dela maschera che nei progetti ADP di Access implica la rilettura di tutto il recordset.

Ultimo aggiornamento Mercoledì 01 Luglio 2009 17:13 Leggi tutto...
 

Uso della variabile @@Identity nei database di Access

E-mail Stampa PDF

Premessa:
Struttura delle tabelle:
Tab1
----
Id Counter Primary Key,
Nome Text(50)
----

Tab2
----
Id Counter Primary Key,
IdTab1 long references Tab1(Id),
Nome Text(50)
----

Ho voluto introdurre tra l'inserimento della riga in Tab1 e l'inserimento in Tab2 il richiamo di una sub gemella, questo per evidenziare che la variabile @@Identity rende l'ultimo ID inserito nell'ambito della stessa connessione.

Esempio
----------------------------

 

'*****************************
' Sub Principale
'*****************************
Sub Insert1()

Dim Cn As ADODB.Connection
Dim strSql As String
Set Cn = New ADODB.Connection

Cn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Dati\Db1.Mdb"

'Apro la connessione al database di Access
Cn.Open

'Inserisco una riga nella Tab1
strSql = "INSERT INTO Tab1 (Nome) Values('Insert1')"
Cn.Execute strSql

'Richiamo la sub gemella
Call Insert2

'Inserisco una riga nella Tab2
strSql = "INSERT INTO Tab2 (IdTab1,Nome) Values(@@Identity,'Insert1')"
Cn.Execute strSql

Cn.Close
Set Cn = Nothing

End Sub

'*****************************
' Sub gemella
'*****************************
Sub Insert2()

Dim Cn As ADODB.Connection
Dim strSql As String
Set Cn = New ADODB.Connection

Cn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Dati\Db1.Mdb"

'Apro la connessione al database di Access
Cn.Open

'Inserisco una riga nella Tab1
strSql = "INSERT INTO Tab1 (Nome) Values('Insert2')"
Cn.Execute strSql

'Inserisco una riga nella Tab2
strSql = "INSERT INTO Tab2 (IdTab1,Nome) Values(@@Identity,'Insert2')"
Cn.Execute strSql

Cn.Close
Set Cn = Nothing

End Sub


----------------------------

Eseguendo la Insert1 si ottiene questo Risultato

Tab1
Id   Nome
---- --------
1    Insert1
2    Insert2

Tab2
Id   IdTab1 Nome
---- ------ --------
1    2      Insert2
2    1      Insert1

Come si può notare i dati inseriti nelle due tabelle sono coerenti.

 

 

Verifica della correttezza formale del numero di partita IVA

E-mail Stampa PDF

Il numero di partita Iva è formato da 11 caratteri numerici, di cui, i primi 7 individuano il contribuente attraverso un numero progressivo, i successivi 3 individuano la provincia dove ha sede l'Ufficio che attribuisce la partita, l'ultimo è un carattere di controllo che, essendo il risultato di calcoli operati sul resto del codice, serve per verificare la correttezza formale del numero di partita IVA evitando gli errori comunemente commessi durante la trascrizione manuale.

Verifica della correttezza formale del numero di partita IVA

 

A tutti i soggetti che intraprendono un'attività rilevante ai fini Iva (impresa, arte, professione), al momento della presentazione della dichiarazione di inizio attività, viene attribuito dall'Agenzia delle Entrate il numero di partita IVA, che serve ad identificare univocamente il soggetto ai fini fiscali fino alla cessazione dell'attività.

 

Composizione

Il numero di partita Iva è formato da 11 caratteri numerici, di cui, i primi 7 individuano il contribuente attraverso un numero progressivo, i successivi 3 individuano la provincia dove ha sede l'Ufficio che attribuisce la partita, l'ultimo è un carattere di controllo che, essendo il risultato di calcoli operati sul resto del codice, serve per verificare la correttezza formale del numero di partita IVA evitando gli errori comunemente commessi durante la trascrizione manuale.

Ultimo aggiornamento Lunedì 03 Agosto 2009 14:20 Leggi tutto...
 

[Agg] Risorse per l'utilizzo di Excel nella didattica

E-mail Stampa PDF

Matematica con Excel: articoli dedicati a studenti e docenti della scuola secondaria di Primo grado, offrono spunti per quelli di ordine superiore.

 

Utili per chi muove i primi passi con l'applicativo.
E' possibile scaricare dei file.xls di esempio.

Ultimo aggiornamento Lunedì 03 Agosto 2009 13:07 Leggi tutto...
 


Pagina 15 di 15

Pubblicità

Link consigliati: