Frage : Updateaufzeichnungen in der SQL-Tabelle über Excel VBA und AUFHEBEN

Ich habe Excel-Arbeitsblätter, Tabellen im SQL-Server, über AUFHEBEN und VBA zu aktualisieren. Dieses tue ich by
DELETE vorhandene records
INSERT neue Rekorde auf den worksheet
This Arbeiten fine.

The, das Problem ist, in den seltenen Fällen, wenn der EINSATZ-Prozess zusammenstößt (!) die LÖSCHUNG ist bereits geschehen und der EINSATZ ist nur Teil, bis zu, dem er zusammenstieß. (glücklicherweise sitzen die Daten noch am Arbeitsblatt, so nicht am Ende der Welt), können das

Have versucht und UPDATE-OR-INSERT Alternative, aber dieses duplicates.

Can verursachen, das jemand eine bessere vorschlagen, harmlose Weise?

ROLLBACK VERHANDLUNG wurde erwähnt. Hat jemand ein Beispiel? Wie Mitteilungen SQLS zurück zu VBA gefangennehmen, um den Benutzer zu alarmieren?

Or eine wirklich kluge Lösung zu diesem?
Thanks!

Antwort : Updateaufzeichnungen in der SQL-Tabelle über Excel VBA und AUFHEBEN

Dieses ist ein Beispiel der Verhandlung, das die Arbeit für Sie erledigen könnte.
Es genommen teils von:
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:
        Auf Störung Goto- Err_Handler
        Schwaches CNN als ADODB.Connection
        Schwache blnInTrans, wie Boolesch

        blnInTrans = falsch        'nicht in einer Verhandlung ab schon
        CNN = CurrentProject.Connection
        '…

        cnn.BeginTrans ()
        blnInTrans = ausrichten       'jetzt am Anfang von einer Verhandlung g

        'Ihre Löschung hier tun

        'Ihren Einsatz hier tun

        cnn.CommitTrans ()
        blnInTrans = falsche      'Verhandlungen abschlossen ohne Störung n

        '…

Exit_Handler:
        Unterseeboot herausnehmen

Err_Handler:
        Wenn blnInTrans dann      'inmitten einer Verhandlung
            cnn.RollbackTrans ()     'Wiederherstellungsdaten zum VorVerhandlung Zustand
            'Dieses wieder herstellt die Daten es, die durch Ihre LÖSCHUNG-Frage gelöscht
        Beenden wenn
        'weitere Störung, die hier verarbeitet
        Zusammenfassung Exit_Handler
Weitere Lösungen  
 
programming4us programming4us