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

VBA Access Discussion :

PB la référence d'une expression à la propriété Form/Report n'est pas valide


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Par défaut PB la référence d'une expression à la propriété Form/Report n'est pas valide
    Bonjour,
    Je suis actuellement entrain de faire un système qui me permet de créer des Lots seulement la au moment de créer mon lot une erreur est généré ainsi que quand je lance le Formulaire ou on voit les Lots:
    Nom : probl.PNG
Affichages : 188
Taille : 40,2 Ko
    Le code qui s'affiche quand je clique sur Débogage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Current()
    Forms!F_LotsAchat.SF_DetailAchat.Form.RecordSource = "select * from R_DetailsAchat where IdLotAchat=" & Nz(Me.IdLotAchat, 0)
    End Sub
    Code du bouton générant l'erreur quand je clique dessus une fois les enregistrements coché :
    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
    Private Sub Achat_Click()
     
    'creer lot
    On Error GoTo err_CreerLot_Clic
        Dim dbs As DAO.Database, strSql As String, rst As DAO.Recordset
        Dim IdLotAchat As Long
     
        IdLotAchat = Nz(DMax("IdLotAchat", "T_LotsAchat"), 0) + 1
     
        Set dbs = CurrentDb ' référence à la base courante
     
        Set rst = dbs.OpenRecordset("T_LotsAchat")
     
        rst.AddNew
        rst!IdLotAchat = IdLotAchat
        rst!NumeroLot = "N° " & IdLotAchat
        rst.Update
     
        ' on met à jour les colonnes idLot et choix
        strSql = "update ProdJour set IdLotAchat= " & IdLotAchat & _
                 " where Choix and IsNull (IdLotAchat);"
     
     
     
        dbs.Execute strSql, dbFailOnError ' mise à jour de la colonne IdLot dans la table T_DetailCommandes pour les commandes choisies
     
     
     
     
     
     
     
     
        Me.Refresh ' rafraîchit le formulaire et donc les sous-formulaires
        DoCmd.Close acForm, "F_LotsAchat"
        DoCmd.OpenForm "F_LotsAchat" ' ouvre le formulaire de planning à la suite
     
    exit_CreerLot_Clic:
        rst.Close
        Set rst = Nothing
        Set dbs = Nothing ' on libère la variable objet
        Exit Sub
     
    err_CreerLot_Clic:
        MsgBox Err.Description, vbExclamation ' affiche le message d'erreur
        Resume exit_CreerLot_Clic ' retour à la zone de code pour sortir proprement
     
     
     
    End Sub

    Le formulaire fonctionne une fois ignoré l'erreur mais cela n'est pas pratique qu'une erreur apparaisse à chaque fois

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 596
    Billets dans le blog
    67
    Par défaut
    Salut,

    La connexion ne semble pas encore établie entre le contrôle et son sous-formulaire SF_DetailAchat, au moment ou l'événement sur activation (on current) du sous-formulaire SF_PlanningLots se déclenche la 1re fois.

    Pour être sûr que la connexion est établie , il faudrait mettre cette commande sur l'événement ouverture du sous-formulaire contenant le code sur activation (Private Sub Form_Current()...end sub) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Open(Cancel As Integer)
        Forms!F_LotsAchat.SF_DetailAchat.SourceObject = "SF_DetailAchat" ' établie la connexion entre le contrôle et sons sous-formulaire SF_DetailAchat
    End Sub
    L'événement sur ouverture se déclenche avant l'événement sur activation (on current en anglais) :

    Tout ceci pour éviter d'utiliser un on error resume next avant la commande qui déclenche l'erreur.

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Par défaut
    Re, Salut

    En effet votre code est fonctionnel merci beaucoup je n'ai plus aucune erreur
    Cordialement

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

Discussions similaires

  1. Évaluation d'une expression numérique sous forme de chaîne de caractères
    Par InitSreen dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 29/11/2020, 08h43
  2. Test d'une expression régulière simple mais qui ne marche pas
    Par bernidupont dans le forum Général VBA
    Réponses: 6
    Dernier message: 07/05/2015, 11h38
  3. [AC-2007] Erreur d'une expression à la propriété RowSource non valide
    Par rch05 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 04/03/2011, 09h06
  4. Référence d'une expression visible non valide
    Par kapotocho dans le forum Modélisation
    Réponses: 3
    Dernier message: 16/05/2008, 09h36
  5. Réponses: 2
    Dernier message: 20/12/2006, 08h26

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