Scritto da Giorgio Rancati
|
Domenica 24 Luglio 2005 13:26 |
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...
|
|
Scritto da Giorgio Rancati
|
Domenica 24 Luglio 2005 00:00 |
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.
|
Scritto da Saoche
|
Mercoledì 20 Luglio 2005 01:00 |
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...
|
Scritto da Giovanna Arcadu
|
Martedì 30 Novembre 1999 01:00 |
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 |