formulaire de recherche sous access
On a fait un peu de VB en cours la semaine dernière, rien de bien folichon, mais j'avais envie d'approfondir un peu alors je me suis lancé dans un petit projet au taff.
J'ai une basse de donnée access et j'aimerais faire une recherche dans celle ci à l'aide d'un formulaire.
( Je bosse dans un cabinet d'étude. A la base se sont des affaires qui sont archivées sur DVD. J'aimerais grace à ce programme, tapper un nom ou un numero d'affaire et retrouver ainsi sur quel DVD elle ou il se trouve )
J'ai du faire dans ma vie une dizaine d'heure de VB et jamais de SQL. Justement, dans mon petit prog, j'ai une requete SQL a effectuer, je pense qu'il y a eu erreur dans celle-ci, mais je n'arrive pas à la trouver.
J'ai crée une base de donnée simple pour faire un test.
Dans celle ci je voudrais faire une rechercher à partir d'une txtbox.
C'est à dire que lorsque je tappe trois lettre dans la txtbox par exemple, la fonction recherche me cherche tous le mots contenant ces trois lettre dans ma base de donnée. Est ce que je suis assez clair ?
Donc voici ma table de test ( à savoir que ma base de donnée contient plus de 1000 entrées, je n'ai pas voulut travailler dessus tout de suite, je le ferais quand je maitriserai un peu plus )
http://img518.imageshack.us/img518/9686/form2om3.jpg
et le formulaire ( très basique )
http://img464.imageshack.us/img464/430/formzk4.jpg
Quand je clique sur "nom" par exemple dans le formulaire, j'aimerais que le nom tappé soit recherché et inscrit dans la liste en dessous.
C'est pas très compliqué à prioris mais bon, chez moi ça veut pas tongue.gif
voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
Private Sub Form_Load()
Dim ctl As Control
For Each ctl In Me.Controls
Select Case Left(ctl.Name, 5)
Case "coche"
ctl.Value = 0
Case "modif"
ctl.Visible = False
End Select
Next ctl
ListeResultat.RowSource = "SELECT [AFFAIRES].[id], [AFFAIRES].[numero], [AFFAIRES].[nom], [AFFAIRES].[date], [AFFAIRES].[dvd] FROM [AFFAIRES];"
ListeResultat.Requery
End Sub
Private Sub rafraichir()
Dim SQL As String
SQL = "SELECT [AFFAIRES].[id], [AFFAIRES].[numero], [AFFAIRES].[nom], [AFFAIRES].[date], [AFFAIRES].[dvd] FROM [AFFAIRES]where AFFAIRES!numero<>0 "
If Cochenom Then
On Error Resume Next
SQL = SQL & "And [AFFAIRES]![AFFAIRES].[nom] like '" & modifnom.Text & "*' "
End If
SQL = SQL & ";"
ListeResultat.RowSource = SQL
ListeResultat.Requery
End Sub
Private Sub ModifNom_BeforeUpdate(Cancel As Integer)
rafraichir
End Sub
Private Sub cocheNom_Click()
modifnom.Visible = Not modifnom.Visible
rafraichir
End Sub
Private Sub ModifNom_KeyUp(KeyCode As Integer, Shift As Integer)
rafraichir
End Sub |
Citation:
J'ai donné des noms aux cases à cocher et aux txtbox
case à cocher nom : CocheNom
text box nom : ModifNom
case à cocher numéro : CocheNuméro
text box numéro : ModifNuméro
et la liste : ListeResultat
J'ai trouvé la source sur le net, un petit tuto sympa, mais la je bloque.
Lorsque je rentre le mot à rechercher dans la textbox, il ne m'éffectue pas la recherche dans la listbox.
la question est : est ce que vous pouvez me venir en aide ? :mrgreen:
Merci bien.