Bonjour, après plusieurs jours à m'arracher les cheveux sur la même partie de code, et après des centaines de requête à mon ami google, je reviens vous ennuyer avec ACCESS...
I) Introduction
J'ai un bouton sur le formulaire, qui permet de supprimer une station.
Problème, il n'allait pas supprimer les champs équivalent dans d'autres tables, et ne faisait pas de vérifications.
J'ai donc été chargé de régler cela.
La partie suppression dans les autres tables, pas de problème.
Mais je coince sur la vérification.
II) Code actuel (seulement le 1er If, les autres feront la même chose)
III) Les solutions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub Bouton118_Click() Dim msg As Integer Dim db As DAO.Database Dim requete As String Dim verif As DAO.Recordset Set db = CurrentDb requete = "SELECT [Numéro polygone] FROM [station] WHERE [Numéro station] = '" & Forms![station]![Numéro station] & "';" Set verif = db.OpenRecordset(requete) If verif.RecordCount = 0 Then 'If Not verif.EOF And Not verif.BOF Then
J'ai utilisé le recordcount, le EOF/BOF, 'is Nothing', le nomatch, isnull().
Aucun ne réalisé le résultat escompté.
Si la station n'a pas de N° de polygone, il passe dans la boucle, sinon il sort et met une erreur (plus bas dans mon code)
Or là, il ne tient compte de rien.
1er cas : il rentre dans boucle (cas du EOF/BOF) :
Il y a un N° polygone, et devrait sortir en erreur, mais il rentre tout de même dans la boucle.
2nd cas : il sort toujours de la boucle pour aller en erreur (cas du recordcount - is Nothing) :
Là j'enlève le N° polygone, et devrait rentrer dans la boucle pour aller supprimer la station, mais non il sort et va dans l'erreur.
Chaque solution rentre dans l'un de ces 2 cas.
Aucun ne fait ce qu'il faut.
Le EOF/BOF reste toujours à Faux
Le recordcount reste toujours à 1
Le is Nothing est toujours faux
Le nomatch est toujours faux
Le isnull() est toujours faux
De plus je ne connais pas le moyen pour afficher verif et ainsi voir ce qui se trouve dedans.
IV) Liens
Voici les liens que j'ai suivi (et que j'ai gardé sinon il y en aurait pas mal ^^)
http://www.developpez.net/forums/d49...em-rs-nomatch/
http://www.access-programmers.co.uk/...d.php?t=138527
V) DAO/ADO?
J'ai vu qu'il y avait ces références sous ACCESS
Je ne sais pas si j'ai l'ADO (je ne sais même pas si c'est la même références, ou 2 différentes)
Voici les références que j'ai :
- VB
- Microsoft Access 12.0
- Microsoft DAO 3.6
- OLE
- VB for applications Extensibility 5.3
Merci d'avance pour ce nouveau casse tête chinois... plutôt ricain
Partager