[Access] Problème requête et focus

Fermé
enigmatoile Messages postés 730 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mars 2008 - 19 mars 2007 à 17:17
 EL gringo - 19 juin 2007 à 11:36
Bonjour,

A partir d'un formulaire contenant des caches à cocher, je souhaite remplir une table avec les enregistrements pour lesquels ma case est cochée.

Pour que vous vous fassiez une idée voici mon code (mais ce n'est pas lui qui pose problème) :

Public Sub EnrichirExceptionsServices()

On Error GoTo gest_erreur

    Dim chemin As String
    Dim date_collecte As String
    Dim qdf As DAO.QueryDef
    Dim rs As DAO.Recordset
    
'Création de la requete souhaitée
'Sélection de toutes les anomalies dont la case "Exception" est cochée

    requete = "SELECT tbl_ref_anomalies_services.FriendlyName, tbl_ref_anomalies_services.Name," & _
    " tbl_ref_anomalies_services.Status, tbl_ref_anomalies_services.Type, tbl_ref_anomalies_services.Account," & _
    " tbl_ref_anomalies_services.Serveur, tbl_ref_anomalies_services.Exception, tbl_ref_anomalies_services.[Mode Anomalie]," & _
    " tbl_ref_anomalies_services.[Date Anomalie]" & _
    " FROM tbl_ref_anomalies_services" & _
    " WHERE (((tbl_ref_anomalies_services.Exception)=Yes));"
    
'Création du recordset

    Set qdf = CurrentDb.CreateQueryDef("exceptions", requete)
    Set rs = CurrentDb.OpenRecordset("exceptions")

'Ajout des données du recordset dans la table "tbl_ref_exceptions_services"

If rs.BOF = False Then
    rs.MoveFirst
    Do While rs.EOF = False
    SQL = "INSERT INTO tbl_ref_exceptions_services ( FriendlyName, Name, Status, Type, Account, Serveur, [Mode Anomalie], [Date Anomalie])" & _
    "VALUES ('" & rs![FriendlyName] & "','" & rs![Name] & "','" & rs![Status] & "','" & rs![Type] & "','" & rs![Account] & "','" & rs![Serveur] & "','" & rs![Mode Anomalie] & "','" & rs![Date Anomalie] & "');"
    MsgBox SQL
    DoCmd.RunSQL SQL
    rs.MoveNext
    Loop
End If
    
'Libération des objets
CurrentDb.QueryDefs.Delete ("exceptions")
Set qdf = Nothing

MsgBox "Traitement terminé!", vbInformation

gest_erreur:
    Select Case Err.Number
        Case 0:
            Exit Sub
        Case Else
            Set qdf = Nothing
            MsgBox Err.Number & " - " & Err.Description
    End Select

End Sub


Mon problème est le suivant : quand je coche mes cases, si le focus reste sur le dernière case cochée alors cet enregistrement n'est pas pris en compte dans la requete.

Comment puis je faire pour éviter cela?
A voir également:

1 réponse

zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
19 mars 2007 à 17:33
Bin, tu as en tous cas une solution "simple": faire un SetFocus sur un autre champ Après MAJ de la case à cocher (pourquoi pas vers le bouton de commande, par exemple).
0
enigmatoile Messages postés 730 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mars 2008 5
19 mars 2007 à 17:52
Merci de m'avoir répondu si vite.

J'ai essayé ta solution mais ça n'a pas marché.

Finalement je suis pas sure que ca soit une histoire de focus.

En plus quand j'ai deux enregistrements cochés, que j'en décoche un et que j'appuie sur le bouton il en voit encore 2 :(
0
Essaye
Me.Form.Recordset.Movelast
Me.Form.Recordset.Movefirst


J'avais le meme pb que toi et ca a marché !

Bon courage
0