Base de données

maw - 22 mai 2000 à 11:49
 Mariner - 22 mai 2000 à 14:49
Bonjour

voilà sur un form j'ai un controle data1 relié à une base access
(jusqu'à la pas de prob).
j'ai insérer 3 textbox dont 2 relié au data1 (champ numero et nom)
le 3eme textbox est destiné à faire une recherche.
je m'explique : lorque l'utilisateur entre une valeur dans le 3eme textbox
je souhaite un code qui fasse une recherche dans data1 et qui me trouve l'enregistrement
correspondant et l'affiche dans le 1 et 2 eme textbox (qui eux sont lié à data1)
moi je sèche (mais je suis encore débutant)

1 réponse

Bien, le magicien à la rescousse! :))

J'ai jamais travaillé avec les contrôles Data pcq je préfère le code pur. Malgré tout je suis arrivé à ceci:

=Dans la section (Declaration) de ta feuille, ou ailleurs c'est comme tu veux:
Dim SearchFlag1 as Boolean 'Init par VB à False, donc aucun besoin de le faire

=Pour Text3:
Private Sub Text3_KeyPress(KeyAscii As Integer)
If (KeyAscii = 13) Then
If SearchFlag1 Then
Data1.Recordset.FindNext "Nom = '" & Text3 & "'"
Else
Data1.Recordset.FindFirst "Nom = '" & Text3 & "'"
SearchFlag1 = True
End If

If Data1.Recordset.NoMatch Then
MsgBox "Base de données complètement parcourue."
SearchFlag1 = False
'Else
End If
'Else
End If
End Sub

=Optionnellement:
Private Sub Text3_DblClick()
Text3_KeyPress (13)
End Sub

ET

Private Sub Form_Load()
Text3 = vbNullString
End Sub

=======
Maintenant, à chaque fois que tu tape <Entrée>, il recherche le suivant et te dis quand il as atteint la fin. Mais en plus il retourne au premier trouvé quand, après avoir reçu le message, tu retape <Entrée>. C t'y pas merveilleux ça? ^_^'
0
Rejoignez-nous