IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Revenir à un enregistrement automatiquement aprés ajout [AC-2010]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Points : 14
    Points
    14
    Par défaut Revenir à un enregistrement automatiquement aprés ajout
    Bien le bonjour !

    Je sollicite votre aide, car après de nombreuse recherche sur google et ne comprenant pas les méthodes utilisés, je ne trouve pas de solution à mon problème.

    Voici mon problème: J'aimerais pouvoir, lors d'un ajout, revenir à l'enregistrement qui suit celui ou l'on était précédemment. Par exemple : Je suis à l'enregistrement 1, je click sur ajout, je finis l'ajout et je click sur valider l'ajout, puis lorsque je click sur valider l'ajout je suis automatiquement redirigé vers l'enregistrement 2.

    Pour que vous visualisiez, j'ai un formulaire "Agent" avec plusieurs sous formulaires. J'aimerais faire ceci pour le sous-formulaire "Savoir".

    J'ai essayé plusieurs chose:

    -En récupérant l'id savoir de l'enregistrement ou j'était grace à un bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Commande58_Click()
     
    Dim val As Long
     
    val = Me.id_Savoir
     
    End Sub
    puis dans le bouton valider engistrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DoCmd.RunCommand acCmdSaveRecord
     
    Me.Recordset.FindFirst "id_Savoir =" & Str(val)

    Mais cela ne fonctionne pas, je me suis penché sur le cas des bookmark mais comme j'utilise des filtres j'ai lu que je ne devais pas faire de Requery.

    Et enfin j'ai lu ce post : http://access.developpez.com/faq/?pa...Form#NumEnrFrm

    J'ai essayé de me déplacer, cela marche ( après enregistrement aller à l'enregistrement 2, mais je ne sais pas comment l'adapter pour les autres enregistrements). J'ai aussi essayé le CurrentRecord, mais en faisant Me.Recordset.Move de la variable qui contient le CurrentRecord ( dans un autre bouton ) cela ne fonctionne pas.

    Je vous remercie par avance de votre aide, et aussi d'avoir pris le temps de tout lire (

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    En fait le problème se situe plutôt dans la compréhension de l'organisation des données dans une base de données.
    Vu que les données ne sont pas organisées, qu'est-ce qu'on entend par (dans quel ordre sont classés les données?):
    revenir à l'enregistrement qui suit celui ou l'on était précédemment
    D'après ce que j'ai compris, si nous sommes sur l'enregistrement IdSavoir = Id1, il faudrait créer un variable globale IdSavoirSuivant auquel on attribuera la valeur IdSavoirsuivant = Me.IdSavoir + 1 avant l'ajout du nouvel enregistrement (pour se situer sur Id2, après Id1).

    Ensuite utiliser la propriété bookmark pour retrouver cet enregistrement (mais annuler le filtre avant) avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
           Me. Filter = ""
           Me.FilterOn = False
           Me.Requery
       With Me
            If Not isNull(IdSavoirSuivant) Then
                .RecordsetClone.FindFirst "id_Savoir=" & IdSavoirSuivant
                .Bookmark = .RecordsetClone.Bookmark
            End If
        End With
    J'espère que ça aidera.

    Bonne continuation

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    Tout d'abord merci pour ta réponse

    Hélas, je ne peux incrémenter l'id car cette id n'est pas l'id de l'enregistrement, mais celle des données ( il se peut que je sois à l'id 1 et que lorsque je me place dans l'enregistrement suivant je sois à l'id 1245 :s). Mais je peux me placer à l'id 1 (par exemple) et faire Recordset.MoveNext non ? Par contre le code que tu m'as donné ce met dans le bouton ajouter ? (car lorsque j'appuie sur ajouter le focus se place automatiquement au dernier enregistrement et donc nous aurions pas le bon id) ou sur le bouton valider l'enregistrement ?

    Encore merci pour ton aide

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Re-,
    Ce que tu dis confirmes le souci que je soulève.
    Qu'entend-on par enregistrement suivant dans le cas présent? A priori tu prends plutôt en compte l'ordre des enregistrements dans le sous-formulaire (ou le formulaire). Dès que tu auras une réponse claire à cela, je pense que ce sera simple.
    Parce que vu que tu ne peux identifier tes enregistrements qu'avec leur IdSavoir, si tu ne peux te déplacer à travers ce champ(données, contrôles), comment récupérer sa valeur?

    @+

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    Ah, désolé je me suis mal exprimé ! Quand je dis enregistrement suivant je parle de sa :Nom : form7.png
Affichages : 202
Taille : 37,3 Ko

    Pour me déplacer je comptais me placer sur l'enregistrement avec pour id celui ou j’étais à la base en utilisant currentrecord dans un bouton que je placerais sur le bouton ajouter.
    Puis lorsqu'on a finis d'ajouter et qu'on appuie sur valider l'ajout, on se place dans l'enregistrement du currentrecord (avec Recordset.Move) puis on fais un Recordset.MoveNext.

    C'était ce que je voulais faire, mais je ne trouve pas où j'ai fais une erreur !

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    Est-ce qu'on peut voir la source de votre sous-formulaire savoir pour essayer d'avancer

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Par source vous voulez parler du code VBA que contient ce sous-formulaire ? (je le met au cas où ça aiderais ) :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    Private Sub Ajouter_Click()
     
      Me.Savoir.DefaultValue = """" & Me.Savoir & """"
      Me.[Savoir niveau agent].DefaultValue = """" & Me.[Savoir niveau agent] & """"
      Me.[Savoir niveau poste].DefaultValue = """" & Me.[Savoir niveau poste] & """"
      Me.[Savoir faire].DefaultValue = """" & Me.[Savoir faire] + " " & """"
      Me.[Savoir faire niveau agent].DefaultValue = """" & Me.[Savoir faire niveau agent] & """"
      Me.[Savoir faire niveau poste].DefaultValue = """" & Me.[Savoir faire niveau poste] & """"
      Me.[Savoir être].DefaultValue = """" & Me.[Savoir être] & """"
      Me.[année de saisie].DefaultValue = """" & Forms.Agent1.[Statut Sous-formulaire].Form.[année de saisie] & """"
     
      Me.Savoir.Locked = True
      Me.[Savoir faire].Locked = True
      Me.[Savoir être].Locked = True
     
      Me.Modifiable43.Visible = True
      Me.Modifiable45.Visible = True
      Me.Modifiable47.Visible = True
      Me.Modifiable49.Visible = True
     
     
      Me.Modifiable45.DefaultValue = """" & Me.[Savoir niveau poste] & """"
      Me.Modifiable49.DefaultValue = """" & Me.[Savoir faire niveau poste] & """"
     
      Me.[Savoir niveau agent].Visible = False
      Me.[Savoir niveau poste].Visible = False
      Me.[Savoir faire niveau agent].Visible = False
      Me.[Savoir faire niveau poste].Visible = False
     
      Me.Modifiable45.Locked = True
      Me.Modifiable49.Locked = True
     
     
      DoCmd.GoToRecord , , acNewRec
     
    End Sub
     
    Public Sub Commande52_Click()
     
    DoCmd.RunCommand acCmdSaveRecord
     
    Me.RecordsetClone.FindFirst "id_Savoir =" & val
     
    End Sub
     
     
    Private Sub Commande59_Click()
     
    Dim val As Long
     
    val = Me.id_Savoir
    End Sub
    Edit : En source du sous-Formulaire je n'ai que "Savoir" (pas de requête SQL)

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Non,

    Dans les propriétés du sous-formulaire, la partie Données - Sources, soit c'est une requête SQL, soit une table.
    Donc il serait intéressant de voir quels sont les champs.

    Cordialement,

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    Ah oups !

    Dans la source du sous-formulaire savoir je n'ai qu'une référence à la table savoir. Cette table à pour identifiant : id_Savoir . Elle à pour colonne : Savoir, Savoir niveau Agent, Savoir niveau Poste, Savoir faire, Savoir faire niveau agent, Savoir faire niveau poste, Savoir être, matricule ( ici le même matricule peut apparaitre plusieurs fois car pour un agent il peut y avoir plusieurs savoir) puis une année de saisie ( qui se rempli par défaut selon l'anné saisie dans le statut ( un autre sous formulaire)).

    J'espère que ces informations te serons utile, et encore un grand merci pour ton aide

  10. #10
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    ReRe-,
    Est-ce que tu peux mettre à disposition ta base sans les données confidentielles (et en mdb et zippée) stp parce qu'il n'est pas évident de suivre ce que tu racontes.

    Cordialement,

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    J'avais pensé à joindre la bdd, mais je ne savais pas si j'en avais le droit (j'ai peur de la !). Mais une bdd vaut mieux que 1000 paroles ! Donc voici la bdd, j'ai pris soin de retirer les contenu top secret (). Alors tout d'abord il faut savoir que je n'ai pas fais le vide (dans les requetes ...), donc c'est un peu le "bordel" ! Pour les formulaires, il faut ouvrir le formulaire "Agent1" ( C'est ici que tout ce passe ).

    Voili voilou ! Si tu as une quelconque question n'hésite pas ! Et encore encore merci pour tout le temps que tu m'accorde !
    Fichiers attachés Fichiers attachés

  12. #12
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Diagnostic : Je ne comprends toujours pas ce que tu comptes faire donc je suppose.

    1- Déjà il faut mettre dans un variable globale (comme je l'ai dit) l'IdSavoirSuivant qui va te servir de repère.

    2- Avec la commande Docmd.RunCmd acCmdRecordsGoToNext, tu peux atteindre l'enregistrement suivant
    3- Tu récupères l'IdSavoir correspondant et l'attribues à IdSavoirsuivant.

    4- Tu fait ton mic-mac (ajout, validation et ...)

    5- Tu recherches l'enregistrement avec l'IdSavoirSuivant du point avec le code que j'ai mis dans mon premier message. Pas besoin d'enlever le filtre.

    J'espère que c'est bon.

    @+

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Il y a un problème, je vais essayer de détailler tout ce que j'ai fais :

    j'ai un bouton où j'appuie dessus pour enregistrer la position de l'Idsavoir +1 code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Commande59_Click()
     
    Dim idSavoirSuivant As Long
     
    DoCmd.RunCommand acCmdRecordsGoToNext
     
    idSavoirSuivant = Me.id_Savoir
     
    End Sub
    Puis j'ai un bouton ajouter qui ajoute le nouvelle enregistrement.
    Puis j'ai un bouton enregistrer l'ajout qui va se positionner sur l'enregistrement de idSavoirSuivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Sub Commande52_Click()
     
    DoCmd.RunCommand acCmdSaveRecord
     
    With Me
            If Not IsNull(idSavoirSuivant) Then
                .RecordsetClone.FindFirst "id_Savoir=" & idSavoirSuivant
                .Bookmark = .RecordsetClone.Bookmark
            End If
    End With
     
    End Sub
    Le problème est avec ta méthode que dès que j'appuie sur le premier bouton pour sauvegarder la position de l'enregistrement suivant on est directement sur l'enregistrement suivant alors que je n'ai pas encore fais l'ajout. Devrais je rajouter une ligne pour revenir a l'enregistrement précédent après avoir enregistrer la position de l'enregistrement suivant ? (c'est pas un peu trop du bricolage ?)

    Encore merci pour ton soutien !

    Edit : j'ai rajouté cette ligne au bouton qui enregistre la position :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Commande59_Click()
    
    Dim idSavoirSuivant As Long
    
    DoCmd.RunCommand acCmdRecordsGoToNext
    
    idSavoirSuivant = Me.id_Savoir
    
    Me.Recordset.MovePrevious
    End Sub
    Tout va bien jusqu'à que j'appuie sur enregistrer l'ajout, et la il ne revient pas a la position de idSavoirSuivant. Je suis définitivement perdu..

  14. #14
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Je te disais que je n'ai pas compris le fond du shmil-blic, mais techniquement je peux proposer quelque chose

    Plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Commande59_Click()
     
    Dim idSavoirSuivant As Long
    DoCmd.RunCommand acCmdRecordsGoToNext
     
    idSavoirSuivant = Me.id_Savoir
    DoCmd.RunCommand acCmdRecordsGoToPrevious
     
    End Sub
    @+

  15. #15
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    Ah ! Merci pour ta réponse mais du côté de ce bouton tout va bien, c'est plutôt du coté du bouton enregistrer l'ajout avec comme code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Sub Commande52_Click()
     
    DoCmd.RunCommand acCmdSaveRecord
     
    With Me
            If Not IsNull(idSavoirSuivant) Then
                .RecordsetClone.FindFirst "id_Savoir=" & idSavoirSuivant
                .Bookmark = .RecordsetClone.Bookmark
            End If
    End With
     
    End Sub
    Qui ne vas pas à l'enregistrement idSavoirSuivant.

  16. #16
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Là, j'abandonne, parce que je viens de revérifier et on obtient bien le résultat recherché.

    Suis à la trace les valeurs de idSavoirSuivant avec un Debug.print dans les 2 modules pour voir.

    Pour moi, c'est bon.

    Bonne continuation

  17. #17
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    Ok, je vais faire ça.

    Eh bien merci quand même pour tout le travail que tu as fais ! Et désolé pour la perte de temps

    Passe une bonne journée

    Edit : En faisant un Debug.Print idSavoirSuivant j'ai bien l'idSavoir de l'enregistrement suivant.. (je l'ai fais dans les bouton enregistrer l'ajout et le premier bouton pour sauvegarder l'idSavoirSuivant), je comprend plus rien, moi aussi j'abandonne !

  18. #18
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Je déterre le sujet car je viens de finir la totalité de mon projet, cependant, il me reste que cette petite fonctionnalité à faire. Je me suis donc re-penchée dessus et j'ai trouvé la grossière erreur que j'ai faite (dans l'option du bouton, sur l'évènement click il n'était plus en procédure événementielle mais en rien du tout !). Donc je le remet en procédure évènementielle et lorsque je fais un ajout j'ai cette erreur qui ce produit : Erreur d'éxecution 3077: Erreur de syntaxe (opérateur absent) dans l'expression. Je rappel que le code du bouton pour enregistrer l'ajout est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Sub Commande52_Click()
    
    DoCmd.RunCommand acCmdSaveRecord
    
    With Me
            If Not IsNull(idSavoirSuivant) Then
                .RecordsetClone.FindFirst "id_Savoir=" & idSavoirSuivant
                .Bookmark = .RecordsetClone.Bookmark
                Debug.Print idSavoirSuivant
            End If
            
    End With
    
    End Sub
    Pour remédier à ce problème j'ai donc convertir la valeur en String avec la fonction Str(). J'obtient donc ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Sub Commande52_Click()
     
    DoCmd.RunCommand acCmdSaveRecord
     
    With Me
            If Not IsNull(idSavoirSuivant) Then
                .RecordsetClone.FindFirst "id_Savoir=" & Str(idSavoirSuivant)
                .Bookmark = .RecordsetClone.Bookmark
                Debug.Print idSavoirSuivant
            End If
     
    End With
     
    End Sub
    Cependant, lorsque je fais l'ajout, on revient toujours aux premiers enregistrement même si avant faire l'ajout je me place dans le second.

    Je sais que le sujet date un peu, donc si vous avez besoin d'une quelconque informations n'hésitez pas

    Et un grand merci d'avance pour votre aide

  19. #19
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 547
    Points
    24 547
    Par défaut
    Bonjour,

    Tout d'abord pour qu'une variable soit accessible entre les différentes procédures et fonctions du formulaire il faut la déclarer dans le module et non dans une des procédures, juste après les lignes d'en-tête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Option Compare Database
    Option Explicit
     
    Dim idSuivant as long
    Ensuite le coup du str() est un mystère. Je pense que tu n'as pas consulter l'aide pour savoir à quoi elle servait.

    Au sujet du bookmark, il faut savoir qu'il est perdu après un requery. Il y a également l'utilisation du recordsetclone. Dans ton cas utilise simplement Recordset pour faire ton findfirst.

    avec c'est 3 points ça devrait déjà aller mieux.

    Cordialement,

  20. #20
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Je te remercie énormément pour ton aide ! Tout marche nickel

    Comme tu me l'as dis, j'ai retiré la fonction Str, j'ai mis la variable idSavoirSuivant en entête, j'ai utilisé Recordset et non RecordsetClone et enfin j'ai retiré le bookmark

    Encore un énorme merci à toi loufab

    Passe une bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/05/2011, 21h26
  2. pb enregistrement après ajout zone de texte
    Par sunwind dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 06/04/2008, 10h14
  3. Ajout enregistrement automatiquement
    Par egg3774 dans le forum Access
    Réponses: 1
    Dernier message: 05/04/2007, 21h10
  4. Réponses: 2
    Dernier message: 22/03/2007, 22h55
  5. Réponses: 9
    Dernier message: 14/10/2005, 13h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo