Code vba access
joel.teko13
Messages postés
4
Statut
Membre
-
joel.teko13 Messages postés 4 Statut Membre -
joel.teko13 Messages postés 4 Statut Membre -
Bonjour,
J'ai le code ci-dessus, et chaque fois que j'execute il m'affiche une erreur: Erreur 3034 Vous avez essayé de valider ou d'annuler une transaction sans débuter de transaction au préalable.
Et m'indique l'erreur sur oWS.Rollback.
Quelqu'un m'aider????????
J'ai le code ci-dessus, et chaque fois que j'execute il m'affiche une erreur: Erreur 3034 Vous avez essayé de valider ou d'annuler une transaction sans débuter de transaction au préalable.
Et m'indique l'erreur sur oWS.Rollback.
Quelqu'un m'aider????????
Private Sub BT_Effectif_Click()
On Error GoTo Erreur_Traitement
'Variables DAO
Dim oWS As DAO.Workspace
Dim oDB As DAO.Database
Dim Table_Effectif As DAO.Recordset
'Variables parties Excel
Dim oApp As Excel.Application
Dim oWkb As Excel.Workbook
Dim oWSht As Excel.Worksheet
Dim oSelect As Excel.Range
'Variable de traitement
Dim Fichier_Excel As String
Dim Choix_Importation As Integer
Dim i As Integer
'Choix du fichier à importer
Fichier_Excel = ""
If Selection_Fichier(Fichier_Excel) Then
Me.Champ_Effectif = Fichier_Excel
'Import EPT-Titulaire ou EPT-Apprenti
Choix_Importation = Me!Choix_option.Value
'Ouverture Fichier Excel
Set oApp = CreateObject("Excel.Application")
Set oWkb = oApp.Workbooks.Open(Fichier_Excel)
Set oWSht = oWkb.Sheets(Choix_Importation)
Set oSelect = oWSht.Cells(1, 1).currentRegion
'Initialisation des objets DAO
Set oWS = DBEngine.Workspaces(0)
Set oDB = oWS.Databases(0)
'Ouverture du Recordset
Set Table_Effectif = oDB.OpenRecordset("EFFECTIF")
'Début transaction
oWS.BeginTrans
'Lecture du Fichier Excel Donnée FI
For i = 2 To oSelect.rows.Count
'==============================================
'REMPLISSAGE TABLE: Effectif
'==============================================
Table_Effectif.AddNew
'No Matricule
Table_Effectif.Fields("No_Matricule") = oSelect.Cells(i, 1)
'No_Mois--
Table_Effectif.Fields("No_Mois") = oSelect.Cells(i, 2)
'Nom_Prénom
Table_Effectif.Fields("Nom_Prenom") = oSelect.Cells(i, 3)
'Site Hospitalier--
Table_Effectif.Fields("Site") = oSelect.Cells(i, 4)
'Département
Table_Effectif.Fields("Dpt_Service") = oSelect.Cells(i, 5)
'Service
Table_Effectif.Fields("Centre_Charge") = oSelect.Cells(i, 6)
'Poste/Fonction
Table_Effectif.Fields("Fonction") = oSelect.Cells(i, 7)
'Classe
Table_Effectif.Fields("Classe") = oSelect.Cells(i, 8)
'Echelon
Table_Effectif.Fields("Echelon") = oSelect.Cells(i, 9)
'Date début
Table_Effectif.Fields("Date_Entree") = oSelect.Cells(i, 10)
' Table_Effectif.Fields("Date_Entree") = CDate("01.01.2017")
'Date fin
Table_Effectif.Fields("Date_Sortie") = oSelect.Cells(i, 11)
' Table_Effectif.Fields("Date_Sortie") = CDate("31.12.2099")
Table_Effectif.Update
Next i
'Confirmation transaction
oWS.CommitTrans
'Fermeture du Recordset
Table_Effectif.Close
'Fermer le classeur Excel
oApp.Quit
'Importation réussie
MsgBox "Importation des données 'Effectif' effectuée avec succès"
'Libération mémoire des Objets
Set Table_Effectif = Nothing
'Liberation mémoire des Objets Excel
Set oSelect = Nothing
Set oWSht = Nothing
Set oWkb = Nothing
Set oApp = Nothing
End If
Exit Sub
Fin:
'oWS.Close
'Libération mémoire des Objets
Set Table_Effectif = Nothing
'Liberation mémoire des Objets Excel
Set oSelect = Nothing
Set oWSht = Nothing
Set oWkb = Nothing
Set oApp = Nothing
Erreur_Traitement:
'Annulation transaction
<bold> oWS.Rollback</bold>
MsgBox "Erreur de Traitement : Fichier Excel - Ligne No " & i
Resume Fin
End Sub
A voir également:
- Code vba access
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
j'ai essayé de mettre un exit sub, mais...............