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 :

formulaire interrogation table


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2010
    Messages : 15
    Points : 5
    Points
    5
    Par défaut formulaire interrogation table
    Bonjour je programme un formulaire qui va chercher les informations dans une table selon la sélection d'une liste déroulante, le hick c'est que je n'arrive pas à comprendre pourquoi mon formulaire affiche les données une fois sur deux environ, je m'explique : j'ouvre mon formulaire, je sélectionne la variable dans la liste déroulante ensuite tous mes controles (listbox, textbox) se remplissent parfaitement avec les bonnes données, je ferme le formulaire et je refais la même opération et le tout ne fonctionne plus. Aurais-je oublié un requery à quelque part?

    étant donné que mon code contient un trop grand nombre de lignes de codes (environ 10000) et qu'il se répète pas mal je vous envoie les lignes les plus importantes...

    Mon événement sur le changement du listbox de mon formulaire:

    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
    Dim codeEmplForm As String 
    Dim typeTempsSelectForm As String 
    Dim dateSemaineForm As Date 
     
    If Not IsNull(Me.lstEmpl) Or Not IsEmpty(Me.lstEmpl) Then 
    codeEmplForm = Me.lstEmpl 
    End If 
     
    If Not IsNull(Me.lstTypeTemps) Or Not IsEmpty(Me.lstTypeTemps) Then 
    typeTempsSelectForm = Me.lstTypeTemps 
    End If 
     
    If Not IsNull(Me.txtDate) Or Not IsEmpty(Me.txtDate) Then 
    dateSemaineForm = Me.txtDate 
    End If 
     
    Me.Requery 
    Me.Refresh 
     
    interrogation codeEmplForm, dateSemaineForm, typeTempsSelectForm


    Ma fonction pour aller chercher les informations :

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
     Public Function interrogation(codeEmpl As String, dateSemaine As Date, typeTempsSelect As String) 
     
     
    sqlAffichage = "SELECT JourRT.noSeqJRT, RepartTemps.codeUsager, RepartTemps.dateSem, RepartTemps.typeTemps, JourRT.noJour, DetailJRT.noAct, DetailJRT.noTache, DetailJRT.nbHrs, DetailJRT.nbDoc, DetailJRT.uniteMesure, DetailJRT.noCr, DetailJRT.codeAbs FROM RepartTemps INNER JOIN (JourRT INNER JOIN DetailJRT ON JourRT.noSeqJRT = DetailJRT.noSeqJRT) ON RepartTemps.noSeqRt = JourRT.noSeqRT WHERE RepartTemps.codeUsager='" & codeEmpl & "' AND RepartTemps.dateSem= #" & dateSemaine & "# AND RepartTemps.typeTemps = '" & typeTempsSelect & "'" 
     
    Set rsAffichage = CurrentDb.OpenRecordset(sqlAffichage) 
     
     
    Dim activite 
    ReDim activite(nombreElem) 
    Dim tache 
    ReDim tache(nombreElem) 
    Dim codeAbsence 
    ReDim codeAbsence(nombreElem) 
    Dim typeTemps 
    Dim noSeqJRT 
    ReDim noSeqJRT(nombreElem) 
    Dim semaineAff 
    ReDim semaineAff(nombreElem) 
    Dim journeeNo 
    ReDim journeeNo(nombreElem) 
    Dim nbHrsAff 
    ReDim nbHrsAff(nombreElem) 
    Dim nbDocAff 
    ReDim nbDocAff(nombreElem) 
    Dim i As Long 
    Dim z As Long 
    Do While Not rsAffichage.EOF 
    i = i + 1 
    activite(i) = rsAffichage("noAct") 
    tache(i) = rsAffichage("noTache") 
    codeAbsence(i) = rsAffichage("codeAbs") 
    typeTemps = rsAffichage("typeTemps") 
    noSeqJRT(i) = rsAffichage("noSeqJRT") 
    semaineAff(i) = rsAffichage("dateSem") 
    journeeNo(i) = rsAffichage("noJour") 
    nbHrsAff(i) = rsAffichage("nbHrs") 
    nbDocAff(i) = rsAffichage("nbDoc") 
    If semaineAff(i) = dateSemaine Then 
    bonneSem = True 
    End If 
    rsAffichage.MoveNext 
    Loop 
     
     
    Dim sqlAct1 As String 
    Dim rsAct1 As Recordset 
    Dim journeeNo1(8) 
    Dim nbHrs1(8) 
    Dim nbDoc1(8) 
    Dim tache1(8) 
    Dim codeAbs1(8) 
    Dim N1 As Long 
    Dim i1 As Long 
    sqlAct1 = "SELECT RepartTemps.dateSem, RepartTemps.typeTemps, JourRT.noJour, DetailJRT.noAct, DetailJRT.noTache, DetailJRT.nbHrs, DetailJRT.nbDoc, DetailJRT.codeAbs FROM RepartTemps INNER JOIN (JourRT INNER JOIN DetailJRT ON JourRT.noSeqJRT = DetailJRT.noSeqJRT) ON RepartTemps.noSeqRt = JourRT.noSeqRT WHERE DetailJRT.noAct = '" & activite(1) & "' AND RepartTemps.typeTemps = '" & typeTempsSelect & "'" 
    Set rsAct1 = CurrentDb.OpenRecordset(sqlAct1) 
    Do Until rsAct1.EOF 
    i1 = i1 + 1 
    journeeNo1(i1) = rsAct1("noJour") 
    nbHrs1(i1) = rsAct1("nbHrs") 
    nbDoc1(i1) = rsAct1("nbDoc") 
    tache1(i1) = rsAct1("noTache") 
    codeAbs1(i1) = rsAct1("codeAbs") 
    rsAct1.MoveNext 
    Loop 
    rsAct1.Close 
     
    For N1 = 1 To nombreElem 
    If IsNull(Form_FrmRepartTempsInterrogation.lstAct1) Then 
    Form_FrmRepartTempsInterrogation.lstAct1.Value = activite(1) 
    If Not IsNull(journeeNo1(N1)) Then 
    If journeeNo1(N1) = 1 Then 
    Form_FrmRepartTempsInterrogation.txtLun1.Value = nbHrs1(N1) 
    End If 
    If journeeNo1(N1) = 2 Then 
    Form_FrmRepartTempsInterrogation.txtMar1.Value = nbHrs1(N1) 
    End If 
    If journeeNo1(N1) = 3 Then 
    Form_FrmRepartTempsInterrogation.txtMer1.Value = nbHrs1(N1) 
    End If 
    If journeeNo1(N1) = 4 Then 
    Form_FrmRepartTempsInterrogation.txtJeu1.Value = nbHrs1(N1) 
    End If 
    If journeeNo1(N1) = 5 Then 
    Form_FrmRepartTempsInterrogation.txtVen1.Value = nbHrs1(N1) 
    End If 
    If journeeNo1(N1) = 6 Then 
    Form_FrmRepartTempsInterrogation.txtSam1.Value = nbHrs1(N1) 
    End If 
    If journeeNo1(N1) = 7 Then 
    Form_FrmRepartTempsInterrogation.txtDim1.Value = nbHrs1(N1) 
    End If 
    End If 
     
    If Not IsNull(tache1(N1)) Then 
    Form_FrmRepartTempsInterrogation.lstTache1.Value = tache(N1) 
    If journeeNo1(N1) = 1 Then 
    Form_FrmRepartTempsInterrogation.txtTacheLun1.Value = nbDoc1(N1) 
    End If 
    If journeeNo1(N1) = 2 Then 
    Form_FrmRepartTempsInterrogation.txtTacheMar1.Value = nbDoc1(N1) 
    End If 
    If journeeNo1(N1) = 3 Then 
    Form_FrmRepartTempsInterrogation.txtTacheMer1.Value = nbDoc1(N1) 
    End If 
    If journeeNo1(N1) = 4 Then 
    Form_FrmRepartTempsInterrogation.txtTacheJeu1.Value = nbDoc1(N1) 
    End If 
    If journeeNo1(N1) = 5 Then 
    Form_FrmRepartTempsInterrogation.txtTacheVen1.Value = nbDoc1(N1) 
    End If 
    If journeeNo1(N1) = 6 Then 
    Form_FrmRepartTempsInterrogation.txtTacheSam1.Value = nbDoc1(N1) 
    End If 
    If journeeNo1(N1) = 7 Then 
    Form_FrmRepartTempsInterrogation.txtTacheDim1.Value = nbDoc1(N1) 
    End If 
    End If 
     
    If activite(1) = "Absences" Then 
    Form_FrmRepartTempsInterrogation.lstAbs1.Value = codeAbs1(N1) 
    End If 
    End If 
    Next 
    End If 
     
    rsAct1.Close 
    rsAffichage.Close 
     
     
    End Function
    Merci encore!

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2010
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Ce dont je n'arrive pas à comprendre c'est que lorsque je fais le pas a pas détaillé, mes controles textbox et listbox par exemple semblent se remplir des bonnes valeurs mais ils ne s'affichent pas visuellement...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2010
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    tout aide serait apprécié!

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Cela ne parait pas très clair.
    Pourquoi n'utilises-tu pas un sous formulaire pour afficher les données liées à ta liste déroulante ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2010
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonjour, malheureusement je dois garder la forme de mon formulaire ainsi étant donné que ce serait beaucoup trop long de tout recommencer et que je dois avoir terminé cette base de données d'ici 4 semaines.

    Mais ce que je n'arrive pas à saisir est que lorsque je debug pas à pas mes données se remplissent mais c'est au niveau de l'affichage dans mon formulaire qu'ils ne s'affichent pas. Je ne sais pas si c'est pas une question de propriétés de mon formulaire que je dois adapter...

    Je voudrais bien poster tout mon code ici mais malheureusement j'Ai tenté de le faire et mon code est trop volumineux...

    Merci

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2010
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Si sa peu aider le problème se produit lorsque je ferme ce formulaire et que j'ouvre un autre formulaire, pour ensuite réouvrir ce formulaire

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2010
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonjour, problème réglé... erreur de frappe

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

Discussions similaires

  1. Enregistrement données formulaires vers tables
    Par guiguikawa dans le forum IHM
    Réponses: 6
    Dernier message: 14/06/2006, 11h08
  2. formulaire bloqué, table ouverte?
    Par lucie31 dans le forum Access
    Réponses: 1
    Dernier message: 31/05/2006, 10h29
  3. Réponses: 10
    Dernier message: 25/11/2005, 23h03
  4. [problème peu urgent] lien entre formulaire et table
    Par ghyosmik dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2005, 12h23
  5. Réponses: 11
    Dernier message: 09/12/2004, 15h03

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