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 - Etat] Etat basé sur Formulaire ou Transcription VB -> SQL


Sujet :

IHM

  1. #1
    Membre habitué Avatar de ancel17
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Mars 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Mars 2007
    Messages : 312
    Points : 178
    Points
    178
    Par défaut [Formulaire - Etat] Etat basé sur Formulaire ou Transcription VB -> SQL
    Bonsoir,

    je voudrais savoir si il est possible de créer un Etat basé sur un Formulaire, le but étant de faire apparaître des valeurs contenues dans des contrôles indépendants du formulaire.

    J'aurais bien calculé ces valeurs via une requête mais je ne sais pas comment transcrire ce code en sql (les controles indépendants auquels je fais allusion sont les différents [nb cont papiers x]) :

    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
     
    Dim volume As Double
     
                 [nb cont papiers 80].Value = 0
    	[nb cont papiers 120].Value = 0
    	[nb cont papiers 180].Value = 0
    	[nb cont papiers 240].Value = 0
    	[nb cont papiers 340].Value = 0
     
    If [volume papiers].Value <> 0 And [freq1].Value <> 0 Then
                 If [volume papiers].Value / [freq1].Value / 52 <= 80 Then
    	              [nb cont papiers 80].value = 1
                 Elseif [volume papiers].Value / [freq1].Value / 52 >= 81 And [volume papiers].Value / [freq1].Value / 52 <= 120 Then
    	              [nb cont papiers 120].Value = 1
                 ElseIf [volume papiers].Value / [freq1].Value / 52 >= 121 And [volume papiers].Value / [freq1].Value / 52 <= 180 Then
    	              [nb cont papiers 180].Value = 1
                 ElseIf [volume papiers].Value / [freq1].Value / 52 >= 181 And [volume papiers].Value / [freq1].Value / 52 <= 240 Then
    	              [nb cont papiers 240].Value = 1
                 ElseIf [volume papiers].Value / [freq1].Value / 52 >= 241 And [volume papiers].Value / [freq1].Value / 52 <= 340 Then
    	              [nb cont papiers 340].Value = 1
                 Else
    	              [nb cont papiers 340].Value = Int([volume papiers].value / freq1 / 52 / 340)
    	              volume = [volume papiers].Value / freq1 / 52 - 340 * [nb cont papiers 340].Value
    	              If volume <= 80 Then
    		             [nb cont papiers 80].value = 1
    	              Elseif volume >= 81 And volume <= 120 Then
    		             [nb cont papiers 120].Value = 1
    	              ElseIf volume >= 121 And volume <= 180 Then
    		             [nb cont papiers 180].Value = 1
    	              ElseIf volume >= 181 And volume <= 240 Then
    		             [nb cont papiers 240].Value = 1
    	              Else 
    		             [nb cont papiers 340].Value = [nb cont papiers 340].Value + 1
    	              End If
    End If
    J'attends vos conseils
    Sigue soñando

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    ce qui remplace if .. then dans les requetes c'est la fonction:
    VraiFaux(<condition>;<cas vrai>;<cas faux>)
    je pense que tu s'auras te dévrouiller avec ca.

  3. #3
    Membre habitué Avatar de ancel17
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Mars 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Mars 2007
    Messages : 312
    Points : 178
    Points
    178
    Par défaut
    OK, merci pour le tuyau !

    Mais comme je cherchais une solution de mon coté, je viens seulement de voir ton message...
    Comme je te le disais, j'ai cherché de mon coté, et voici ce que j'ai bidouillé avec mes petits moyens !

    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
     
    Dim rst As Recordset
     
    Set rst = CurrentDb.OpenRecordset("T_synthèse")
     
    If IsNull(DLookup("n°siret", "T_synthèse", "n°siret=""" & Me.n°SIRET & """")) Then
          rst.AddNew
          rst.Fields(0) = Me.n°SIRET
          rst.Fields(1) = Me.nom_entr
          rst.Fields(2) = Me.annee
          rst.Fields(3) = Me.Nb_cont_papiers_80
          rst.Fields(4) = Me.Nb_cont_Papiers_120
          rst.Fields(5) = Me.nb_cont_papiers_180
          rst.Fields(6) = Me.Nb_cont_Papiers_240
          rst.Fields(7) = Me.Nb_cont_Papiers_340
    Else   
          If IsNull(DLookup("annee", "T_synthèse", "annee=" & Me.annee)) Then
                rst.AddNew
                rst.Fields(0) = Me.n°SIRET
                rst.Fields(1) = Me.nom_entr
                rst.Fields(2) = Me.annee
                rst.Fields(3) = Me.Nb_cont_papiers_80
                rst.Fields(4) = Me.Nb_cont_Papiers_120
                rst.Fields(5) = Me.nb_cont_papiers_180
                rst.Fields(6) = Me.Nb_cont_Papiers_240
                rst.Fields(7) = Me.Nb_cont_Papiers_340
          Else
                rst.Delete
                rst.AddNew
                rst.Fields(0) = Me.n°SIRET
                rst.Fields(1) = Me.nom_entr
                rst.Fields(2) = Me.annee
                rst.Fields(3) = Me.Nb_cont_papiers_80
                rst.Fields(4) = Me.Nb_cont_Papiers_120
                rst.Fields(5) = Me.nb_cont_papiers_180
                rst.Fields(6) = Me.Nb_cont_Papiers_240
                rst.Fields(7) = Me.Nb_cont_Papiers_340
          End If
    End If
     
    rst.Update
    rst.Close
    Set rst = Nothing
    Et ça à l'air de fonctionner !
    Sigue soñando

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

Discussions similaires

  1. Formulaire multi-upload basé sur le tutoriel d'Antoine Herault - Demande d'explication & d'aide
    Par juliemanarah dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 24/05/2013, 18h10
  2. Réponses: 14
    Dernier message: 09/09/2008, 14h35
  3. Réponses: 4
    Dernier message: 25/11/2007, 10h13
  4. Formulaire & sous form basé sur trois tables liées
    Par adapter dans le forum Modélisation
    Réponses: 3
    Dernier message: 30/06/2007, 22h43

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