Pb VBA Access 2000 et RecordSet

Fermé
TopperHarley Messages postés 8 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 26 mai 2008 - 28 mars 2003 à 10:11
 Roland - 15 juin 2004 à 16:18
Bonjour à tous,

Pour faire des tests de suppression j'ai utilisé le code suivant sous VBA d'Access 97:
(je supprime les utilisateurs dont le nom est choisi dans un champ de formulaire)

Private Sub SuppUser_Click()
Dim rs As Recordset
Dim ReqSql As String

ReqSql = "select * from Utilisateurs where Nom_Uti = [forms]![Utilisateurs]![Nom_Uti];"
MsgBox "nom uti:" & Nom_Uti

Set rs = CurrentDb.OpenRecordset(ReqSql, dbOpentable)

If (rs.EOF And rs.BOF) Then
'il n'y a pas d'enregistrement
Exit Sub
End If

'sinon on se place sur le premier enregistrement
rs.MoveFirst
'et on boucle jusqu'a supprimer toutes les entites trouvees
While (Not rs.EOF)
rs.Delete
rs.MoveFirst
Wend
rs.Close
MsgBox ("suppression terminee")
End Sub

Mais il faut savoir que le code VBA d'Access 97 n'est pas transportable sous Access 2000 (merci Microsoft!)
je voudrais que les habitués du VBA sous Access 2000 m'oriente dans la construction de mon code car la procédure indiquée par les manuels me parait bien compiquée (plus de type database, jeu de connections ADODB...)
Ou alors si c'est vraiment ce que je dois implémenter, pourriez-vous m'expliquer le fonctionnement et éventuellement un exemple de code afin que je connaisse la marche à suivre...

Merci à tous

Guillaume, pour vous servir et accessoirement m'aider aussi

3 réponses

De tête comme ça, il me semble bien que le code est transportable sous Access 2000 puisque tu peux continuer à utilser les DAO. IL faut cocher la référence à la libraire DAO, et la mettre dans l'ordre avant la librairie ADO pour qu'elle soit utilisée en priorité.

Essaie.
1
blux Messages postés 26769 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 9 avril 2025 3 334
24 avril 2003 à 16:26
Salut,

je trouve que tu t'emm... bien la vie, au lieu de programmer un recordset, pourquoi tu ne crées pas une "querydef" avec "DELETE * FROM Utilisateurs where Nom_Uti = " & [forms]![Utilisateurs]![Nom_Uti]" & ";" et que tu ferais pas un runsql ?

A s'rait t'y pas pu simple, non ?

A+ Blux            "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
Bonjour. Suis nouveau fou ACCESS je cherche compétence sympa pour m'aider sur base de donné gestion des stocks , recettes cuisine , etc . Cordialement Merci
0