Page d'Accueil

Les disques d'une base de données

 

Principes fondamentaux de saisie de données

 

Introduction 

Après avoir créé une table et ses colonnes, vous pouvez peupler la base de données avec des données. Toi et l'utilisateur pouvez employer la table ou la forme mais comme mentionné précédemment, la forme est parfois l'objet approprié pour faire ceci. La saisie de données se compose remplir base de données de valeurs nécessaires. Une série de valeurs qui correspond aux mêmes niveaux des colonnes s'appelle une rangée ou un disque.

Pour saisir des données dans une table, après l'avoir montrée dans la vue de Datasheet, l'utilisateur peut cliquer une boîte sous une colonne et dactylographier la valeur nécessaire. Après avoir saisi des données dans une boîte, l'utilisateur peut serrer l'étiquette ou entrer pour se déplacer dans la prochaine boîte du côté droit. Toutes les fois que l'utilisateur écrit une valeur et se déplace dans la prochaine boîte, le Microsoft Access sauve automatiquement cette valeur et ce devient une partie du disque.

Quand ou toutes les boîtes horizontales ont été couvertes ou l'utilisateur décide simplement de se déplacer à une autre gamme horizontale des boîtes, on dit que lui ou elle crée un disque. En résumé, un disque est une série des mêmes boîtes horizontales. Un disque est représenté réellement comme rangée. L'intersection d'une colonne et d'une rangée s'appelle une cellule. Ceci signifie que des données sont saisies réellement dans des cellules.

Nouvelle addition record

Par défaut, si vous produisez d'une forme basée sur une table et destinée à la saisie de données, tous les disques seraient accessibles. Quand il est temps d'ajouter un nouveau disque, l'utilisateur doit se déplacer d'un disque à vide. Une alternative est de créer une forme particulièrement faite pour la saisie de données. Ce type de forme est soulevé avec des commandes vides et s'attend à ce que l'utilisateur écrive simplement les nouvelles valeurs.

Pour créer une forme pour la saisie en ligne, vous avez beaucoup de solutions de rechange. Une des techniques que vous pouvez employer pour créer une forme d'entrée-seulement de données est comme suit :

  1. Produire d'une forme basée sur la table qui tient l'information
  2. Placer sa propriété de boutons de navigation au non et sa propriété de saisie de données à oui

Vous pouvez également permettre à l'utilisateur d'ouvrir une forme pour la saisie de données, c'est-à-dire, à un nouveau disque. Pour faire ceci, vous pouvez appeler la méthode de GoToRecord () d'objet de DoCmd. La syntaxe de cette méthode est :

GoToRecord(ObjectType, ObjectName, Record, Offset)

Le premier argument à cette méthode doit être une valeur constante. Dans ce cas-ci, ce serait acDataForm. Si vous l'appelez pour agir sur la forme courante, vous pouvez placer cet argument à l'acActiveDataObject. Dans ce cas-ci, vous pouvez omettre cet argument.

Le deuxième argument est le nom de la forme à laquelle le nouveau disque sera ajouté. Si le disque est ajouté à la même forme qui fait l'appel, vous pouvez omettre cet argument.

Le troisième argument indique l'action qui serait effectuée. Cet argument tient une valeur constante. Dans le cas d'ajouter un nouveau disque, la valeur de cet argument serait acNewRec.

Le dernier argument doit faire avec d'autres valeurs du troisième argument.

Voici un exemple qui ouvre une forme appelée Customers à un nouveau disque :

Private Sub cmdAddCustomer_Click()
    DoCmd.OpenForm "Customers1"
    DoCmd.GoToRecord acDataForm, "Customers", acNewRec
End Sub

Au lieu d'écrire ce code, vous pouvez employer le magicien de bouton de commande où vous choisiriez des opérations record suivies ajoutez le nouveau disque.

Étude pratiqueÉtude pratique : Créer une grille de saisie de données

  1. Ouvrir la base de données GCS2 que vous avez créée dans la leçon précédente
  2. Dans la section de formes de la fenêtre de base de données, droit-cliquer CleaningOrders et cliquer économiser comme…
  3. Sous la forme dans la boîte des textes, changer le nom en NewCleaningOrder et cliquer BIEN
  4. Droit-cliquer NewCleaningOrder et cliquer la vue de conception
  5. Double-cliquer le bouton à l'intersection des deux règles l'accès la fenêtre de propriétés pour la forme et, dans la toute l'étiquette, changer les propriétés comme suit :
    Légende : Services de nettoyage de Georgetown - nouvel ordre de nettoyage
    Saisie de données : Oui
    Boutons de navigation : Non
  6. Commuter la forme à la vue de forme
     
  7. Économiser la forme
  8. Téléphone de client de clic
  9. Type 1026882250 et étiquette de pression
  10. Le nom de client, introduire au clavier Telanie Marba
  11. Cliquer la flèche de la date à gauche et choisir des données qui correspondent au 12 juin 2002
  12. Placer l'Heure gauche à 10:15 AM
  13. Fixer la date prévue en ajoutant 1 jour à la date à gauche
  14. Placer l'Heure prévue à 8AM
  15. Cliquer le taux d'imposition fiscal et le type 0.0575
  16. Exécuter la commande de nettoyage avec les valeurs suivantes :
     
    Article Prix unitaire Quantité
    Chemises 1.75 4
    Pantalon 2.65 2
    Veste 3.25 1
    Cravate 2.25 5
     
  17. Fermer la forme

Saisie de SQL et de données

 

Introduction

Avec le SQL, avant d'exécuter la saisie de données sur une table, vous devez savoir la table est structurée, l'ordre de ses colonnes, le type de données en lesquelles on fait chaque colonne : elle est certainement indésirable pour avoir une valeur numérique car quelqu'un prénom.

Avant d'exécuter la saisie de données, vous devez s'assurer que la table existe. Autrement, vous recevriez une erreur 3192 :

Pour saisir des données dans une table, vous commencez par l'INSERTION combinée avec les mots-clés de VALEURS. Le rapport emploie la syntaxe suivante :

INSERT TableName VALUES(Column1, Column2, Column_n)

Alternativement, ou pour être plus précis, vous pouvez indiquer que vous saisissez des données dans employer de table DANS le mot-clé entre le mot-clé d'INSERTION et le facteur de TableName. Ceci est fait avec la syntaxe suivante :

INSERT INTO TableName VALUES(Column1, Column2, Column_n)

Le facteur de TableName doit être un nom valide d'une table existante dans la base de données actuellement choisie. Si le nom est erroné, l'interprète de SQL considérerait simplement que la table que vous vous référez n'existe pas. En conséquence, vous recevriez une erreur.

Le mot-clé de VALEURS indique que vous êtes prêt à énumérer les valeurs des colonnes. Les valeurs des colonnes doivent être incluses entre parenthèses. Indiquer la valeur de chaque colonne dans les parenthèses qui suivent le mot-clé de VALEURS.

Si la colonne Booléen-est basée, vous devez indiquer sa valeur en tant que 0 ou 1.

Si la colonne est un type numérique, vous devriez prêter l'attention au nombre que vous dactylographiez. Si le nombre est un nombre entier, vous devriez fournir un nombre normal valide sans séparateur décimal. Si la colonne est pour un nombre décimal, vous pouvez dactylographier la valeur avec son séparateur de caractère (la période pour l'anglais des USA).

Si le type de données d'une colonne est un type de corde, vous devriez inclure sa valeur entre double-cite si vous employez la méthode de DoCmd.RunSQL () de Microsoft Access ou vous l'incluez dans simple-cite si vous employez l'AGITATION. Par exemple, un nombre d'étagère peut être indiqué comme « HHR-604 » pour DoCmd.RunSQL () ou « HHR-604 » pour l'AGITATION et une initiale moyenne peut être donné comme « D » pour le Microsoft Access ou « D » pour l'AGITATION.

Si la colonne était créée pour une date ou un type de données de temps, vous devriez/devez employer une formule appropriée avec l'année représentée par 2 ou 4 chiffres. Vous devriez également inclure la date dans simple-cite. Si vous voulez indiquer l'année avec 2 chiffres, employer la formule :

'yy-mm-dd'

Ou

'yy/mm/dd'

Vous pouvez employer le symbole de tiret « - » ou « vers l'avant d'estafilade/ » comme séparateur de date. L'année, le mois, et le jour mettent en boîte chacune soient indiqués avec un chiffre simple. Quand l'année est indiquée avec 1 chiffre, son nombre est ajouté à la décennie courante. Par exemple, une année avec 6 est représentée en tant que 2006. La formule d'une année de chiffre convient pendant une date qui se produit dans la décennie courante. Comme vous pouvez deviner, il vaut mieux de représenter une date avec au moins deux chiffres, y compris un 0 principal. La formule de deux ans de chiffre convient pendant une date qui se produit en siècle courant.

Une alternative à représenter une année est avec 4 chiffres. Dans ce cas-ci, vous emploieriez les formules :

'yyyy-mm-dd'

Ou

'yyyy/mm/dd'

L'année avec 4 chiffres est plus précise car elle exprime correctement une année complète.

Un mois à partir de janvier à septembre peut être représenté en tant que 1, 2, 3, 4, 5, 6, 7, 8, ou 9. Les nombres de jour suivent la même logique.

Étude pratique : Présentation de la saisie de données de SQL

  1. Pour créer une nouvelle base de données, sur le menu principal, dossier de clic - > nouveau…
  2. Dans la nouvelle zone de dialogue, cliquer la base de données et cliquer BIEN
  3. Changer le nom de la base de données en automobile Shop1 de parc d'université et changer la chemise dans l'économiser dans la boîte combo en chemise qui contient vos exercices
  4. Le clic créent
  5. Pour créer une nouvelle table, sur le menu principal, insertion de clic - > Tableau
  6. Dans la nouvelle zone de dialogue de Tableau, cliquer le magicien de Tableau et cliquer BIEN
  7. Dans les Tableaux témoin, cliquer les ordres
  8. Dans les domaines témoin, double-cliquer OrderID et le clic retitrent le champ
  9. Dactylographier RepairOrderID et la pression entrent
  10. Cliquer après et changer le nom en RepairOrders
  11. Cliquer après
  12. Cliquer la modification le bouton par radio de conception de Tableau et cliquer la finition
  13. Accomplir la table avec les champs suivants (ne pas changer les propriétés qui ne sont pas indiquées) :
     
    Nom de champ Type de données Légende
    RepairOrderID   Nombre de reçu
    CustomerName   Nom
    CustomerAddress   Adresse
    CustomerCity   Ville
    CustomerState   État
    CustomerZIPCode   Code postal
    CarMakeModel   Faire/modèle
    CarYear   Année
    ProblemDescription Note  
    Part1Name    
    Part1UnitPrice Nombre  
    Part1Quantity Nombre  
    Part1SubTotal Nombre  
    Part2Name    
    Part2UnitPrice Nombre  
    Part2Quantity Nombre  
    Part2SubTotal Nombre  
    Part3Name    
    Part3UnitPrice Nombre  
    Part3Quantity Nombre  
    Part3SubTotal Nombre  
    Part4Name    
    Part4UnitPrice Nombre  
    Part4Quantity Nombre  
    Part4SubTotal Nombre  
    Part5Name    
    Part5UnitPrice Nombre  
    Part5Quantity Nombre  
    Part5SubTotal Nombre  
    JobPerformed1    
    JobPrice1 Nombre  
    JobPerformed2    
    JobPrice2 Nombre  
    JobPerformed3    
    JobPrice3 Nombre  
    JobPerformed4    
    JobPrice4 Nombre  
    JobPerformed5    
    JobPrice5 Nombre  
    TotalParts Nombre Pièces totales
    TotalLabor Nombre Travail total
    TaxRate Nombre Taux d'imposition fiscal
    TaxAmount Nombre Quantité d'impôts
    RepairTotal Nombre Réparer le total
    RepairDate Date/heure Réparer la date
    TimeReady Date/heure Temps prêt
    Recommandations Note  
  14. Économiser et fermer la table
  15. Tandis que la table est encore choisie dans la fenêtre de base de données, sur la base de données toolbar, cliquer le nouvel objet : AutoForm
  16. Économiser la forme comme RepairOrders
  17. Droit-le cliquer et cliquer l'en-tête bas de page de forme
  18. Sur la boîte à outils, s'assurer que le bouton de magicien de commande est vers le bas. Cliquer le bouton de commande et cliquer la bonne section inférieure de la section de titre de bas de page de forme
  19. Suivre la section pour créer un bouton qui serait utilisé pour fermer la forme. Placer la légende du bouton à la fin et son nom au cmdClose
  20. Changer sa conception comme suit :
     
  21. Économiser et fermer la forme

Saisie de données adjacente

La technique la plus commune d'exécuter la saisie de données exige que vous savez l'ordre des colonnes de la table en laquelle vous voulez saisir des données. Avec cette liste suivante à l'esprit, écrire la valeur de chaque champ dans sa position correcte.

Pendant la saisie de données sur les champs adjacents, si vous n'avez pas une valeur pour un champ numérique, vous devriez le type 0 en tant que sa valeur. Pour les données de champ de corde lequel vous ne prenez pas et ne pouvez pas fournir, type deux double-cite pour indiquer un champ vide. Vous imaginer pour avoir une table équipée de deux colonnes de corde. Voici un exemple qui crée un disque fait de deux cordes :

Private Sub cmdEnterData_Click()
    DoCmd.RunSQL "INSERT INTO Employees VALUES(""Jimmy"", ""Collen"");"
End Sub

Voici deux exemples de créer un disque avec deux valeurs de date :

Private Sub cmdTable_Click()
    DoCmd.RunSQL "CREATE Table Employees (" & _
                 "DateHired Date, " & _
                 "DateModified Date);"
End Sub

Private Sub cmdEnterData_Click()
    DoCmd.RunSQL "INSERT INTO Employees " & _
                 "VALUES(""02/08/2004"", ""16-Aug-05"");"
End Sub

Saisie de données aléatoire

La saisie de données adjacente exige que vous savez la position de chaque colonne. Le SQL fournit une alternative qui te permet d'exécuter la saisie de données en utilisant le nom d'une colonne au lieu de sa position. Ceci te permet de fournir les valeurs des champs dans n'importe quel ordre de votre choix.

Pour exécuter la saisie de données au hasard, vous devez fournir une liste des colonnes de la table dans l'ordre de votre choix. Vous pouvez employer toutes les colonnes ou fournir une liste des mêmes colonnes mais dans votre propre ordre. Voici un exemple :

Private Sub cmdTable_Click()
    DoCmd.RunSQL "CREATE Table Employees (" & _
                 "DateHired Date, " & _
                 "FirstName Varchar(20), " & _
                 "MI Char(1), " & _
                 "LastName Varchar(20));"
End Sub

Private Sub cmdEnterData_Click()
    DoCmd.RunSQL "INSERT INTO Employees (" & _
                 "DateHired, FirstName, MI, LastName) " & _
                 "VALUES(#02/08/2004#, ""Walter"", ""G"", ""Theal"");"
End Sub

Vous ne devez pas fournir les données pour toutes les colonnes, juste ceux que vous voulez, dans l'ordre vous voulez. Pour faire ceci, écrire les noms des colonnes désirées du bon côté du nom de la table, entre parenthèses. La syntaxe utilisée serait :

INSERT TableName(ColumnName1, Columnname2, ColumnName_n)
VALUES(ValueFormColumnName1, ValueFormColumnName2, ValueFormColumnName_n);

Voici un exemple :

Private Sub cmdTable_Click()
    DoCmd.RunSQL "CREATE Table Employees (" & _
                 "DateHired Date, " & _
                 "FirstName Varchar(20), " & _
                 "MI Char(1), " & _
                 "LastName Varchar(20));"
End Sub

Private Sub cmdEnterData_Click()
    DoCmd.RunSQL "INSERT INTO Employees (" & _
                 "LastName, DateHired, MI, FirstName) " & _
                 "VALUES(""Theal"", #02/08/2004#, ""G"", ""Walter"");"
End Sub

Noter que, pendant la saisie de données, les colonnes sont fournies dans un ordre différent que celui dans lequel elles ont été créées.

Étude pratique : Créer un Tableau

  1. Dans la fenêtre de base de données, cliquer le bouton de formes et cliquer nouveau…
  2. Économiser la forme comme NewRepairOrder
  3. Double-cliquer le bouton à l'intersection des deux règles l'accès la fenêtre de propriétés pour la forme et, dans la toute l'étiquette, changer les propriétés comme suit :
    Légende : Le parc d'université Automobile-Font des emplettes - nouvel ordre de réparation
    Boutons de navigation : Non
    Centre automatique : Oui
    Boutons maximum minimum : Minute permise
    Largeur : 6.25 "
  4. Droit-cliquer la forme et cliquer l'en-tête bas de page de forme
  5. Cliquer la barre d'en-tête de forme et, dans la fenêtre de propriétés, placer sa taille à 0
  6. Concevoir la forme comme suit :
     
    Commander Légende Nom Arrêt de tabulatrice Index d'étiquette
    Groupe d'option Réparer l'identification      
    Boîte des textes Nom de client : txtCustomerName Oui 0
    Boîte des textes Adresse : txtCustomerAddress Oui 1
    Boîte des textes Ville : txtCustomerCity Oui 2
    Boîte des textes État : txtCustomerState Oui 3
    Boîte des textes Code postal : txtCustomerZIPCode Oui 4
    Boîte des textes La voiture font/modèles : txtCarMakeModel Oui 5
    Boîte des textes Année de voiture : txtCarYear Oui 6
    Boîte des textes Description de problème : txtProblemDescription Oui 7
    Groupe d'option Pièces utilisées      
    Boîte des textes Nom de partie txtPart1Name Oui 8
    Boîte des textes Prix unitaire txtPart1UnitPrice Oui 9
    Boîte des textes Quantité txtPart1Quandity Oui 10
    Boîte des textes Total secondaire txtPart1SubTotal Non  
    Boîte des textes   txtPart2Name Oui 11
    Boîte des textes   txtPart2UnitPrice Oui 12
    Boîte des textes   txtPart2Quandity Oui 13
    Boîte des textes   txtPart2SubTotal Non  
    Boîte des textes   txtPart3Name Oui 14
    Boîte des textes   txtPart3UnitPrice Oui 15
    Boîte des textes   txtPart3Quandity Oui 16
    Boîte des textes   txtPart3SubTotal Non  
    Boîte des textes   txtPart4Name Oui 17
    Boîte des textes   txtPart4UnitPrice Oui 17
    Boîte des textes   txtPart4Quandity Oui 17
    Boîte des textes   txtPart4SubTotal Non  
    Boîte des textes   txtPart5Name Oui 18
    Boîte des textes   txtPart5UnitPrice Oui 19
    Boîte des textes   txtPart5Quandity Oui 20
    Boîte des textes   txtPart5SubTotal Non  
    Groupe d'option Les travaux exécutés      
    Boîte des textes Le travail exécuté txtJobPerformed1 Oui 21
    Boîte des textes Prix du travail txtJobPrice1 Oui 22
    Boîte des textes   txtJobPerformed2 Oui 23
    Boîte des textes   txtJobPrice2 Oui 24
    Boîte des textes   txtJobPerformed3 Oui 25
    Boîte des textes   txtJobPrice3 Oui 26
    Boîte des textes   txtJobPerformed4 Oui 27
    Boîte des textes   txtJobPrice4 Oui 28
    Boîte des textes   txtJobPerformed5 Oui 29
    Boîte des textes   txtJobPrice5 Oui 30
    Groupe d'option Résumé d'ordre      
    Boîte des textes Pièces totales : txtTotalParts Non  
    Boîte des textes Travail total : txtTotalLabor Non  
    Boîte des textes Taux d'imposition fiscal : txtTaxRate Oui 31
    Boîte des textes Quantité d'impôts : txtTaxAmount Non  
    Boîte des textes Total de réparation : txtRepairTotal Non  
    Boîte des textes Date de réparation : txtRepairDate Oui 32
    Boîte des textes Temps prêt : txtTimeReady Oui 33
    Boîte des textes Recommandations : txtRecommendations Oui 34
  7. Économiser la forme
  8. Sur le toolbar en forme de projet, cliquer le bouton de code
  9. Dans la section vide du rédacteur de code, créer le procédé suivant :
     
    Private Sub CalculateOrder()
        On Error GoTo CalculateOrder_Error
            
        Dim dblPart1UnitPrice As Double, bytPart1Quantity As Byte
        Dim dblPart2UnitPrice As Double, bytPart2Quantity As Byte
        Dim dblPart3UnitPrice As Double, bytPart3Quantity As Byte
        Dim dblPart4UnitPrice As Double, bytPart4Quantity As Byte
        Dim dblPart5UnitPrice As Double, bytPart5Quantity As Byte
        
        Dim dblPart1SubTotal As Double, dblPart2SubTotal As Double, _
            dblPart3SubTotal As Double, dblPart4SubTotal As Double, _
            dblPart5SubTotal As Double
            
        Dim dblJob1Price As Double, dblJob2Price As Double, _
            dblJob3Price As Double, dblJob4Price As Double, _
            dblJob5Price As Double
        
        Dim curTotalParts As Currency, curTotalLabor As Currency
        Dim dblTaxRate As Double, curTaxAmount As Currency
        Dim curRepairTotal As Currency
        
        ' Retrieve the unit price of each part
        dblPart1UnitPrice = CDbl([txtPart1UnitPrice])
        dblPart2UnitPrice = CDbl([txtPart2UnitPrice])
        dblPart3UnitPrice = CDbl([txtPart3UnitPrice])
        dblPart4UnitPrice = CDbl([txtPart4UnitPrice])
        dblPart5UnitPrice = CDbl([txtPart5UnitPrice])
        
        ' Retrieve the quantity specified for each part
        bytPart1Quantity = CByte([txtPart1Quantity])
        bytPart2Quantity = CByte([txtPart2Quantity])
        bytPart3Quantity = CByte([txtPart3Quantity])
        bytPart4Quantity = CByte([txtPart4Quantity])
        bytPart5Quantity = CByte([txtPart5Quantity])
        
        ' Calculate the sub-total of each part
        dblPart1SubTotal = dblPart1UnitPrice * bytPart1Quantity
        dblPart2SubTotal = dblPart2UnitPrice * bytPart2Quantity
        dblPart3SubTotal = dblPart3UnitPrice * bytPart3Quantity
        dblPart4SubTotal = dblPart4UnitPrice * bytPart4Quantity
        dblPart5SubTotal = dblPart5UnitPrice * bytPart5Quantity
        
        ' Display the sub totals in the corresponding text boxes
        [txtPart1SubTotal] = dblPart1SubTotal
        [txtPart2SubTotal] = dblPart2SubTotal
        [txtPart3SubTotal] = dblPart3SubTotal
        [txtPart4SubTotal] = dblPart4SubTotal
        [txtPart5SubTotal] = dblPart5SubTotal
        
        ' Calculate the total spent on parts
        curTotalParts = CCur(dblPart1SubTotal + dblPart2SubTotal + _
                        dblPart3SubTotal + dblPart4SubTotal + _
                        dblPart5SubTotal)
        
        ' Retrive the labor amount of each job performed
        dblJob1Price = CDbl([txtJob1Price])
        dblJob2Price = CDbl([txtJob2Price])
        dblJob3Price = CDbl([txtJob3Price])
        dblJob4Price = CDbl([txtJob4Price])
        dblJob5Price = CDbl([txtJob5Price])
        
        ' Calculate the total labor for this repair
        curTotalLabor = CCur(dblJob1Price + dblJob2Price + dblJob3Price + _
                        dblJob4Price + dblJob5Price)
        
        ' Retrieve the tax rate applied
        dblTaxRate = CDbl([txtTaxRate])
        
        ' Calculate the tax amount based on the tax rate applied
        ' on the parts and the labor
        curTaxAmount = CLng(curTotalLabor + curTotalParts) * (dblTaxRate * 100) / 100
        curRepairTotal = curTotalLabor + curTotalParts + curTaxAmount
        
        ' Displays the values in the Order Summary section
        [txtTotalParts] = curTotalParts
        [txtTotalLabor] = curTotalLabor
        [txtTaxAmount] = curTaxAmount
        [txtRepairTotal] = curRepairTotal
        
        Exit Sub
    
    ' If there was a problem, address it here
    CalculateOrder_Error:
        ' One of the most common problems that may occur here is if the
        ' user enters an invalid value in a text box. Normally, the database
        ' engine is equipped to take care of that and warn the user because
        ' we specified a format for each text box. But just in case...
        If Err.Number = 94 Then
            MsgBox "Make sure you enter the unit price and the quantity " & _
                   "of each part used." & vbCrLf & "Please try again!"
        End If
    
    End Sub
  10. Revenir à la forme et cliquer la première boîte des textes sous la quantité
  11. Dans la fenêtre de propriétés, cliquer l'étiquette d'événements et double-cliquer sur le foyer perdu
  12. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub txtPart1Quantity_LostFocus()
        CalculateOrder
    End Sub
  13. Revenir à la forme et cliquer la deuxième boîte des textes sous la quantité
  14. Dans l'étiquette d'événements de la fenêtre de propriétés, double-cliquer sur le foyer perdu
  15. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub txtPart2Quantity_LostFocus()
        CalculateOrder
    End Sub
  16. Revenir à la forme et cliquer la troisième boîte des textes sous la quantité
  17. Dans l'étiquette d'événements de la fenêtre de propriétés, double-cliquer sur le foyer perdu
  18. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub txtPart3Quantity_LostFocus()
        CalculateOrder
    End Sub
  19. Revenir à la forme et cliquer la quatrième boîte des textes sous la quantité
  20. Dans l'étiquette d'événements de la fenêtre de propriétés, double-cliquer sur le foyer perdu
  21. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub txtPart4Quantity_LostFocus()
        CalculateOrder
    End Sub
  22. Revenir à la forme et cliquer la cinquième boîte des textes sous la quantité
  23. Dans l'étiquette d'événements de la fenêtre de propriétés, double-cliquer sur le foyer perdu
  24. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub txtPart5Quantity_LostFocus()
        CalculateOrder
    End Sub
  25. Revenir à la forme et cliquer la première boîte des textes sous le prix du travail
  26. Dans l'étiquette d'événements de la fenêtre de propriétés, double-cliquer sur le foyer perdu
  27. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub txtJob1Price_LostFocus()
        CalculateOrder
    End Sub
  28. Revenir à la forme et cliquer la deuxième boîte des textes sous le prix du travail
  29. Dans l'étiquette d'événements de la fenêtre de propriétés, double-cliquer sur le foyer perdu
  30. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub txtJob2Price_LostFocus()
        CalculateOrder
    End Sub
  31. Revenir à la forme et cliquer la troisième boîte des textes sous le prix du travail
  32. Dans l'étiquette d'événements de la fenêtre de propriétés, double-cliquer sur le foyer perdu
  33. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub txtJob3Price_LostFocus()
        CalculateOrder
    End Sub
  34. Revenir à la forme et cliquer la quatrième boîte des textes sous le prix du travail
  35. Dans l'étiquette d'événements de la fenêtre de propriétés, double-cliquer sur le foyer perdu
  36. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub txtJob4Price_LostFocus()
        CalculateOrder
    End Sub
  37. Revenir à la forme et cliquer la cinquième boîte des textes sous le prix du travail
  38. Dans l'étiquette d'événements de la fenêtre de propriétés, double-cliquer sur le foyer perdu
  39. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub txtJob5Price_LostFocus()
        CalculateOrder
    End Sub
  40. Revenir à la forme et cliquer la boîte des textes de taux d'imposition fiscal
  41. Dans l'étiquette d'événements de la fenêtre de propriétés, double-cliquer sur le foyer perdu
  42. Cliquer son bouton de points de suspension et mettre en application l'événement comme suit :
     
    Private Sub txtTaxRate_LostFocus()
        CalculateOrder
    End Sub
  43. Revenir au Microsoft Access
  44. Dans la boîte à outils, s'assurer que le bouton de magiciens de commande est vers le bas
    Cliquer le bouton de commande et cliquer sous la barre de titre de bas de page de forme
  45. Dans la première page du magicien de bouton de commande, cliquer les opérations de forme dans la liste de catégories
  46. Dans les actions énumérer, cliquer la forme étroite et cliquer après
  47. Dans la deuxième page du magicien, changer la corde dans la boîte supérieure des textes en fin et cliquer après
  48. Changer le nom en cmdClose et cliquer la finition
  49. Commuter la forme à la vue de forme
  50. Économiser la forme
  51. Sur la boîte à outils, cliquer le bouton de commande et cliquer la section centrale sous la barre de titre de bas de page de forme
  52. Quand les débuts de magicien de bouton de commande, cliquent l'annulation et changent les propriétés du nouveau bouton comme suit :
    Légende : Remettre à zéro l'ordre
    Nom : cmdResetOrder
  53. Droit-cliquer le nouveau bouton et cliquer l'événement de construction
  54. Dans la zone de dialogue de constructeur de choix, double-cliquer le constructeur de code et mettre en application l'événement comme suit :
     
    Private Sub cmdResetOrder_Click()
        txtCustomerName = ""
        txtCustomerAddress = ""
        txtCustomerCity = ""
        txtCustomerState = ""
        txtCustomerZIPCode = ""
        txtCarMakeModel = ""
        txtCarYear = ""
        txtProblemDescription = ""
        txtPart1Name = ""
        txtPart1UnitPrice = "0.00"
        txtPart1Quantity = "0"
        txtPart1SubTotal = "0.00"
        txtPart2Name = ""
        txtPart2UnitPrice = "0.00"
        txtPart2Quantity = "0"
        txtPart2SubTotal = "0.00"
        txtPart3Name = ""
        txtPart3UnitPrice = "0.00"
        txtPart3Quantity = "0"
        txtPart3SubTotal = "0.00"
        txtPart4Name = ""
        txtPart4UnitPrice = "0.00"
        txtPart4Quantity = "0"
        txtPart4SubTotal = "0.00"
        txtPart5Name = ""
        txtPart5UnitPrice = "0.00"
        txtPart5Quantity = "0"
        txtPart5SubTotal = "0.00"
        txtJobPerformed1 = ""
        txtJobPrice1 = "0.00"
        txtJobPerformed2 = ""
        txtJobPrice2 = "0.00"
        txtJobPerformed3 = ""
        txtJobPrice3 = "0.00"
        txtJobPerformed4 = ""
        txtJobPrice4 = "0.00"
        txtJobPerformed5 = ""
        txtJobPrice5 = "0.00"
        txtTotalParts = "0.00"
        txtTotalLabor = "0.00"
        txtTaxRate = "7.75%"
        txtTaxAmount = "0.00"
        txtRepairTotal = "0.00"
        txtRepairDate = ""
        txtTimeReady = ""
        txtRecommendations = ""
    End Sub
  55. Revenir au Microsoft Access
  56. Sur la boîte à outils, cliquer le bouton de commande et cliquer la section gauche sous la barre de titre de bas de page de forme
  57. Quand les débuts de magicien de bouton de commande, cliquent l'annulation et changent les propriétés du nouveau bouton comme suit :
    Légende : Soumettre l'ordre de réparation
    Nom : cmdSubmitRepairOrder
  58. Droit-cliquer le nouveau bouton et cliquer l'événement de construction
  59. Dans la zone de dialogue de constructeur de choix, double-cliquer le constructeur de code
  60. Pour exécuter la saisie de données adjacente, exécuter le rapport suivant :
     
    Private Sub cmdSubmitRepairOrder_Click()
        On Error GoTo cmdSubmitRepairOrder_Error
        
        Dim conCPAS As ADODB.Connection
        
        Dim strCustomerName As String, strCustomerAddress As String
        Dim strCustomerCity As String, strCustomerState As String
        Dim strCustomerZIPCode As String, strCarMakeModel As String
        Dim intCarYear As Integer, strProblemDescription As String
        
        Dim strPart1Name As String, strPart2Name As String, _
            strPart3Name As String, strPart4Name As String, _
            strPart5Name As String
    
        Dim dblPart1UnitPrice As Double, dblPart2UnitPrice As Double, _
            dblPart3UnitPrice As Double, dblPart4UnitPrice As Double, _
            dblPart5UnitPrice As Double
            
        Dim intPart1Quantity As Integer, intPart2Quantity As Integer, _
            intPart3Quantity As Integer, intPart4Quantity As Integer, _
            intPart5Quantity As Integer
            
        Dim dblPart1SubTotal As Double, dblPart2SubTotal As Double, _
            dblPart3SubTotal As Double, dblPart4SubTotal As Double, _
            dblPart5SubTotal As Double
        
        Dim strJobPerformed1 As String, dblJobPrice1 As Double
        Dim strJobPerformed2 As String, dblJobPrice2 As Double
        Dim strJobPerformed3 As String, dblJobPrice3 As Double
        Dim strJobPerformed4 As String, dblJobPrice4 As Double
        Dim strJobPerformed5 As String, dblJobPrice5 As Double
        
        Dim curTotalParts As Currency, curTotalLabor As Currency
        Dim dblTaxRate As Double, curTaxAmount As Currency
        Dim curRepairTotal As Currency, dteRepairDate As Date
        Dim dteTimeReady As Date, strRecommendations As String
                     
        If IsNull([txtCustomerName]) Then
            MsgBox "Please enter the name of the customer to process an order"
            txtCustomerName.SetFocus
            Exit Sub
        End If
        
        If IsNull([txtCustomerAddress]) Then
            strCustomerAddress = ""
        Else
            strCustomerAddress = [txtCustomerAddress]
        End If
        
        If IsNull([txtCustomerCity]) Then
            strCustomerCity = ""
        Else
            strCustomerCity = [txtCustomerCity]
        End If
        
        If IsNull([txtCustomerState]) Then
            strCustomerState = ""
        Else
            strCustomerState = [txtCustomerState]
        End If
        
        If IsNull([txtCustomerZIPCode]) Then
            strCustomerZIPCode = ""
        Else
            strCustomerZIPCode = [txtCustomerZIPCode]
        End If
        
        If IsNull([txtCarMakeModel]) Then
            MsgBox "You must specify the make and the model of the car"
            txtCarMakeModel.SetFocus
            Exit Sub
        End If
        
        If IsNull([txtCarYear]) Then
            intCarYear = 0
        Else
            intCarYear = CInt([txtCarYear])
        End If
    
        If IsNull(txtProblemDescription) Then
            MsgBox "Make sure you describe the problem that needs " & _
                   "to be fixed on the car"
            txtProblemDescription.SetFocus
            Exit Sub
        End If
        
        If IsNull([txtPart1Name]) Then
            strPart1Name = ""
        Else
            strPart1Name = [txtPart1Name]
        End If
        
        If IsNull([txtPart1UnitPrice]) Then
            dblPart1UnitPrice = ""
        Else
            dblPart1UnitPrice = CDbl([txtPart1UnitPrice])
        End If
        
        If IsNull([txtPart1Quantity]) Then
            intPart1Quantity = 0
        Else
            intPart1Quantity = CInt([txtPart1Quantity])
        End If
        
        If IsNull([txtPart1SubTotal]) Then
            dblPart1SubTotal = 0
        Else
            dblPart1SubTotal = CDbl([txtPart1SubTotal])
        End If
        
        If IsNull([txtPart2Name]) Then
            strPart2Name = ""
        Else
            strPart2Name = [txtPart2Name]
        End If
        
        If IsNull([txtPart2UnitPrice]) Then
            dblPart2UnitPrice = 0
        Else
            dblPart2UnitPrice = CDbl([txtPart2UnitPrice])
        End If
        
        If IsNull([txtPart2Quantity]) Then
            intPart2Quantity = 0
        Else
            intPart2Quantity = CInt([txtPart2Quantity])
        End If
        
        If IsNull([txtPart2SubTotal]) Then
            dblPart2SubTotal = 0
        Else
            dblPart2SubTotal = CDbl([txtPart2SubTotal])
        End If
        
        If IsNull([txtPart3Name]) Then
            strPart3Name = ""
        Else
            strPart3Name = [txtPart3Name]
        End If
        
        If IsNull([txtPart3UnitPrice]) Then
            dblPart3UnitPrice = 0
        Else
            dblPart3UnitPrice = CDbl([txtPart3UnitPrice])
        End If
        
        If IsNull([txtPart3Quantity]) Then
            intPart3Quantity = 0
        Else
            intPart3Quantity = CInt([txtPart3Quantity])
        End If
        
        If IsNull([txtPart3SubTotal]) Then
            dblPart3SubTotal = 0
        Else
            dblPart3SubTotal = CDbl([txtPart3SubTotal])
        End If
        
        If IsNull([txtPart4Name]) Then
            strPart4Name = ""
        Else
            strPart4Name = [txtPart4Name]
        End If
        
        If IsNull([txtPart4UnitPrice]) Then
            dblPart4UnitPrice = 0
        Else
            dblPart4UnitPrice = CDbl([txtPart4UnitPrice])
        End If
        
        If IsNull([txtPart4Quantity]) Then
            intPart4Quantity = 0
        Else
            intPart4Quantity = CInt([txtPart4Quantity])
        End If
        
        If IsNull([txtPart4SubTotal]) Then
            dblPart4SubTotal = 0
        Else
            dblPart4SubTotal = CDbl([txtPart4SubTotal])
        End If
        
        If IsNull([txtPart5Name]) Then
            strPart5Name = ""
        Else
            strPart5Name = [txtPart5Name]
        End If
        
        If IsNull([txtPart5UnitPrice]) Then
            dblPart5UnitPrice = 0
        Else
            dblPart5UnitPrice = CDbl([txtPart5UnitPrice])
        End If
        
        If IsNull([txtPart5Quantity]) Then
            intPart5Quantity = 0
        Else
            intPart5Quantity = CInt([txtPart5Quantity])
        End If
        
        If IsNull([txtPart5SubTotal]) Then
            dblPart5SubTotal = 0
        Else
            dblPart5SubTotal = CDbl([txtPart5SubTotal])
        End If
    
        If IsNull([txtJobPerformed1]) Then
            strJobPerformed1 = ""
        Else
            strJobPerformed1 = [txtJobPerformed1]
        End If
        
        If IsNull([txtJobPrice1]) Then
            dblJobPrice1 = 0
        Else
            dblJobPrice1 = CDbl([txtJobPrice1])
        End If
    
        If IsNull([txtJobPerformed2]) Then
            strJobPerformed2 = ""
        Else
            strJobPerformed2 = [txtJobPerformed2]
        End If
        
        If IsNull([txtJobPrice2]) Then
            dblJobPrice2 = 0
        Else
            dblJobPrice2 = CDbl([txtJobPrice2])
        End If
    
        If IsNull([txtJobPerformed3]) Then
            strJobPerformed3 = ""
        Else
            strJobPerformed3 = [txtJobPerformed3]
        End If
        
        If IsNull([txtJobPrice3]) Then
            dblJobPrice3 = 0
        Else
            dblJobPrice3 = CDbl([txtJobPrice3])
        End If
    
        If IsNull([txtJobPerformed4]) Then
            strJobPerformed4 = ""
        Else
            strJobPerformed4 = [txtJobPerformed4]
        End If
        
        If IsNull([txtJobPrice4]) Then
            dblJobPrice4 = 0
        Else
            dblJobPrice4 = CDbl([txtJobPrice4])
        End If
    
        If IsNull([txtJobPerformed5]) Then
            strJobPerformed5 = ""
        Else
            strJobPerformed5 = [txtJobPerformed5]
        End If
        
        If IsNull([txtJobPrice5]) Then
            dblJobPrice5 = 0
        Else
            dblJobPrice5 = CDbl([txtJobPrice5])
        End If
        
        If IsNull([txtTotalParts]) Then
            curTotalParts = 0
        Else
            curTotalParts = [txtTotalParts]
        End If
        
        If IsNull([txtTotalLabor]) Then
            curTotalLabor = 0
        Else
            curTotalLabor = CCur([txtTotalLabor])
        End If
        
        If IsNull([txtTaxRate]) Then
            dblTaxRate = 0
        Else
            dblTaxRate = CDbl([txtTaxRate])
        End If
        
        If IsNull([txtTaxAmount]) Then
            curTaxAmount = 0
        Else
            curTaxAmount = CCur([txtTaxAmount])
        End If
        
        If IsNull([txtRepairTotal]) Then
            curRepairTotal = 0
        Else
            curRepairTotal = CCur([txtRepairTotal])
        End If
        
        If IsNull([txtRepairDate]) Then
            dteRepairDate = 0
        Else
            dteRepairDate = CDate([txtRepairDate])
        End If
        
        If IsNull([txtTimeReady]) Then
            dteTimeReady = 0
        Else
            dteTimeReady = [txtTimeReady]
        End If
        
        If IsNull([txtRecommendations]) Then
            strRecommendations = ""
        Else
            strRecommendations = [txtRecommendations]
        End If
        
        ' Just in case the order total was not calculated, do it now
        CalculateOrder
        
        Dim strInsertInto As String, strValues As String
        
        strInsertInto = _
    	"INSERT INTO RepairOrders(CustomerName, CustomerAddress, " & _
                   "CustomerCity, CustomerState, CustomerZIPCode, CarMakeModel, " & _
                    "CarYear, ProblemDescription, Part1Name, Part1UnitPrice, " & _
                    "Part1Quantity, Part1SubTotal, Part2Name, Part2UnitPrice, " & _
                    "Part2Quantity, Part2SubTotal, Part3Name, Part3UnitPrice, " & _
                    "Part3Quantity, Part3SubTotal, Part4Name, Part4UnitPrice, " & _
                    "Part4Quantity, Part4SubTotal, Part5Name, Part5UnitPrice, " & _
                     "Part5Quantity, Part5SubTotal, JobPerformed1, JobPrice1, " & _
                        "JobPerformed2, JobPrice2, JobPerformed3, JobPrice3, " & _
                        "JobPerformed4, JobPrice4, JobPerformed5, JobPrice5, " & _
                    "TotalParts, TotalLabor, TaxRate, TaxAmount, RepairTotal, " & _
                        "RepairDate, TimeReady, Recommendations)"
        
        strValues = "VALUES(""" & [txtCustomerName] & _
    	" "", """ & strCustomerAddress & """, """ & _
                       strCustomerCity & """, """ & strCustomerState & """, """ & _
                  strCustomerZIPCode & """, """ & [txtCarMakeModel] & """, """ & _
                       intCarYear & """, """ & [txtProblemDescription] & """, """ & _
                            strPart1Name & """, """ & dblPart1UnitPrice & """, """ & _
                       intPart1Quantity & """, """ & dblPart1SubTotal & """, """ & _
                            strPart2Name & """, """ & dblPart2UnitPrice & """, """ & _
                       intPart2Quantity & """, """ & dblPart2SubTotal & """, """ & _
                            strPart3Name & """, """ & dblPart3UnitPrice & """, """ & _
                       intPart3Quantity & """, """ & dblPart3SubTotal & """, """ & _
                            strPart4Name & """, """ & dblPart4UnitPrice & """, """ & _
                       intPart4Quantity & """, """ & dblPart4SubTotal & """, """ & _
                            strPart5Name & """, """ & dblPart5UnitPrice & """, """ & _
                       intPart5Quantity & """, """ & dblPart5SubTotal & """, """ & _
                            strJobPerformed1 & """, """ & dblJobPrice1 & """, """ & _
                            strJobPerformed2 & """, """ & dblJobPrice2 & """, """ & _
                            strJobPerformed3 & """, """ & dblJobPrice3 & """, """ & _
                            strJobPerformed4 & """, """ & dblJobPrice4 & """, """ & _
                            strJobPerformed5 & """, """ & dblJobPrice5 & """, """ & _
                            curTotalParts & """, """ & curTotalLabor & """, """ & _
                            dblTaxRate & """, """ & curTaxAmount & """, """ & _
                            curRepairTotal & """, """ & dteRepairDate & """, """ & _
                            dteTimeReady & """, """ & strRecommendations & """);"
        
        Set conCPAS = Application.CurrentProject.Connection
        conCPAS.Execute strInsertInto & " " & strValues
        MsgBox "The new repair order has been added to the database"
        
        ' Reset the form in case the user wants to create a new record
        cmdResetOrder_Click()
    
        Exit Sub
        
    cmdSubmitRepairOrder_Error:
        MsgBox "There was a problem processing this order" & vbCrLf & _
               "Please call the IT Support team and report the error as" & vbCrLf & _
               CStr(Err.Number) & ": " & Err.Description
        Resume Next
    End Sub
  61. Revenir au Microsoft Access
  62. Commuter la forme à la vue de forme
     
    College Park Auto-Shop - New Repair Order
  63. Économiser et fermer la forme
  64. Close the database

 

 

 

Précédent Copyright © Yevol, 2007 Suivant