Précédente     TOC Contenu     Suivante                    



Notes de cours 9

VB et Bases de données ... suite



Trouver un enregistrement spécifique

On peut chercher seulement sur un champ à la fois.

Il faudra créer un nouveau TextBox pour saisir le critère de recherche. On met le TextBox de critère comme TabIndex = 0. La recherche sera activée par le LostFocus du Textbox. Si on ne fait pas de recherche (le critère est vide) la fonction ne fait rien.




La syntaxe du Find est un peu difficile - il faut surveiller la ponctuation:

DataControl.Recordset.FindFirst "fieldname = 'searchstring'"

C'est pourquoi c'est préférable de construire le 'searchstring', comme dans le code suivant:

Private Sub txtTrouver_LostFocus()
    Dim strNom As String
    strNom = Trim(txtTrouver.Text) & "*"
    strNom = "au_Lname like '" & strNom & "'"
    If txtTrouver.Text <> "" Then
        datAuthors.Recordset.FindFirst strNom
    End If
End Sub





Utiliser plusieurs data controls

Pour utiliser plusieurs tables dans un même Form il faut créer plusieurs DataControls.

Chaque Data control est rattaché à une seule table.

Prenons le form "BookAuthor", par exemple:




Les deux nouveaux controls sont: DBList et DBCombo. Ils fonctionnent comme le List et le Combo normal mais, ils peuvent être rattacher à une table, ce que les autres ne peuvent pas faire.








Il faut rattacher chacun des data controls à la table appropriée.

Notez que dans une base Access, une requête est traitée exactemment comme une table. Un data control peut être rattaché à une Requête.





Pour afficher la liste des auteurs dans le DBList, il faut spécifier les propriétés: List

Les propriétés Data servent à spécifier où l'information saisie sera stockée.







Quiz: Comment pourriez-vous obtenir le résultat suivant dans le DBList pour Authors:





La portabilité de l'application

Pour pouvoir exécuter l'application, il faut avoir accès à la base de données.

Si le path de la b.d. est spécifié dans les propriétés on peut seulement l'appeler du même répertoire que celui où elle a été créée.

En mettant le path dans le code l'application est portable.


Private Sub Form_Load()
    datBA.DatabaseName = App.Path & "\bookstor97b.mdb"
    datBA.RecordSource = "bookauthor"
    datAuthors.DatabaseName = App.Path & "\bookstor97b.mdb"
    datAuthors.RecordSource = "authors"
End Sub







Si vous ne voyez pas içi ce que vous cherchez en Visual Basic,
utilisez la recherche Google pour trouver des ressources additionnelles.

Google






Haut de la page





Accueil