d'Accueil de page

Types de données Programmeur-Définis

  

Introduction

Les types de données intégrés que nous avons employés jusqu'ici te permettent de déclarer une variable d'un type connu spécifique. Alternativement, vous pouvez créer un nouveau type de données en employant un de ce qui précède ou en combinant elles pour obtenir un neuf. Pour faire ceci, vous devez créer un nouveau module pour le nouveau type. Vous commencez le nouveau type avec le type mot-clé suivi du nom du nouveau type. Le créer du type finit avec le type expression d'extrémité :

Type SampleType
      
End Type

Entre le type ligne et le type ligne d'extrémité, vous pouvez déclarer un ou plusieurs types existants comme variables. C'est-à-dire, chaque déclaration peut être faite d'un nom pour une variable, être suivie près comme, et être suivie d'un type de données connu. Voici un exemple :

Type Sphere
	Radius As Double
	Diameter As Double
	Area As Double
End Type

Employer un type de données Programmeur-Défini

Après avoir créé le type, du procédé ou de l'événement où vous voulez l'employer, déclarer une variable basée sur elle. Pour accéder à des variables l'unes des de membre du type, écrire le nom de sa variable, suivi d'un opérateur de période, et suivi du nom de la variable de membre. Après accès d'une variable de membre d'un type, vous pouvez initialiser, changer sa valeur, ou l'assigner à une autre variable.

Étude pratique : Employer un type fait sur commande

  1. Sur la fenêtre de base de données du Microsoft Access, cliquer le bouton de modules
  2. Pour créer un nouveau module, cliquer le nouveau bouton sur le toolbar de la fenêtre de base de données
  3. Sous la ligne explicite d'option, dactylographier ce qui suit :
     
    Type Employee
        DateHired As Date
        FullName As String
        IsMarried As Boolean
        HourlySalary As Double
    End Type
  4. Sauver le module, sur le toolbar standard, cliquent le bouton
  5. Placer le nom aux modRoutines et à l'OK de clic
  6. Revenir au Microsoft Access et ouvrir la forme des employés dans la vue de conception
  7. Droit-cliquer le bouton de créer et cliquer l'événement de construction…
  8. Double-cliquer le constructeur de code et changer l'événement comme suit :
     
    Private Sub cmdCreate_Click()
        Dim Contractor As Employee
        
        Contractor.DateHired = #12/4/2000#
        Contractor.FullName = "Leslie Abramson"
        Contractor.IsMarried = True
        Contractor.HourlySalary = 20.15
        
        txtDateHired = CStr(Contractor.DateHired)
        txtFullName = Contractor.FullName
        chkIsMarried.Value = Contractor.IsMarried
        txtHourlySalary = Contractor.HourlySalary
    End Sub
  9. De base visuel étroit de Microsoft
  10. Commuter la forme à la vue de forme et cliquer le bouton de créer
     
    Employee
  11. Fermer la forme. Une fois demandé si vous voulez sauver, cliquer oui
  12. Microsoft Access étroit

Introduction aux fonctions et aux procédures intégrées

 

Introduction

Bateau de base visuel de Microsoft Access et de Microsoft avec de diverses fonctions et procédures que vous pouvez employer dans votre base de données. Avant de créer vos propres procédures, vous devriez savoir ce qui est déjà disponible ainsi vous ne devez pas réinventer et gaspiller beaucoup votre temps. Les fonctions déjà créées sont très efficaces et ont été examinées dans divers scénarios ainsi vous pouvez les employer avec la fiabilité complète. Les fonctions disponibles s'étendent dans divers types. Il y a tant de fonctions et de procédures intégrées que nous pouvons seulement présenter certains d'entre eux ici. Vous pouvez découvrir au sujet de l'autre dans les dossiers d'aide parce qu'elles sont assez documentées.

Fonctions de conversion

En étudiant des variables, nous avons présenté et avons également passé en revue les fonctions de conversion. Voici un résumé de ces fonctions.

Fonction  
Nom Type de retour Description
CBool Booléen Convertit une expression en valeur booléenne
CByte Byte Convertit une expression en nombre de byte
CDate Date Convertis et expression dans une valeur de date ou d'heure
CDbl Double Convertit une expression en nombre (décimal) de couler-point
CInt Nombre entier Convertit une expression en nombre (normal) de nombre entier
CCur Devise Convertit une expression en valeur (monétaire) de devise
CLng Long Convertit une expression en long nombre de nombre entier (un grand normal)
CSng Simple Convertit une expression en nombre (décimal) de couler-point
CStr Corde Convertit une expression en corde
 

Message et boîtes entrées

 

La boîte de message

Une boîte de message est une zone de dialogue spéciale employée pour montrer une information à l'utilisateur. Par opposition à une forme régulière, l'utilisateur ne peut dactylographier rien sur la boîte de message. Il y a habituellement deux genres de boîtes de message que vous créerez : un qui simplement l'information d'affichages et un qui s'attendent à ce que l'utilisateur prenne une décision.

Une boîte de message est créée en utilisant la fonction de MsgBox. Sa syntaxe est :

MsgBox([Message] [Buttons] [Title] [HelpFile] [Context])

La fonction de MsgBox prend cinq arguments et seulement le premier est exigé : le message.

L'argument de message est la corde que l'utilisateur verra montrer sur la boîte de message. Comme corde, vous pouvez la montrer dans de doubles citations, comme ceci « qui est tous les gens ». Voici un exemple :

Private Sub cmdMessageBox_Click()
    MsgBox ("Your credentials have been checked.")
End Sub

Ceci produirait :

Vous pouvez également le créer d'autres morceaux de cordes. L'argument de message peut être fait de jusqu'à 1024 caractères. Pour montrer le message sur les lignes multiples, vous pouvez employer le vbCrLf constant ou la combinaison Chr (10) et Chr (13) entre deux cordes quelconques. Voici un exemple :

Private Sub cmdMessageBox_Click()
    MsgBox ("Your logon credentials have been checked." & _
            vbCrLf & "To complete your application, please " & _
            "fill out the following survey")
End Sub

Ceci produirait :

L'argument de boutons indique ce que les boutons devraient montrer sur la boîte de message. Il y a différents genres de boutons disponibles et de base visuel les identifie par une valeur numérique assignée à chacun. L'argument de boutons peut avoir un de la constante suivante

Constante de bouton Valeur Affichage
vbOKOnly 0 OK
vbOKCancel 1 OK Cancel
vbAbortRetryIgnore 2 Abort Retry Message Box Button: Ignore
vbYesNoCancel 3 Yes Message Box Button: No Cancel
vbYesNo 4 Yes Message Box Button: No
vbRetryCancel 5 Retry Cancel

Si vous décidez de montrer un de ces boutons, vous voici un exemple qui montre l'oui et les boutons de non sur la boîte de message :

Private Sub cmdMessageBox_Click()
    Dim iAnswer As Integer
    
    iAnswer = MsgBox("Your logon credentials have been checked " & _
                    "and your application has been approved: Congratulations!" & _
                     vbCrLf & "Before leaving, would you like " & _
                     "to take our survey survey now?", vbYesNo)
End Sub

Ceci produirait :

Sans compter que les boutons, pour augmenter votre boîte de message, vous pouvez montrer une icône dans la section gauche de la boîte de message. Pour montrer une icône, vous pouvez employer les icônes suivantes sur la boîte de message

Constante d'icône Valeur numérique Description
vbCritical 16
vbQuestion 32 Question
vbExclamation 48 Exclamation
vbInformation  64 Information

Pour employer une de ces icônes, vous devez combiner son icône constante avec une des constantes de bouton passées en revue précédemment. Pour effectuer cette combinaison, vous employez OU l'opérateur. Voici un exemple :

Private Sub cmdMessageBox_Click()
    Dim iAnswer As Integer
    
    iAnswer = MsgBox("Your logon credentials have been checked " & _
                    "and your application has been approved: Congratulations!" & _
                     vbCrLf & "Before leaving, would you like " & _
                     "to take our survey survey now?", vbYesNo Or vbQuestion)
End Sub

Ceci produirait :

Si vous créez une boîte de message avec plus d'un bouton, le bouton le plus gauche a habituellement une frontière épaisse, indiquant que c'est le défaut. Si les pressions d'utilisateur entrent après visionnement du bouton, l'effet serait identique comme si il avait cliqué le bouton de défaut. Si vous voulez, vous pouvez indiquer un autre bouton comme défaut. Pour faire ceci, vous pouvez employer une des valeurs suivantes :

Constante de bouton de défaut Valeur numérique Si la boîte de message contient plus d'un bouton, le défaut serait
vbDefaultButton1  0 Le premier bouton
vbDefaultButton2  256 Le deuxième bouton
vbDefaultButton3  512 Le troisième bouton
vbDefaultButton4  768 Le quatrième bouton

De nouveau, pour indiquer une valeur par défaut, employer OU opérateur pour combiner un bouton de défaut constant avec n'importe quelle autre combinaison. Voici un exemple :

Private Sub cmdMessageBox_Click()
    Dim iAnswer As Integer
    
    iAnswer = MsgBox("Your logon credentials have been checked " & _
                    "and your application has been approved: Congratulations!" & _
                     vbCrLf & "Before leaving, would you like " & _
                     "to take our survey survey now?", _
                     vbYesNoCancel Or vbQuestion Or vbDefaultButton2)
End Sub

Ceci produirait :

Ces boutons additionnels peuvent être utilisés pour commander plus loin ce que l'utilisateur peut faire :

Constant  Valeur Effet
vbApplicationModal 0 L'utilisateur doit écarter la boîte de message avant de procéder à la base de données courante
vbSystemModal 4096 L'utilisateur doit écarter ce message avant d'employer n'importe quelle autre application ouverte de l'ordinateur

L'argument de titre est la légende qui montrerait sur la barre de titre de la boîte de message. C'est une corde dont mot ou les mots vous pouvez joindre entre les parenthèses ou celui vous pouvez obtenir d'une corde créée. L'argument de titre est facultatif. Comme vous avez vu jusqu'ici, si vous omettez, la boîte de message est équipée de la corde de « Microsoft Access » en tant que sa valeur par défaut. Autrement, si vous voulez un titre fait sur commande, vous pouvez le fournir comme troisième argument à la fonction de MsgBox (). La légende peut être une corde simple. Voici un exemple :

Private Sub cmdMessageBox_Click()
    Dim iAnswer As Integer
    
    iAnswer = MsgBox("Your logon credentials have been checked " & _
                    "and your application has been approved: Congratulations!" & _
                     vbCrLf & "Before leaving, would you like " & _
                     "to take our survey survey now?", _
                     vbYesNoCancel Or vbQuestion Or vbDefaultButton2, _
                     "Crofton Circle of Friends - Membership Application")
End Sub

Ceci produirait :

Noter que la légende est maintenant adaptée aux besoins du client au lieu du « Microsoft Access » courant. La légende peut également être une corde créée d'une expression ou de l'émanation d'une variable ou d'une valeur. Voici un exemple :

Private Sub cmdMessageBox_Click()
    Dim iAnswer As Integer
    Dim dteCurrent As Date
    Dim strTitle As String
    
    dteCurrent = Date
strTitle = "Crofton Circle of Friends - Membership Application: " + Str(dteCurrent)
    iAnswer = MsgBox("Your logon credentials have been checked " & _
                    "and your application has been approved: Congratulations!" & _
                     vbCrLf & "Before leaving, would you like " & _
                     "to take our survey survey now?", _
                     vbYesNoCancel Or vbQuestion Or vbDefaultButton2, _
                     strTitle)
End Sub

Si votre application emploie un dossier d'aide, vous pouvez indiquer ceci et laissez la boîte de message l'employer. L'argument de HelpFile est une corde qui indique le nom du dossier d'aide, et l'argument de contexte fournit le nombre qui correspond à la matière appropriée d'aide pour la boîte de message.

La fonction de MsgBox () peut être employée pour renvoyer une valeur. Cette valeur correspond au bouton les clics d'utilisateur sur la boîte de message. Selon les boutons la boîte de message montre, après que l'utilisateur ait cliqué, que la fonction de MsgBox () peut renvoyer une des valeurs suivantes :

Si le clic d'utilisateur Les retours de fonction Valeur numérique
OK vbOK 1
Cancel vbCancel 2
Abort vbAbort 3
Retry vbRetry 4
Ignore vbIgnore 5
Yes vbYes 6
No vbNo 7
 

Étude pratique Étude pratique : Créer des boîtes de message

  1. Ouvrir la base de données Exercise2 et, dans la fenêtre de base de données, cliquer les formes
  2. Double-cliquer les messages forment pour l'ouvrir
     
  3. Commuter la forme à la vue de conception.
  4. Droit-cliquer le bouton du message 1 et cliquer l'événement de construction… Sur la zone de dialogue de constructeur de choix, cliquer le constructeur de code et cliquer BIEN
  5. Dans le rédacteur de code, le mettre en application comme suit :
     
    Private Sub cmdMessage1_Click()
        MsgBox "This is Visual Basic as simple as it can get"
    End Sub
  6. Pour examiner la forme, revenir au Microsoft Access et commuter la forme à la vue de forme.
  7. Sur la forme, cliquer le bouton du message 1.
  8. Noter que des affichages d'une boîte de message. Noter en outre la légende sur le Microsoft Access d'affichages de barre de titre.
  9. Cliquer BIEN pour fermer la boîte de message.
  10. Commuter la forme de nouveau à la vue et au retour de conception au rédacteur de code
  11. Au lieu de la barre de titre montrant le Microsoft Access comme légende, vous pouvez placer votre propre légende. Ceci est fait par le 3ème argument de la fonction de MsgBox. Voir un exemple, sur la boîte combo d'objet, choisissent cmdMessage2 et mettent en application son événement de clic comme suit :
     
    Private Sub cmdMessage2_Click()
        MsgBox "Before formatting a floppy disk, " & _
               "make sure you know its content", , _
               "Disk Formatting Instructions"
    End Sub
  12. Examiner la forme et le bouton du message 2. Revenir alors au rédacteur de code
  13. En créant une boîte de message en utilisant la fonction de MsgBox, vous pouvez décider quel bouton vous voulez utiliser, en utilisant une des constantes nous avons énuméré plus tôt.
    Voir un exemple, sur la boîte combo d'objet, choisissent cmdMessage3 et mettent en application son événement de clic comme suit :
     
    Private Sub cmdMessage3_Click()
        MsgBox "This will be your only warning", _
               vbOKOnly + vbExclamation, _
               "Attention! Attention!! Attention!!!"
    End Sub
  14. Examiner la forme et le bouton du message 3. Revenir au rédacteur de code
  15. Si vous voulez montrer un message sur différentes lignes, vous pouvez employer la constante de vbCrLf. Comme exemple, sur la boîte combo d'objet, cmdMessage4 choisis et mettent en application son événement de clic comme suit :
     
    Private Sub cmdMessage4_Click()
        MsgBox "You are about to embark on a long journey." & _
               vbCrLf & "If your courage is still fresh, " & _
               "now is the time to let us know!", _
               vbOKCancel + vbQuestion, _
               "Accept or Cancel the Mission"
    End Sub
  16. Examiner la forme et l'expérience avec le bouton du message 4. Revenir alors au rédacteur de code.
  17. Vous pouvez également montrer un message sur de diverses lignes en utilisant la fonction de Chr (). Voir un exemple, sur la boîte combo d'objet, choisissent cmdMessage5 et mettent en application son événement de clic comme suit :
     
    Private Sub cmdMessage5_Click()
        MsgBox "This message usually appears when trying " & _
               "to format a floppy disk while the floppy drive " & _
               "is empty. " & Chr(13) & Chr(10) & _
               "When or if this happens, make sure you have a " & _
               " floppy disk in the floppy drive.", _
               vbAbortRetryIgnore + vbCritical, _
               "Floppy Disk Formatting"
    End Sub
  18. Examiner la forme et le bouton du message 5. Revenir alors au rédacteur de code.
  19. L'utilité de la fonction de MsgBox est démontrée dans votre capacité d'effectuer une action basée sur le bouton que l'utilisateur a cliqué sur la boîte de message. En effet, les réalisations que nous avons employées jusqu'ici étaient sur la méthode de MsgBox. Si vous voulez obtenir le bouton que l'utilisateur a cliqué, vous devez employer la fonction elle-même. La capture vraie du bouton cliqué est indiquée par votre découvrir le bouton cliqué. Ceci est fait en utilisant des rapports conditionnels que nous n'avons pas appris jusqu'ici. Par conséquent, nous apprendrons juste comment mettre en application la fonction et comment lui assigner un bouton de réponse ; dans tout ce cours d'instruction, et toutes les fois que nécessaire, nous verrons par la suite quoi faire quand un certain bouton a été cliqué. Voir un exemple, sur la boîte combo d'objet, choisissent cmdMessage6 et mettent en application son événement de clic comme suit :
     
    Private Sub cmdMessage6_Click()
        Dim intResponse As Integer
        
        intResponse = MsgBox("Your printing configuration " & _
                             "is not fully set." & vbCrLf & _
                             "If you are ready to print, click" & vbCrLf & _
                             "(1) Yes: To print the document anyway" & vbCrLf & _
                             "(2) No: To configure printing" & vbCrLf & _
                             "(3) Cancel: To dismiss printing", _
                             vbYesNoCancel + vbInformation, _
                             "Critical Information")
    End Sub
  20. Examiner la forme et le bouton du message 6. Revenir alors au rédacteur de code
  21. Quand les affichages d'une boîte de message, un des boutons, si plus d'un montre, a une frontière plus épaisse que l'autre ; un tel bouton s'appelle le bouton de défaut. Par défaut, c'est 1er ou la plupart gauche du bouton sur la boîte de message. Si vous voulez commander quel bouton serait le défaut, utiliser un des boutons constants de défaut énumérés ci-dessus. Voir un exemple, sur la boîte combo d'objet, choisissent cmdMessage7 et mettent en application son événement de clic comme suit :
     
    Private Sub cmdMessage7_Click()
        Dim intAnswer As Integer
        
        intAnswer = MsgBox("Do you want to continue this " & _
                           "operation?", _
                           vbYesNoCancel + vbQuestion + vbDefaultButton2, _
                           "National Inquiry")
    End Sub
  22. Examiner la forme et le bouton du message 7. Revenir alors au rédacteur de code.
  23. Bien que l'utilisateur ne puisse pas dactylographier sur une boîte de message, non seulement pouvez vous décider ce qu'il montre, mais vous pouvez également employer les variables de corde qui seraient disponibles seulement quand la forme fonctionne. Comme exemple, sur la boîte combo d'objet, cmdMessage8 choisis et mettent en application son événement de clic comme suit :
     
    Private Sub cmdMessage8_Click()
        Dim strEmplName As String
        Dim intInquiry As Integer
        
        strEmplName = CStr(txtEmployeeName)
        intInquiry = MsgBox("Hi, " & strEmplName & Chr(13) & _
                            "I think we met already." & vbCrLf & _
                            "I don't know when. I don't know where." & vbCrLf & _
                            "I don't know why. But I bet we met somewhere.", _
                            vbYesNo + vbInformation, _
                            "Meeting Acquaintances")
    End Sub
  24. Pour examiner la forme, revenir au Microsoft Access
  25. Sur l'employé appeler la boîte des textes, type Joseph Douglas
  26. Cliquer le bouton du message 8 et voir le résultat.
  27. Cliquer un des boutons pour fermer la boîte de message.
  28. Fermer la forme courante, cliquer son bouton étroit

La boîte d'entrée

De base visuel de Microsoft fournit une fonction qui te permet de demander l'information de l'utilisateur qui peut la dactylographier dans un domaine des textes d'une zone de dialogue. La fonction employée pour accomplir ceci s'appelle InputBox et sa syntaxe de base est :

InputBox(prompt)

L'information la plus fondamentale que vous devriez fournir à la fonction d'InputBox () désigné sous le nom du message de sollicitation. Ce devrait être une corde que l'utilisateur lira et saura ce que vous comptez. Voici un exemple :

Private Sub cmdRequestDOB_Click()
    InputBox "Enter your date of birth as mm/dd/yyyy"
End Sub

Ceci produirait

Lors de lire le message sur la boîte d'entrée, l'utilisateur est invité à écrire une information. Le type d'information que l'utilisateur est censé fournir dépend de toi, le programmeur. Par conséquent, il y a deux choses importantes que vous devriez toujours faire. D'abord vous devriez faire l'utilisateur connaître quel type d'information est demandé. Est-ce un nombre (quel type de nombre) ? Est-ce une corde (telle que le nom d'un nom de pays ou d'un client) ? Est-ce l'endroit d'un dossier (tel que C:\Program Files\Homework) ? Devrait-il attendez-vous type vrai/faux de Yes/No de réponse (si ainsi comment l'utilisateur le fournir) ? Est-ce une date (si c'est une date, quel format est l'utilisateur censé pour entrer) ? Ces questions signifient que vous devriez énoncer une demande claire à l'utilisateur et indiquer à quel genre de valeur vous vous attendez. Par exemple, au lieu de la question ci-dessus, vous pouvez mettre en application la fonction d'InputBox () comme suit :

Private Sub cmdRequestDOB_Click()
    InputBox "Please enter your date of birth as mm/dd/yyyy"
End Sub

Une autre solution, aussi assez explicite, se compose fournir un exemple à l'utilisateur.

La deuxième chose que vous devriez prendre soin de est la valeur l'utilisateur aurait dactylographiée. Après la dactylographie d'une valeur, l'utilisateur cliquerait un des boutons : OK ou annulation. Si l'utilisateur clique BIEN, vous devriez rechercher la valeur que l'utilisateur aurait dactylographiée. Il est d'également votre responsabilité de découvrir si l'utilisateur a dactylographié une valeur valide. Puisque la fonction d'InputBox () peut renvoyer n'importe quel type de valeur, elle n'a aucun mécanisme de valider l'entrée d'utilisateur. Pour rechercher la valeur de l'entrée enfermer dans une boîte le dialogue quand l'utilisateur clique BIEN, vous doit employer la fonction d'InputBox (). Voici un exemple :

Private Sub cmdRequestDOB_Click()
    Dim dteDOB As Date
    
    dteDOB = InputBox("Please enter your date of birth as mm/dd/yyyy")
    txtDOB = dteDOB
End Sub

Parfois, même si vous fournissez une demande explicite, l'utilisateur ne pourrait pas fournir une nouvelle valeur mais cliquer BIEN. Le problème est que vous le besoin immobile d'obtenir la valeur de la boîte des textes et vous pourriez vouloir l'impliquer dans une expression. Vous pouvez résoudre ce problème et cela de fournir un exemple à l'utilisateur en remplissant boîte des textes de valeur par défaut. Sans compter que le message de sollicitation, de base visuel de Microsoft fournit une fonction plus raffinée d'InputBox () qui te permet d'indiquer plus d'options, y compris une valeur par défaut. La syntaxe utilisée alors est :

InputBox(prompt, Title, Default, XPos, YPos, HelpFile, Context)

En utilisant cette syntaxe, vous pouvez fournir un titre à l'affichage sur la barre de titre du dialogue de boîte d'entrée. Ceci est pris en compte par l'argument de titre. Les arguments de XPos et de YPos vous permettent décident la position de la boîte d'entrée des mesures de gauche (XPos) et de dessus (YPos) de l'écran.

 


Précédent Copyright © 2007, Yevol Suivant