Questione : Annotazioni dell'aggiornamento in tabella di SQL via Excel VBA e DIFFICOLTÀ

Ho manuali di Excel aggiornare le tabelle in assistente di SQL, via la DIFFICOLTÀ e VBA. Ciò faccio i nuovi record attuali del records
INSERT del by
DELETE sugli impianti del worksheet
This il problema di fine.

The che è, nei casi rari quando il processo dell'INSERTO si arresta (!) la CANCELLAZIONE già è accaduto e l'INSERTO fa parte soltanto, fino a dove si è arrestato. (i dati ancora stanno sedendosi fortunatamente sul manuale, così non sull'estremità del mondo) il

Have provato ed alternativa di UPDATE-OR-INSERT, ma questo può provocare duplicates.

Can che qualcuno suggerisce un migliore, senso infallibile? la TRANSAZIONE del

ROLLBACK è stata accennata. Chiunque ha un esempio? Come bloccare i messaggi dello SQL di nuovo a VBA per avvertire l'utente?

Or una soluzione realmente intelligente a questo?
Thanks!
class= del

Risposta : Annotazioni dell'aggiornamento in tabella di SQL via Excel VBA e DIFFICOLTÀ

Ciò è un esempio della transazione che potrebbe fargli il lavoro per.
È stata presa parzialmente da:
http://bytes.com/topic/access/insights/677490-ado-transaction-processing
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
        Sull'errore Err_Handler di avanzamento
        CNN fioco come ADODB.Connection
        blnInTrans fiochi come booleani

        blnInTrans = falso        'non in una transazione a partire da ancora
        CNN = CurrentProject.Connection
        '…

        cnn.BeginTrans ()
        i blnInTrans = ora       allineano 'nell'inizio di una transazione

        'Fare la vostra cancellazione qui

        'Fare il vostro inserto qui

        cnn.CommitTrans ()
        i blnInTrans = '      transazioni false hanno completato senza errore

        '…

Exit_Handler:
        Uscire il sommergibile

Err_Handler:
        Se blnInTrans allora      'in mezzo a una transazione
            dati di restauro di cnn.RollbackTrans     () 'alla condizione di pre-Transazione
            'Questo ristabilirà i dati cancellati dalla vostra domanda di CANCELLAZIONE
        Concluder se
        'ulteriore errore che proceda qui
        Riassunto Exit_Handler
Altre soluzioni  
 
programming4us programming4us