TEXTBOX associer à un bouton

cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 2 août 2008 à 10:00
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 4 août 2008 à 11:10
bonjour
dans une form,j'ai 26 bouton et chaque bouton est nomé avec une lettre de l'alphabet.
j'ai aussi dans cette form des textbox.
et une base access .
est il possible lorsque je click sur un bouton il récupère le premier enregistrement de ma base comencant par cette lettre et il les associes aux textbox
voila le code pour pour la connexion avec ma base
Private Sub Form_Load()
'Type de bases de donnée pour la connexion
   MaConnection.Provider = "Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=" & App.Path & "\BD\centre_aéré.mdb;" & "Persist Security Info=False"
    'Chemin de la base de donnée (APP.PATH permet de ce mettre dans le chemin
    'courant la ou ce trouve le projet)
    MaConnection.ConnectionString = App.Path & "\BD\centre_aéré.mdb"
    'Ouverture de la connection
    MaConnection.Open
    'Ouverture de la requête sql dans le recordset
    rs.Open "Select * from centre_aéré ORDER BY  nomenfant_ctr", MaConnection, adOpenDynamic, adLockOptimistic


End Sub
exemple,si je click sur le bouton B
T1      T2      T3       T4        T5              T6           T7          T8                T9
B        BB      BBB    BBBB   BBBBB     BBBBBB   BBBBBBB    BBBBBBBB     BBBBBBBBB
ensuite avec un bouton suivant j'irai à l'autre enregistrement qui commence toujours par
le lettre qui a était sélectionner

Private Sub suivant_Click()
'Permet d'aller a l'enregistrement suivant dans la table
rs.MoveNext
'Si plus d'enregistrement aller au dernier
If rs.EOF Then
    rs.MoveLast
     MsgBox "dernier enregistrement de la Base !"
End Sub
merci
@ plus
petchy

36 réponses

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
2 août 2008 à 11:13
Salut,
il suffit de récupèrer la caption de ton boutton
et de le passer en paramètre à ta requete.
Mais avant je te conseille de disposer tes bouttns en collection.
Btn(0), Btn(1), Btn(2)...etc pour n' avoir qu'un seul l' evenement Click.


Private Sub Btn_Click(Index As Integer)
Dim sLetter As String,sQuery As String
sLetter=Btn(Index).Caption
sQuery= "Select * from centre_aéré Where nomenfant_ctr LIKE '" & _
sLetter & "'* ORDER BY  nomenfant_ctr"

rs.Open sQuery, MaConnection, adOpenDynamic, adLockOptimistic
...
<Traitement>
End Sub






 





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
2 août 2008 à 11:18
Private Sub suivant_Click()
'Permet d'aller a l'enregistrement suivant dans la table



'ATTENTION ! tester avant de se deplacer
If Not (rs.EOF) Then
   rs.MoveNext
Else
  ' plus d'enregistrement aller au dernier
   rs.MoveLast
    MsgBox "dernier enregistrement de la Base !"
End If
End Sub





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
2 août 2008 à 11:36
Re
merci de me répondre,mais ça ne fonctionne pas
quand je click 1 fois rien ne se passe,et si je click une sconde fois,il me mets un messge d'erreur 3705
voila le code
Private Sub Btn_let_Click(Index As Integer)
Dim sLetter As String, sQuery As String
sLetter = Btn_let(Index).Caption
sQuery = "Select * from centre_aéré Where nomenfant_ctr LIKE '" & sLetter & "'* ORDER BY  nomenfant_ctr"


rs.Open sQuery, MaConnection, adOpenDynamic, adLockOptimistic
    rensei(0) = rs!nomenfant_ctr
    rensei(1) = rs!prenomenfant_ctr
    rensei(2) = rs!pere_ctr
    rensei(3) = rs!mere_ctr

End Sub

petchy
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
2 août 2008 à 11:55
Tu ne nous aide pas beaucoup !
Ou est la description de l' erreur ?
J' ai du la chercher..
Quoiqu' il en soit, il s' agit probablement de :
 'Ouverture de la connection
    MaConnection.Open

En effet il faut tester avant si la connection n' est pas déjà ouverte.

Pas sûr de la synthaxe:
If MaConnection.State=0 Then  MaConnection.Open

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
2 août 2008 à 12:15
enchaines avec ceci en corrigeant une erreur au niveau de LIKE ...*'


sQuery = "Select * from centre_aéré Where nomenfant_ctr LIKE '" & sLetter & "*' ORDER BY  nomenfant_ctr"


rs.Open sQuery, MaConnection, adOpenDynamic, adLockOptimistic
   With rs
      If .Bof And .Eof Then
         MshBox "Aucun Enregistrement
      Else
        rensei(0) = !nomenfant_ctr
        rensei(1) = !prenomenfant_ctr
        rensei(2) = !pere_ctr
        rensei(3) = !mere_ctr
     End If
End With





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
2 août 2008 à 12:19
désolé
mais j'ai toujours l'erreur sur :
"cette opération n'est pas autorisée si l'objet est ouvert"
rs.Open sQuery, MaConnection, adOpenDynamic, adLockOptimistic
petchy
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
2 août 2008 à 12:27
fermes ton rs avant
..
rs.Close
rs.Open sQuery, MaConnection, adOpenDynamic, adLockOptimistic

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 août 2008 à 12:33
salut,
et la requête LIKE est avec %, pas *
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
2 août 2008 à 12:53
ça se précise
j'ai modifier la requête LIKE avec %.

Dim sLetter As String, sQuery As String
sLetter = Btn_let(Index).Caption
rs.Close
sQuery = "Select * from centre_aéré Where nomenfant_ctr LIKE '" & sLetter & "%' ORDER BY  nomenfant_ctr"


rs.Open sQuery, MaConnection, adOpenDynamic, adLockOptimistic
  With rs
      If .BOF And .EOF Then
         MsgBox "Aucun Enregistrement"
      Else
rensei(0) = rs!nomenfant_ctr
rensei(1) = rs!prenomenfant_ctr

mais maintenant quand je click sur un bouton pour faire afficher les enregistrement.
jai des imputbox qui s'affiche :
Binding Collection Error
Field not updatable,bound property Name : Text,Field Name : nomenfant_ctr
sur chaque textbox,et quand je fait OK sur les imputbox les infos s'affiche dans tous les textbox.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 août 2008 à 13:05
tu as un espace en trop après BY
tu n'as pas de .MoveFirst

ps : met ton rs.close en sortie, pas en entrée...
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
2 août 2008 à 13:06
J' ai pas vraiment d' idée du pourquoi,mais à tout hasard:

With rs
      If .Bof And .Eof Then
         MshBox "Aucun Enregistrement
      Else
        rensei(0).Text = !nomenfant_ctr
        rensei(1).Text  = !prenomenfant_ctr
        rensei(2).Text = !pere_ctr
        rensei(3).Text = !mere_ctr
     End If
End With

ou alors, si tes TextBx sont liés pas la peine d' affecter ...

rs.Close
rs.Open sQuery, MaConnection, adOpenDynamic, adLockOptimistic

On Error Resume Next
rs.MoveLast
rs.MoveFirst   

If rs.Bof And rs.Eof Then _
         MshBox "Aucun Enregistrement"

sinon, tes textbox afficheront le premier enregistrement

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 août 2008 à 13:07
et tu peux aussi supprimer cette ligne :
MaConnection.ConnectionString = App.Path & "\BD\centre_aéré.mdb"
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
2 août 2008 à 13:09
Salut PCPT,
"..met ton rs.close en sortie, pas en entrée"

Pas d' acc , il en a besoin pour se deplacer.

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 août 2008 à 13:16
exact je n'avais pas fait attention au bouton suivant ni à la requête d'ouverture

ne pas oublier néanmoins de fermer le RS à la fermeture de la fenêtre
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
2 août 2008 à 14:07
j'ai tous essayer mais j'ai toujours c'est fameux imputbox des qu'ils y a un changement dans les textbox.
et quand je click sur le bouton suivant il n'y à pas de changement.
petchy
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 août 2008 à 14:15
tu as un évènement au _Change() ?
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
2 août 2008 à 14:17
non,aucun évènement sur _change()
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
2 août 2008 à 14:27
t' as pas un numero auto comme cle primaire ?

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 août 2008 à 14:27
... une input avec quelle question, soit plus précis

copie-nous peut-être tout ton code, çà sera plus pratique
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
2 août 2008 à 14:37
voila la question de l'imputbox
Binding Collection Error
Field not updatable,bound property Name : Text,Field Name : nomenfant_ctr

oui,j'ai bien un numéro auto comme clé primaire
0
Rejoignez-nous