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 :

Record.opensource - changer à la volée le open source d'un état [AC-2010]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Par défaut Record.opensource - changer à la volée le open source d'un état
    Bonjour

    J'essai de créer un état sans source ou par VBA je lui l'assigne directement sa source.
    Mais je n'y arrive pas !!
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub Commande0_Click()
    DoCmd.OpenReport "XXXF563", acViewDesign
    Me.RecordSource = " SELECT [T-BASE].* " _
                                    & " FROM [T-BASE] " _
                                    & " WHERE ((([T-BASE].M_meldungs_nr)=[forms]![XXX F563]![test])); "
    Me.Recalc
    Me.Refresh
    Me.Repaint
     
     
    DoCmd.OpenReport "XXXF563", acViewPreview
    End Sub
    Le SQL est reprit directement d'une requête qui fonctionne.
    Mais là, cela à l'air de fonctionner, mais je n'ai pas de données, comme si l'open source ne se mettait pas.
    Je n'arrive pas à trouver de solutions.
    Merci pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Pourquoi ouvrir l'état en mode création?

  3. #3
    Expert confirmé
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Billets dans le blog
    2
    Par défaut
    phoon,

    tu dois passer ta requête sur la propriété ouverture de ton etat !

    Comme le dis GAYOT, rien ne sert de l'ouvrir en création puis le réouvrir en mode aperçu (le contenu de la requête sera effacé lors de la ré-ouverture : etat non fermé entre temps d'ailleurs)

    Dans ton cas le me.recordsouce modifie le recordsource du formulaire et pas de ton état : tu peux essayer repaint, refresh, recalc voire requery cela ne sert à rien.

    JimBoLion

  4. #4
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonjour,

    Tu peux passer le SQL de la source de l'état dans l'argument OpenArgs.
    C'est la manière la plus simple qui me vient à l'esprit.

    Syntaxe de OpenReport:
    OpenReport(ReportName, [View As AcView = acViewNormal], [FilterName], [WhereCondition], [WindowMode As AcWindowMode = acWindowNormal], [OpenArgs])
    Dans ton état, tu gères l'événement «Sur ouverture» avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Report_Open(Cancel As Integer)
    Dim sArgs As String
    sArgs = Nz(Me.OpenArgs, "")
    If Len(sArgs) > 0 Then
       Me.RecordSource = sArgs
    End If
    End Sub
    Le code de ton bouton devient alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Commande0_Click()
    Dim sSql As String
     
    sSql = " SELECT [T-BASE].* " _
         & " FROM [T-BASE] " _
         & " WHERE ((([T-BASE].M_meldungs_nr)=[forms]![XXX F563]![test])); "
     
    DoCmd.OpenReport "XXXF563", acViewPreview,,,, sSql
     
    End Sub
    A+

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Par défaut Résolu
    Merci à tous pour les réponses.

    Tout est si simple quand on réfléchit un peu

    Philippe

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/02/2014, 09h08
  2. Réponses: 0
    Dernier message: 05/12/2013, 08h51
  3. Script open source pour échanger des fichiers ?!
    Par saimonesays dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 08/09/2011, 19h15
  4. Pour ou contre l'Open source ?
    Par Thcan dans le forum Débats sur le développement - Le Best Of
    Réponses: 317
    Dernier message: 01/05/2008, 15h06
  5. [Kylix] Kylix - total open source?
    Par LaGuimb dans le forum EDI
    Réponses: 5
    Dernier message: 25/12/2003, 14h51

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