Page d'Accueil

Enregistrer la création sur un ensemble 

 

Employer le Microsoft Access ou le DAO

Une des opérations les plus courantes a exécuté sur une base de données se compose créer des disques. Dans les leçons précédentes, nous avions vu différentes manières de faire ceci dans le SQL, la bibliothèque des programmes résultants de Microsoft Access, et DAO. Si en utilisant un objet de Recordset dans une base de données qui emploie la bibliothèque des programmes résultants de Microsoft Access ou DAO, pour créer un nouveau disque

  1. Appeler la méthode d'AddNew () de votre objet de Recordset
  2. Identifier chaque colonne dont la valeur vous savez en passant son nom comme index à la propriété de champs, et lui assignez (et s'approprier) la valeur désirée. Il est important de maintenir dans l'esprit que là pas vérifierait les champs requis ou les types de valeurs jusqu'au code fonctionne. Ceci signifie que vous devriez se rendre compte des types de valeurs que vous traitez et vous devriez connaître quelles colonnes sont exigées
  3. Après avoir assigné les valeurs, appeler la méthode de mise à jour () d'objet de Recordset.

 

Voici un exemple en utilisant DAO pour créer un nouveau disque dans une table appelée Videos :

Private Sub cmdAddVideo_Click()
   Dim dbVideoCollection As DAO.Database
   Dim rstVideos As DAO.Recordset

   Set dbVideoCollection = CurrentDb
   Set rstVideos = dbVideoCollection.OpenRecordset("Videos")

   rstVideos.AddNew
   rstVideos("Title").Value = "Cape Fear"
   rstVideos("Director").Value = "Martin Scorsese"
   rstVideos("CopyrightYear").Value = 1991
   rstVideos("Length").Value = "2 Hours 8 Mins"
   rstVideos("Rating").Value = "R"
   rstVideos.Update
End Sub

Employer ADO

ADO emploie les mêmes étapes que DAO pour créer un nouveau disque mais elle prolonge l'approche. D'abord, vous devriez vérifier si l'objet de Recordset permettrait à un nouveau disque d'être ajouté. Pour faire ceci, vous pouvez appeler la méthode de Supports(). Sa syntaxe est:

boolean = recordset.Supports(CursorOptions)

L'argument passé à cette méthode est un membre de l'agent recenseur de CursorOptionEnum. Si vous voulez vérifier si l'addition record de soutiens d'ensemble record, passent cet argument comme adAddNew. Si l'ensemble record permet l'addition, la méthode renvoie vrai. Autrement elle renvoie faux. Après vérification de ceci, si l'addition record de soutiens d'ensemble record, vous peut alors assigner chaque valeur désirée à la colonne appropriée. Après avoir assigné les valeurs, appeler la méthode de mise à jour () d'objet de Recordset. Voici un exemple qui crée un nouveau disque avec les colonnes choisies dans une table appelée Videos :

Private Sub cmdAddNewVideo_Click()
    Dim rstVideos As ADODB.Recordset

    Set rstVideos = New ADODB.Recordset
    rstVideos.Open "Videos", CurrentProject.Connection, _
                   adOpenDynamic, adLockOptimistic, adCmdTable

    If rstVideos.Supports(adAddNew) Then
        rstVideos.AddNew
        rstVideos("Title").Value = "Leap of Faith"
        rstVideos("Director").Value = "Richard Pearce"
        rstVideos("Rating").Value = "PG-13"
        rstVideos.Update
    End If
   
   rstVideos.Close
   Set rstVideos = Nothing
End Sub

Étude pratique Étude pratique : Ajouter les nouveaux disques

 

 

  1. Dans la section de formes de la fenêtre de base de données, droit-cliquer NewInventoryItem et cliquer la vue de conception
  2. Droit-cliquer le bouton de remise et cliquer l'événement de construction…
  3. Double-cliquer le constructeur de code et mettre en application l'événement comme suit :
     
    Private Sub cmdReset_Click()
        Me.txtDateEntered = Date
        Me.txtItemNumber = ""
        Me.txtItemName = ""
        Me.cboItemCategoryID = 6
        Me.txtItemSize = ""
        Me.txtOriginalPrice = "0.00"
        Me.txtUnitsInStock = "0"
    End Sub
  4. Revenir à la forme, droit-cliquer le bouton de soumission et cliquer l'événement de construction…
  5. Double-cliquer le constructeur de code et mettre en application l'événement comme suit :
     
    Private Sub cmdSubmitItem_Click()
    On Error GoTo Err_cmdSubmitItem_Click
        Dim rstInventoryItems As ADODB.Recordset
        Dim rstSaleItems As ADODB.Recordset
        
        Set rstInventoryItems = New ADODB.Recordset
        
        rstInventoryItems.Open "InventoryItems", CurrentProject.Connection, _
                               adOpenDynamic, adLockOptimistic
        If rstInventoryItems.Supports(adAddNew) Then
            With rstInventoryItems
                .AddNew
                .Fields("DateEntered") = txtDateEntered
                .Fields("ItemNumber") = txtItemNumber
                .Fields("ItemName") = txtItemName
                .Fields("ItemCategoryID") = cboItemCategoryID
                .Fields("ItemSize") = txtItemSize
                .Fields("OriginalPrice") = txtOriginalPrice
                .Fields("UnitsInStock") = txtUnitsInStock
                .Update
            End With
        End If
        
        Set rstSaleItems = New ADODB.Recordset
        rstSaleItems.Open "SaleItems", CurrentProject.Connection, _
                               adOpenDynamic, adLockOptimistic
        
        If rstSaleItems.Supports(adAddNew) Then
            With rstSaleItems
                .AddNew
                .Fields("DateEntered") = txtDateEntered
                .Fields("ItemNumber") = txtItemNumber
                .Fields("ItemName") = txtItemName
                .Fields("ItemCategoryID") = cboItemCategoryID
                .Fields("ItemSize") = txtItemSize
                .Fields("MarkedPrice") = txtOriginalPrice
                .Fields("UnitsInStock") = txtUnitsInStock
                .Update
            End With
        End If
        
        cmdReset_Click
        
        rstInventoryItems.Close
        rstSaleItems.Close
        Set rstInventoryItems = Nothing
        Set rstSaleItems = Nothing
    
        Me.txtItemNumber.SetFocus
        
    Exit_cmdSubmitItem_Click:
        Exit Sub
    
    Err_cmdSubmitItem_Click:
        MsgBox Err.Description
        Resume Exit_cmdSubmitItem_Click
    End Sub
  6. Revenir à la forme et la sauver
  7. Commuter la forme à la vue de forme et créer les articles suivants :
     
    Identification d'article d'Orig Date écrite Article # Nom d'article Catégorie d'article Taille Prix original Quantité
    1 10-Feb-05 1001 Manteau Double-faced de laines Hommes Milieu 275.50 4
    2 05-Apr-04 1002 Chemisier en soie floral de réservoir Femmes Petit 180.00 5
    3 22-May-04 1003 Soulever le soutien-gorge Femmes D 50.00 12
    4 04-Sep-05 1004 Chemisier de mousseline de soie Femmes Milieu 265.50 2
    5 30-Mar-05 1005 Ceinture Skirtsuit d'arc Filles Grand 245.85 4
    6 16-Oct-04 1006 Câble-tricoter le chandail Filles Milieu 45.50 4
    7 08-Jul-04 1007 Jeans avec la ceinture de coeur Filles 32 25.65 10
    8 24-Nov-04 1008 Mini jupe à la mode Filles Petite 34.55 6
    9 15-May-05 1009 Double Dry Pants Women 12 28.55 8
    10 18-Feb-02 1010 Romantic Flower Dress Girls 14 24.85 5
    11 23-Apr-03 1011 Cotton Polo Shirt Men Large 45.65 8
    12 29-Apr-05 1012 Pure Wool Cap Women Small 25.75 5
    13 20-Jun-04 1013 Striped Cotton Shirt Boys Medium 65.75 12
    14 14-Jul-03 1014 Two-Toned Ribbed Crewneck Men Large 9.75 10
    15 27-Apr-04 1015 Chestnut Italian Shoes Men 10.5 165.00 6
    16 05-Jan-03 1016 Collar and Placket Jacket Men 40 265.15 4
    17 13-Mar-05 1017 Country Coat Rugged Wear Men Large 35.55 6
    18 22-Jun-02 1018 Carpenter Jeans Men 34 24.95 12
    19 04-Sep-04 1019 Double-Cushion Tennis Shoes Boys 10 48.95 5
    20 11-Nov-04 1020 Stitched Center-Bar Belt Men 38 32.50 4
    21 16-Aug-02 1021 Tweed Turtleneck Sweater Women S 29.95 4
    22 25-Nov-02 1022 Tweed Turtleneck Sweater Women M 29.95 4
    23 10-Jun-05 1023 Tweed Turtleneck Sweater Women L 29.95 4
    24 04-Oct-05 1024 Tweed Turtleneck Sweater Women XL 32.95 4
    25 08-Oct-05 1025 Tweed Turtleneck Sweater Women 2XL 32.95 4
    26 16-Jun-03 1026 Tweed Turtleneck Sweater Women 3XL 32.95 4
  8. Close the form

Précédent Copyright © Yevol, 2007 Suivant