Question : Disques de mise à jour dans la table de SQL par l'intermédiaire d'Excel VBA et AGITATION

J'ai des feuilles de travail d'Excel mettre à jour des tables dans le serveur de SQL, par l'intermédiaire de l'AGITATION et du VBA. Ceci je fais les nouveaux records existants du records
INSERT du by
DELETE sur les travaux du worksheet
This que le problème de fine.

The est, dans les exemples rares quand le processus d'INSERTION se brise (!) la SUPPRESSION s'est déjà produite et l'INSERTION est seulement partie, jusqu'à où elle s'est brisée. (heureusement les données se reposent toujours sur la feuille de travail, ainsi pas l'extrémité du monde) est-ce que

Have essayé et alternative d'UPDATE-OR-INSERT, mais ceci peut provoquer duplicates.

Can que quelqu'un suggèrent une meilleure, indéréglable manière ? la TRANSACTION du

ROLLBACK a été mentionnée. Est-ce que n'importe qui a un exemple ? Comment capturer les messages du SQL de nouveau à VBA pour alerter l'utilisateur ?

Or une solution vraiment intelligente à ceci ?
Thanks !
class= de

Réponse : Disques de mise à jour dans la table de SQL par l'intermédiaire d'Excel VBA et AGITATION

C'est un exemple de transaction qui pourrait réaliser le travail pour vous.
Il a été en partie pris de :
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 :
        Sur l'erreur Err_Handler GoTo
        Faible CNN comme ADODB.Connection
        Faibles blnInTrans comme booléens

        blnInTrans = faux        'pas dans une transaction en date d'encore
        CNN = CurrentProject.Connection
        '…

        cnn.BeginTrans ()
        les blnInTrans = rectifient       'maintenant dans le commencement d'une transaction

        'Faire votre suppression ici

        'Faire votre insertion ici

        cnn.CommitTrans ()
        les blnInTrans = des '      transactions fausses ont accompli sans erreur

        '…

Exit_Handler :
        Sortir le sous-marin

Err_Handler :
        Si blnInTrans puis      'au milieu d'une transaction
            données de restauration de cnn.RollbackTrans     () 'à l'état de pré-Transaction
            'Ceci reconstituera les données supprimées par votre question de SUPPRESSION
        Finir si
        'davantage d'erreur traitant ici
        Résumé Exit_Handler
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us