Bonjour à tous,

J'ai un form frmstint avec une ref [stnN] depuis lequel je veux ouvrir un autre form frmsetup dans lequel j'ai un lien avec la table de stint [stnsetup]

Donc à l'ouverture du form je veux qu'il vérifie s'il existe deja un enregistrement dans la table setup avec la ref du stint.

Si ca existe alors il ouvre le form setup sur cet enregistrement, si ca n'existe pas il me crée un nouvel enregistrement dans la table setup avec [sntsetup]=[stnN]

Grace à l'aide déja recue ici je suis pas mal avancé mais bien sur je bloque sur la fin

Voila ce que j'ai

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
Dim db As dao.Database: Set db = CurrentDb
Dim rst As dao.Recordset: Set rst = db.OpenRecordset("tsetup", dbOpenDynaset)
Dim rqstnsetup As Long
    On Error Resume Next
    Call rst.FindFirst("[stnsetup] = " & Forms("frmstint").Controls("StnN°"))
    If rst.NoMatch Then
        Debug.Print "pas de setup"
   'Pas trouvé, ajoute l'enregistrement
        rst.AddNew
        rst![StnSetup] = Forms("frmstint").Controls("stnN°")
        rst.Update
        Debug.Print "setup crée"
    End If
    Debug.Print "setup existant"
    rqstnsetup = DLookup("stnsetup", "rqsetupstint")
    DoCmd.OpenForm "frmsetup"
    DoCmd.GoToRecord , , [StnSetup] = rqstnsetup
End Sub
Je vois que la détection d'enregistrement existant fonctionne parce que j'ai le setup existant dans le debug print, mais il ouvre le form à la première page de setup et pas à celle issue de la requete que je stocke dans la variable rqstnsetup.

Par contre si je pars sur un nouveau stint il me met bien dans le debug print setup crée, mais il n'y a rien de neuf dans le form setup (toujours au début et pas de nouveau setup crée) ALORS QUE L'ENREGISTREMENT EST DANS LA TABLE SETUP....

Je ne comprends pas ou je me trompe....(à part sur le docmd.gotorecord bien sur)

Merci de votre aide