![]() |
Rapports conditionnels |
|
Opérateurs logiques |
|
Introduction |
|
Un des buts de la programmation d'ordinateur indique à l'ordinateur quoi faire quand quelque chose se produit, et comment à la faire. Ceci est exécuté en plaçant des conditions, en les examinant et en énonçant quelles décisions l'ordinateur devrait prendre. Pour exécuter les conditions nécessaires, vous avez deux options principales : Microsoft Access ou de base visuel de Microsoft. Le Microsoft Access est équipé d'une série de fonctions d'andm d'opérateurs destinées pour effectuer de diverses opérations. Pour employer une condition dans le Microsoft Access, si vous connaissez la structure du rapport conditionnel, vous pouvez l'écrire après la dactylographie d'un opérateur de tâche. Puisque la plupart des conditions dans le Microsoft Access sont sous forme de fonctions, nous les étudierons plus tard. Pour maintenant, nous apprendrons comment écrire des conditions dans la langue de base visuelle de Microsoft. |
|
De base visuel de Microsoft vient avec beaucoup de rapports conditionnels pour presque n'importe quelle situation que votre ordinateur peut rencontrer. Comme créateur d'application, il l'appartient toi pour prévoir ces situations et pour faire votre acte de programme en conséquence. Une comparaison est effectuée entre deux valeurs du même type. Par exemple, vous pouvez comparer deux nombres, deux caractères, ou les noms de deux villes. D'une part, une comparaison entre deux valeurs disparates ne soutient aucune signification. Par exemple, il est difficile de comparer un numéro de téléphone et quelqu'un nom de grand-mère, ou une catégorie de musique et la distance entre deux points. Comme les opérations arithmétiques, les opérations de comparaison sont effectuées sur deux valeurs. À la différence des opérations arithmétiques où des résultats sont changés, une comparaison produit seulement un de deux résultats. Le résultat peut être un vrai logique ou faux. Pour effectuer les comparaisons nécessaires, le Microsoft Access et l'utilisation de base visuelle par série d'opérateurs logiques et de constantes. Pour comparer deux variables pour l'égalité, employer = opérateur. Sa formule est : valeur1 = valeur2 L'opération d'égalité est employée pour découvrir si deux variables (ou une variable et une constante) tiennent la même valeur. De notre formule, la valeur de la valeur 1 serait comparée à la valeur de la valeur 2. Si la valeur 1 et la valeur 2 tiennent la même valeur, la comparaison produit un résultat vrai. Si elles sont différentes, la comparaison rend faux ou 0. Après avoir effectué la comparaison et avoir découvert son résultat, vous pouvez porter une tâche. Ceci peut être illustré comme suit :
Quand une variable est déclarée et reçoit une valeur (ceci pourrait être fait par l'initialisation ou un changement de valeur) dans un programme, elle devient vivante. Quand une variable n'est pas employée ou n'est pas disponible pour traiter (dans la programmation visuelle, on le considérerait en tant qu'handicapé) pour faire (temporairement) un inutilisable variable, vous pouvez annuler sa valeur. Pour rendre une variable indisponible pendant l'évolution d'un programme, appliquer pas l'opérateur logique. Sa formule est : Not Value Il y a deux manières principales que vous pouvez employer pas l'opérateur logique. Car nous apprendrons quand étudiant les rapports conditionnels, la manière la plus classique d'employer le logique pas l'opérateur doit vérifier l'état d'une variable. Quand une variable tient une valeur, elle est « vivante ». Pour la rendre non disponible, vous pouvez « pas » il. Quand une variable a été « notted », sa valeur logique a changé. Si la valeur logique était vraie, elle serait changée en faux. Par conséquent, vous pouvez inverse la valeur logique d'une variable par « notting » ou « pas notting » le. Par opposition à l'égalité, de base visuel de Microsoft fournit un opérateur utilisé pour comparer deux valeurs pour l'inégalité, qui est <>. Sa formule est : Value1 <> Value2 le <> est un opérateur binaire (comme tous les opérateurs logiques excepté le logique pas, qui est un opérateur unaire) qui est habitué pour comparer deux valeurs. Les valeurs peuvent venir de deux variables comme dans Variable1 le <> Variable2. Lors de comparer les valeurs, si les deux variables tiennent différentes valeurs, la comparaison produit une valeur vraie. Autrement, la comparaison rend faux ou une valeur nulle. Ceci peut être illustré comme suit :
L'inégalité est évidemment l'opposé de l'égalité. Pour découvrir si une valeur est inférieure à des autres, employer < operator=""> Value1 < Value2 La valeur tenue par Value1 est comparée à celle de la valeur 2. Car elle serait faite avec d'autres opérations, la comparaison peut être faite entre deux variables, comme dans Variable1 < Variable2="">vrai. Ceci peut être illustré avec ce qui suit :
Les deux opérations précédentes peuvent être combinées pour comparer deux valeurs. Ceci te permet de savoir si deux valeurs sont identiques ou si le premier est moins que la seconde. L'opérateur utilisé est <= et sa formule est : Value1 <= Value2 L'opération de <= effectue une comparaison en tant que bout l'un des deux. Si la valeur 1 et la valeur 2 tiennent la même valeur, le résultat est vrai. Si l'opérande gauche, dans ce cas-ci valeur 1, prises une valeur inférieure au deuxième opérande, dans ce cas-ci valeur 2, le résultat est encore vrai. Ceci peut être illustré comme suit:
Le résultat de cette comparaison est faux seulement si la valeur de l'opérande gauche est strictement plus haute que celle du bon opérande. Quand deux valeurs du même type sont distinctes, l'une d'entre elles est habituellement plus haute que l'autre. De base visuel de Microsoft fournit un opérateur logique qui te permet de découvrir si une de deux valeurs est l'autre plus grand que. L'opérateur utilisé pour cette opération est > symbole. Sa formule est : Value1 > Value2 Les deux opérandes, dans ce cas-ci valeur 1 et valeur 2, peuvent être des variables ou l'opérande gauche peut être une variable tandis que le bon opérande est une constante. Si la valeur du côté gauche de > opérateur est plus grande que la valeur sur le bon côté ou une constante, la comparaison produit une valeur vraie. Autrement, la comparaison rend faux ou nul. Ceci illustré comme suit :
> et le <= sont vis-à-vis des opérateurs. Les opérateurs plus grands qu'ou d'égalité peuvent être combinés pour produire un opérateur comme suit : >=. C'est « supérieur ou égal à » opérateur. Sa formule est : Value1 >= Value2 Une comparaison est effectuée sur les deux opérandes : Valeur 1 et valeur 2. Si la valeur de la valeur 1 et ce de la valeur 2 sont identique, la comparaison produit une valeur vraie. Si la valeur de l'opérande gauche est plus grande que que du bon opérande, la comparaison produise toujours vrai. Si la valeur de l'opérande gauche est strictement moins que la valeur du bon opérande, la comparaison produit un résultat faux :
Voici un tableau synoptique des opérateurs logiques que nous avons étudiés :
Les opérateurs de comparaison que nous avons passés en revue ci-dessus sont habitués pour connaître l'état de deux valeurs mais ils ne fournissent pas un mécanisme à l'exploit là résultent. Après avoir obtenu le résultat d'une comparaison, pour l'employer efficacement, vous pouvez formuler un rapport de condition. Appui de base visuel de Microsoft Access et de Microsoft ceci par de divers mots-clés et fonctions. Si… alors le rapport examine l'exactitude d'une expression. Structurellement, sa formule est : If Condition Then Statement Le programme examinera la condition. Cette condition peut être une expression simple ou une combinaison des expressions. Si la condition est vraie, alors le programme exécutera le rapport. Ceci peut être illustré comme suit : ![]() Il y a deux manières que vous pouvez employer si… puis rapport. Si l'expression conditionnelle est assez courte, vous pouvez l'écrire sur une ligne en utilisant la formule suivante : If Condition Then Statement Dans l'exemple suivant, si la boîte des textes appelait le txtGender d'un mâle d'affichages de forme, la couleur de fond de la section de détail serait colorée dans bleu-clair : Private Sub Form_Current()
If txtGender = "Male" Then Detail.BackColor = 16772055
End Sub
S'il y a beaucoup de rapports à exécuter comme résultat véridique de la condition, vous devriez écrire les rapports sur les lignes suivantes. Naturellement, vous pouvez employer cette technique même si la condition que vous examinez est courte. Si alors vous employez le rapport sur une ligne différente, vous devez terminer le rapport conditionnel avec l'extrémité si expression. Le formual utilisé est : If Condition Then Statement End If L'exemple ci-dessus peut être récrit comme suit : Private Sub Form_Current()
If txtGender = "Male" Then
Detail.BackColor = 16772055
End If
End Sub
Si la condition doit couvrir beaucoup de lignes de code, la syntaxe à appliquer est : If Condition Then Statement1 Statement2 Statement_n End If Voici un exemple : Private Sub Form_Current()
If Gender = "Male" Then
Detail.BackColor = 16772055
FormHeader.BackColor = 16752478
FormFooter.BackColor = 14511872
End If
End Sub
Le Microsoft Access n'emploie pas des rapports de conditionals comme les langages de programmation traditionnels. Il se fonde sur des fonctions condition-orientées spéciales pour effectuer les mêmes opérations. Une de ces fonctions s'appelle Nz. La fonction de Nz () est employée pour vérifier la valeur d'une expression ou d'une commande. Sa syntaxe est : Nz(Value, [ValueIfNull]) Les contrôles de fonctionnement la valeur (du premier) argument. Si la valeur est nulle, la fonction renvoie 0 ou une corde vide. Le deuxième argument est facultatif. Vous pouvez le fournir comme alternative à 0 au cas où l'argument de valeur serait nul. Ce les moyens, celui, quand le premier argument est nul, au lieu de renvoyer 0 ou une corde vide, la fonction de Nz () reviendraient à la valeur du deuxième argument.
Les contrôles de fonctionnement d'IsEmpty (), qu'une variable existante ait été initialisée ou pas. La syntaxe de cette fonction est IsEmpty(Expression) Contrôles ce de fonctionnement l'argument d'expression. Si l'argument d'expression tient une valeur, alors la fonction d'IsEmpty () renvoie la valeur fausse. Si l'argument d'expression ne tient pas une valeur, par exemple s'il (encore) n'a pas été initialisé, alors le retour de fonction d'IsEmpty () vrai.
IsNull () est une fonction booléenne qui vérifie si une expression ne tient aucune valeur reconnaissable. Sa syntaxe est : IsNull(expression) Une fois appelée, cette fonction évalue la valeur de l'argument d'expression. Si l'argument tient une valeur nulle, alors la fonction d'IsNull () renvoie vrai. Si l'expression peut produire une valeur reconnaissable, alors la fonction renvoie faux.
Pour vérifier si une expression peut produire une valeur numérique, vous pouvez appeler la fonction booléenne d'IsNumeric() dont la syntaxe est : IsNumeric(expression) Cette fonction est employée pour évaluer l'argument d'expression. Si l'argument peut produire une valeur numérique reconnaissable, la fonction d'IsNumeric () produit une valeur vraie. Si une évaluation de l'expression produit une valeur qui n'est pas clairement un nombre, alors la fonction renvoie faux.
Si… alors le rapport offre seulement une alternative : pour agir si la condition est vraie. Toutes les fois que vous voudriez appliquer une expression alternative au cas où la condition serait fausse, employer si… puis… autrement rapport. La formule de ce rapport est: If ConditionIsTrue Then Statement1 Else Statement2 End If La condition, dans ce ConditionIsTrue, serait examinée. Si elle produit un résultat vrai, alors le premier rapport, dans ce cas-ci Statement1, serait exécuté. Si la condition (ConditionIsTrue) est fausse, le deuxième rapport, dans ce cas-ci Statement2, serait exécuté. Voici un exemple : Private Sub Form_Current()
If Gender = "Male" Then
Detail.BackColor = 16772055
Else
Detail.BackColor = 13034239
End If
End Sub
Si les expressions l'unes des a besoin de plus d'une ligne de code pour avoir une exécution complète, vous pouvez l'inclure dans la section nécessaire avant l'extrémité de la section. Voici un exemple : Private Sub Form_Current()
If Gender = "Male" Then
Detail.BackColor = 16772055
FormHeader.BackColor = 16752478
FormFooter.BackColor = 14511872
Else
Detail.BackColor = 13034239
FormHeader.BackColor = 7452927
FormFooter.BackColor = 29670
End If
End Sub
Puisque le Microsoft Access ne soutient pas des rapports conditionnels tels que si… puis… autrement la combinaison, sa se fonde sur une fonction telle qu'IIf () mais, naturellement, cette fonction peut être employée dans n'importe quelle base de données ou expression de base visuelle de Microsoft. La syntaxe de la fonction d'IIf () est : IIf(Condition, WhatToDoIfTrue, WhatToDoIfFalse) Une fois appelée, cette fonction commence par vérifier la condition. Par conséquent, s'assurer toujours que vous fournissez une condition qui peut produire un vrai ou un résultat faux. Si la condition évalue pour rectifier, l'expression dans le deuxième argument est appliquée. Si la condition produit faux, l'expression du dernier argument s'applique.
Si… alors… le rapport d'ElseIf agit comme si… puis… autrement, sauf qu'il offre autant de choix selon les besoins. La formule est : If Condition1 Then Statement1 ElseIf Condition2 Then Statement2 ElseIf Condition_n Then Statement_n End If Le programme examinera d'abord la première condition, dans ce cas-ci Condition1. Si le Condition1 est vrai, alors le programme exécuterait le premier rapport, dans ce cas-ci Statment1, et des états examinants d'arrêt. Mais si le Condition1 est faux, alors le programme examinerait Condition2 et agirait en conséquence. Toutes les fois qu'une condition est fausse, le programme continuerait d'examiner les conditions jusqu'à ce qu'il trouve un qui est vrai. Une fois qu'un état vrai a été trouvé et son rapport a été exécuté, le programme terminerait l'examen conditionnel à l'extrémité si. La syntaxe ci-dessus présuppose cela au bail un des conditions produirait un résultat vrai. Parfois, indépendamment combien de conditions vous employez, il est possible qu'aucune de elles ne produirait un résultat vrai. Par conséquent, en prévision d'une telle occurrence, vous devriez fournir un rapport alternatif qui embrasserait n'importe quelle condition qui ne s'adapte pas dans les résultats vrais possibles. Ceci est fait par la combinaison si… puis… autrement et si… puis… des rapports d'ElseIf. La syntaxe résultante à employer est : If Condition1 Then Statement1 ElseIf Condition2 Then Statement2 ElseIf Condition3 Then Statement3 Else Statement_False End If Dans ce cas-ci, si ni l'un ni l'autre du si et des états d'ElseIfs étaient validés, puis du dernier rapport, dans ce cas-ci Statement_False, s'exécuterait.
Si vous avez un grand nombre de conditions à examiner, si… alors… autrement passera par chacune de elles, qui pourraient prendre longtemps (bien qu'habituellement transparent à l'utilisateur). Offres de base visuelles de Microsoft une alternative de sauter au rapport qui s'applique à l'état de la condition. Ceci est exécuté par le rapport choisi de cas. La syntaxe du rapport choisi de cas est : Select Case Expression Case Expression1 Statement1 Case Expression2 Statement2 Case Expression_n Statement_n End Select L'expression lui est évaluée une fois pour obtenir un résultat général. Alors le résultat de du facteur d'expression est comparé à l'ExpressionX de chaque cas. Une fois qu'il trouve un que les matchs, il exécuteraient le StatementX correspondant. Voici un exemple : Private Sub cboMembership_AfterUpdate()
Dim strMembership As String
strMembership = [cboMembership]
Select Case strMembership
Case "Teen"
txtPrice = "$25"
Case "Adult"
txtPrice = "$50"
Case "Senior"
txtPrice = "$35"
End Select
End Sub
Si vous prévoyez qu'il ne pourrait y avoir aucun match entre l'expression et celle de l'Expressionn, vous pouvez employer un rapport d'autre de cas à la fin de la liste. Le rapport ressemblerait alors à ceci : Select Case Expression Case Expression1 Statement1 Case Expression2 Statement2 Case Expression3 Statement3 Case Else Statement_n End Select
De nouveau, puisque le Microsoft Access ne fournit pas en soi un environnement de programmation, elle se fonde sur des fonctions logiques pour prendre soin de cet aspect. La fonction de choix () est l'une de ceux qui peuvent examiner une condition et fournir des solutions de rechange. La fonction de choix () fonctionne comme des conditions nichées. Elle détermine une condition et fournit différents résultats selon le résultat de l'essai. Sa syntaxe est : Choose(Condition, Outcome1, Outcome2, Outcome_n) Le premier argument de cette fonction est la condition qui devrait être examinée. Il devrait fournir un nombre normal. Après cet essai, la condition peut évaluer à 1, 2, 3, options ou plus. Chaque résultats sont alors traités. Le premier, Outcome1, serait employé si la condition produit 1. La seconde, Outcome2, serait employée si la condition produit 2, etc.
Nous avons vu que la fonction d'IIf () est employée pour vérifier une condition et peut exécuter un de deux rapports selon le résultat de la condition. Dans quelques expressions, il y aura plus d'une condition à vérifier. Bien que vous puissiez nicher IIf () fonctionne pour créer une expression complexe, Microsoft Access fournit une autre fonction qui peut exécuter ceci chargent. La fonction s'appelle Switch et sa syntaxe est : \ Switch(Expression1, What To Do If Expression1 Is True,
Expression2, What To Do If Expression2 Is True,
Expression_n, What To Do If Expression_n Is True)
À la différence d'IIf (), la fonction de commutateur () ne prend pas un nombre fixe d'arguments. Elle prend autant de combinaisons de <Expression -- Statement>s comme vous avez besoin. Chaque expression est évaluée. Si l'expression évalue pour rectifier, le rapport qui la suit s'exécute. Bien que vous puissiez passer beaucoup de temps accordant une expression conditionnelle telle qu'on impliquant une fonction de commutateur (), il est encore possible qu'aucune des expressions n'évalue pour rectifier. Dans ce cas-ci, vous pouvez ajouter une dernière expression en tant que vrai et fournir un rapport suivant à l'utilisation. La syntaxe que vous emploieriez est : Switch(Expression1, What To Do If Expression1 Is True,
Expression2, What To Do If Expression2 Is True,
Expression_n, What To Do If Expression_n Is True,
True, What To Do With A False Expression)
Des boucles sont employées pour répéter une action et elles emploient font le mot-clé en combination avec d'autres mots-clés pour exécuter et rapport conditionnel. Il y a de diverses variations de font des boucles. La syntaxe du font tandis que la boucle est : Do While Condition Statement(s) Loop Le programme examinera d'abord la condition. Si la condition est vraie, le programme exécuterait le rapport ou les rapports et aller de nouveau au font tandis que rapport et examinent la condition encore. Cette expression exécutera le rapport ou les rapports TANT QUE la condition est vraie, autant de fois car la condition sera visitée et fonder vrai. Si la condition est fausse, le programme en sautera font tandis que rapport et n'exécutera pas. Voici un exemple : Private Sub cmdCounter_Click()
Dim Number As Integer
Do While Number < 46
MsgBox CStr(Number)
Number = Number + 4
Loop
MsgBox "Counting Stopped at " & CStr(Number)
End Sub
Puisque faire tandis que le rapport examine la condition d'abord avant d'exécuter le rapport, parfois vous voudrez que le programme exécute le rapport d'abord, allez alors en arrière et examinez la condition. Offres de base visuelles un inverse à la syntaxe, qui est : Do Statement(s) Loop While Condition Dans ce cas-ci, la volonté de base visuelle exécutent le rapport ou des rapports d'abord, alors il examinera la condition. Si la condition est vraie, le programme exécutera le rapport encore. Le programme continuera cette examen-exécution tant que la condition est vraie. La grande différence ici est que même si la condition est fausse, le programme aura exécuté la condition au moins une fois. Voici un exemple : Private Sub cmdCounter_Click()
Dim Answer As String
Do
Answer = CStr(InputBox("Are we there yet (1=Yes/0=No)?", "Counter", "1"))
Loop While Answer <> "1"
MsgBox "Wonderful, we have arrived"
End Sub
Voici un exemple de courir le code :
Une alternative au font tandis que la boucle est jusqu'à la boucle. Sa syntaxe est : Do Until Condition Statement(s) Loop Cette boucle examinera d'abord la condition, au lieu d'examiner si la condition est vraie, il examinera si la condition est fausse. Voici un exemple : Private Sub cmdCounter_Click()
Dim Answer As String
Do Until (Answer = "1")
Answer = InputBox("Are we there yet (1=Yes/0=No)?", "Counter", "1")
Loop
MsgBox "Wonderful, we have arrived"
End Sub
L'autre côté du jusqu'à ce que la boucle exécute le rapport d'abord, alors il examinerait la condition. La syntaxe utilisée est: Do Statement(s) Loop Until Condition
Si vous ne savez pas combien de fois un rapport doit être exécuté, vous pouvez employer un de faites des boucles. Mais toutes les fois que vous voulez commander combien de fois un rapport devrait être exécuté, pour… après la boucle offre une meilleure alternative. La syntaxe utilisée est : For Counter = Start To End Statement(s) Next Utilisé pour compter, pour… après la boucle commence à compter au point de début. Alors il examine si la valeur courante (après avoir commencé à compter) est extrémité plus grande que ; si c'est le cas, le programme sort la boucle. Il exécute alors le rapport ou les rapports. Après, il des incréments la valeur du compteur par 1 et examine la condition encore. Ce processus continue jusqu'au compteur = à l'extrémité. The syntax above will increment the counting by 1 at the end of each statement. If you want to control how the incrementing processes, you can set your own, using the Step option. Here is the syntax you would use: For Counter = Start To End Step Increment Statement(s) Next Counter You can set the incrementing value to your choice. If the value of Increment is positive, the Counter will be added its value. This means that you can give it a negative value, in which case the Counter would be subtracted the set value.
Since the For...Next loop is used to execute a group of statements based on the current result of the loop counting from Start to End, an alternative is to state various steps in the loop and execute a group of statements for each one of the elements in the group. This is mostly used when dealing with a collection of items. The syntax used is: For Each Element In Group Statement(s) Next Element The loop will execute the Statement or Statement(s) for each Element in the Group.
|
|
|
||
| Précédent | Copyright © Yevol, 2007 | Suivant |
|
|
||