Mon application permet de traiter et d'enregistrer des informations issues d'une feuille excel dans une base de données Access. Pour plus de confort pour l'utilisateur, j'aimerai lui donner le choix de fermer l'apllication ou d'effectuer un nouvel enregistrement. Seulement voilà, le deuxième ichier ne s'enregistre pas. Pourtant, je ferme Excel, le recordset et la connexion, que je réouvre de nouveau pour le fichier Excel suivant
Pourquoi celà ne marche-t-il pas?
Code du bouton de sauvegarde :
'MsgBox "Connection opened :" & connectionOpened
CmdSave.Enabled = False Set connection = New ADODB.connection connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\CTI.mdb;Persist Security Info=False" connection.Open
Set Recordset = New ADODB.Recordset Recordset.CursorType = adOpenKeyset Recordset.LockType = adLockOptimistic Recordset.Open "CTIDailySummary", connection, , , adCmdTable
MsgBox "Connexion réussie avec la base de données. Enregistrement en cours" connectionOpened = True
Do While excelApplication.Cells(ligne, 1) & excelApplication.Cells(ligne, 2) & excelApplication.Cells(ligne, 3) & excelApplication.Cells(ligne, 4) & excelApplication.Cells(ligne, 5) <> ""
Question naïve car j'ai pas compris tout ton problème : au lieu de faure un recordset.update, si tu fais un recordset.save, ça change rien ?
--------------- « Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Marsh Posté le 24-05-2004 à 09:35:26
Salut.
Mon application permet de traiter et d'enregistrer des informations issues d'une feuille excel dans une base de données Access. Pour plus de confort pour l'utilisateur, j'aimerai lui donner le choix de fermer l'apllication ou d'effectuer un nouvel enregistrement. Seulement voilà, le deuxième ichier ne s'enregistre pas. Pourtant, je ferme Excel, le recordset et la connexion, que je réouvre de nouveau pour le fichier Excel suivant
Pourquoi celà ne marche-t-il pas?
Code du bouton de sauvegarde :
'MsgBox "Connection opened :" & connectionOpened
CmdSave.Enabled = False
Set connection = New ADODB.connection
connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\CTI.mdb;Persist Security Info=False"
connection.Open
Set Recordset = New ADODB.Recordset
Recordset.CursorType = adOpenKeyset
Recordset.LockType = adLockOptimistic
Recordset.Open "CTIDailySummary", connection, , , adCmdTable
MsgBox "Connexion réussie avec la base de données. Enregistrement en cours"
connectionOpened = True
Do While excelApplication.Cells(ligne, 1) & excelApplication.Cells(ligne, 2) & excelApplication.Cells(ligne, 3) & excelApplication.Cells(ligne, 4) & excelApplication.Cells(ligne, 5) <> ""
Recordset.AddNew
Recordset!NOPID = excelApplication.Cells(ligne, 1)
Recordset!Product = excelApplication.Cells(ligne, 2)
Recordset!trafficDate = excelApplication.Cells(ligne, 3)
Recordset!Duration = excelApplication.Cells(ligne, 4)
Recordset.Update
booRecordAdded = True
ligne = ligne + 1
Loop
'MsgBox "Enregisrtement terminé"
'CmdSave.Enabled = False
'Libération de l'objet Excel.Application
excelApplication.Application.Quit
Set excelApplication = Nothing
excelFileOpened = False
'Libération de la connexion
Recordset.Close
connection.Close
Set Recordset = Nothing
Set connection = Nothing
connectionOpened = False
Form4.Visible = True
'Affichage des bouttons nouvel enregistrement et précédent
CmdBack.Visible = True
CmdNextSave.Visible = False
CmdBack.Enabled = False
CmdNextSave.Enabled = False
CmdExit.Enabled = False
Combo1.Enabled = False
End Sub
Merci d'avance!