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 à 14:44
je m' en doutais  !
Désolé pour toi,Je crois bien que je vais abandonné.
Les numero auto, j' aime pas trop.

Toutes fois, t' as bien viré les
<strike>rensei(0).Text = !nomenfant_ctr
rensei(1).Text  = !prenomenfant_ctr
rensei(2).Text = !pere_ctr
rensei(3).Text = !mere_ctr
</strike>

<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:55
c'est pas une inputbox çà....

peux-tu nous transmettre une capture de cette fenêtre, ainsi que celle de la structure de ta table stp

(en attendant tout ton code )

précise-nous aussi la version de ta base de donnée, et si RS est un objet d'ADO ou de DAO, version précise également
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
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 à 15:04
en attendant, ne lie aucun textbox au champ numero auto(cle primaire).Si t' as déjà un sur ta fenêtre supprimes le.

<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 à 17:35
Re
access 2003
DAO 3.51
RS >> adohttp://pageperso.aol.fr/Pascalecas/gifs/erreur.PNGhttp://pageperso.aol.fr/Pascalecas/gifs/erreur.PNG

voila le code
Private Sub Btn_let_Click(Index As Integer)
Dim sLetter As String, sQuery As String
On Error Resume Next


sLetter = Btn_let(Index).Caption


sQuery = "Select * from centre_aéré Where nomenfant_ctr LIKE '" & sLetter & "%' ORDER BY nomenfant_ctr"
rs.Close
rs.Open sQuery, MaConnection, adOpenDynamic, adLockOptimistic
rs.MoveLast
rs.MoveFirst


If rs.BOF And rs.EOF Then _
         MsgBox "Aucun Enregistrement"


   rensei(0) = rs!nomenfant_ctr
   rensei(1) = rs!prenomenfant_ctr
   rensei(2) = rs!pere_ctr
   rensei(3) = rs!mere_ctr
   rensei(4) = rs!adresse_ctr
   rensei(5) = rs!commune_ctr
   rensei(6) = rs!emploi_ctr
   rensei(7) = rs!sexe_ctr
   rensei(8) = rs!datenaiss_ctr
   Txt_caf = rs!caf_ctr
   M1 = rs!telfixe_ctr
   M2 = rs!telport_ctr
   Text1 = rs!age_ctr
   txt_obs = rs!obs_ctr
   TX1(0) = rs!sem1_ctr
   TX1(1) = rs!sem2_ctr
   TX1(2) = rs!sem3_ctr
   TX1(3) = rs!sem4_ctr
   TX1(4) = rs!sem5_ctr
   TX1(5) = rs!sem6_ctr
   TX1(6) = rs!sem7_ctr
   TX1(7) = rs!sem8_ctr
   TX2(0) = rs!semjour1_ctr
   TX2(1) = rs!semjour2_ctr
   TX2(2) = rs!semjour3_ctr
   TX2(3) = rs!semjour4_ctr
   TX2(4) = rs!semjour5_ctr
   TX2(5) = rs!semjour6_ctr
   TX2(6) = rs!semjour7_ctr
   TX2(7) = rs!semjour8_ctr
   TX2(8) = rs!semjour9_ctr
   TX3(0) = rs!sem1
   TX3(1) = rs!sem2
   TX3(2) = rs!sem3
   TX3(3) = rs!sem4
   TX3(4) = rs!sem5
   TX3(5) = rs!sem6
   TX3(6) = rs!sem7
   TX3(7) = rs!sem8
   TX3(8) = rs!sem4_1
  


 


End Sub
0

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

Posez votre question
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 à 19:09
ADO et DAO ????
à n'y rien comprendre

et le code n'est pas complet là?...

et en pas à pas l'erreur est sur quelle ligne?

tes zones ne sont pas attachées aussi à la table en mode édition au moins?

voici une légère modif pour isoler plus facilement le problème, à tester....

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 & "%' WHERE 1 = 1
ORDER BY nomenfant_ctr;"
    rs.Close
    On Error Resume Next
    rs.Open sQuery, MaConnection, adOpenDynamic,
adLockOptimistic
    If Err.Number Then
        MsgBox "erreur de requête :
" & Err.Description
        Exit Sub
    End If
    
    rs.MoveLast
    rs.MoveFirst
    If Err.Number Then
        MsgBox "erreur de curseur DB :
" & Err.Description
        Exit Sub
    End If
    
    On Error GoTo 0 'faut arrêter la
gestion d'erreur sinon comment voir la suite...
    
    If rs.BOF And rs.EOF Then
         MsgBox "Aucun Enregistrement"
         Exit Sub 'il faut quitter sinon on
continue alors qu'il n'y a rien à lire
    End If
    
   rensei(0) = rs!nomenfant_ctr
   rensei(1) = rs!prenomenfant_ctr
   rensei(2) = rs!pere_ctr
   rensei(3) = rs!mere_ctr
   rensei(4) = rs!adresse_ctr
   rensei(5) = rs!commune_ctr
   rensei(6) = rs!emploi_ctr
   rensei(7) = rs!sexe_ctr
   rensei(8) = rs!datenaiss_ctr
   Txt_caf = rs!caf_ctr
   M1 = rs!telfixe_ctr
   M2 = rs!telport_ctr
   Text1 = rs!age_ctr
   txt_obs = rs!obs_ctr
   TX1(0) = rs!sem1_ctr
   TX1(1) = rs!sem2_ctr
   TX1(2) = rs!sem3_ctr
   TX1(3) = rs!sem4_ctr
   TX1(4) = rs!sem5_ctr
   TX1(5) = rs!sem6_ctr
   TX1(6) = rs!sem7_ctr
   TX1(7) = rs!sem8_ctr
   TX2(0) = rs!semjour1_ctr
   TX2(1) = rs!semjour2_ctr
   TX2(2) = rs!semjour3_ctr
   TX2(3) = rs!semjour4_ctr
   TX2(4) = rs!semjour5_ctr
   TX2(5) = rs!semjour6_ctr
   TX2(6) = rs!semjour7_ctr
   TX2(7) = rs!semjour8_ctr
   TX2(8) = rs!semjour9_ctr
   TX3(0) = rs!sem1
   TX3(1) = rs!sem2
   TX3(2) = rs!sem3
   TX3(3) = rs!sem4
   TX3(4) = rs!sem5
   TX3(5) = rs!sem6
   TX3(6) = rs!sem7
   TX3(7) = rs!sem8
   TX3(8) = rs!sem4_1
End Sub

Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
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 à 20:22
Re
merci de prendre le temps de répondre à mon probleme.
et désolé pour le manque d'info
voila le message d'erreur quand je click sur un bouton
http://pageperso.aol.fr/Pascalecas/erreur1.PNG
et si je click une seconde fois j'ai une erreur
http://pageperso.aol.fr/Pascalecas/erreur2.PNG
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
3 août 2008 à 00:15
Re_

Intriguant !
Pourquoi il bug sur le champ Commune ?
Qu' est-ce qu' a de particulier ce champ ?
Est-ce que tu as une table COMMUNES en relation ?
Le control associé n' est-il pas un combo style DropDownList ?
Si oui vires
<strike>rensei(5) = rs!commune_ctr
</strike>

<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
3 août 2008 à 00:59
désolé pour le flood !
Ne prêtez pas attention à mon dernier post .

Comme dit PCPT: Demandons plus d' info.
 Notament sur la declaration de MaConnection
et de rs.Et si oui ou non les controls sont liés.

PCPT:Pour la requete, je pense qu' il faudera revenir au * au lieu de %

A suivre..

<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
3 août 2008 à 08:18
Bonjour

'Déclaration des deux variables pour la connexion
Dim MaConnection As New ADODB.Connection
Dim rs As New ADODB.Recordset

par contre je ne comprends pas se que tu veut dire "Et si oui ou non les controls sont liés"
petchy
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
3 août 2008 à 14:02
Bonjour patchy,

Un control est lié (ou est associé) lorsque ses proprietés DataSource et DataField sont définis.Ce que j' en doute fort puisque tu n' utilises pas de control Adodc.Néanmoins ça peut se faire par code.
 
Alors ou est-ce que tu en es  ?
Ton projet avance ou tu comptes travailler le dimanche ?

<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
3 août 2008 à 15:13
oups petite erreur de ma part pour la requête oui :
sQuery  "SELECT * FROM [centre_aéré] WHERE nomenfant_ctr LIKE '" & sLetter & "%' AND 1 1 ORDER BY nomenfant_ctr;"

beh oui 2 WHERE c'est pas très SQL tout çà ^^
et j'avais mis çà pour DAO qui a parfois besoin d'un petit coup de pouce...

LIBRE_MAX -> * c'est le gros joker LIKE de VB, % c'est le gros joker LIKE de SQL

petchy -> as-tu supprimé la ligne de connectionstring que je t'avais dit?
et pour le code j'ai mis exit sub dès qu'il y avait "un bug", qu'as-tu modifié pour arriver au 2e message d'erreur? logiquement les 2 fois le moteur SQL aurait dû te jeter à cause de la requête....
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 août 2008 à 15:17
en relisant le message j'ai vu oui
tu essayes de ferme le RS qui l'est déjà....

remplace donc
RS.close
par
if not(rs.state=adstateclosed) then rs.close
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
3 août 2008 à 18:00
Re

LIBRE_MAX >> eh oui,je travaille le dimanche sur se code qui me pose un probleme

PCPT >> oui,j'ai bien supprimé la ligne
et pour la seconde erreur,c'est en cliqant une seconde fois sur le bouton qu'il m'a afficher l'erreur,je n'est rien modifier.

sinon PCPT,j'ai modifier le code ,mais c'est toujours pareil,il m'affiche se fameux "imputbox"ou un truc de se genre,à chaque

@ plus
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
3 août 2008 à 18:28
là j'suis à cours d'idées...

si tu veux éventuellement héberger ta source avec la DB, j'peux jeter un oeil...
++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
4 août 2008 à 05:25
bonjour
merci à vous d'avoir consacrer du temps,mais je crois que vais laisser de coter cette partie pour mon projet ,et vais regarder pour éventuellement faire autre chose.
encore merci
@ plus
petchy
  
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
4 août 2008 à 11:10
Bonjour petchy,
désolé(s) de n' avoir pu t' aider d' avantage.
Ne te décourages pas.Essaies plutôt d' utiliser
un objet Adodc sur ton formulaire.Lies ensuite tes textbox à cet Adodc et définis DataField pour chacun.
Il ne te resteras plus qu' à agir sur le RecordSource
de l' Adodc à chaque nouvelle requete.
Pour Suivant Precedent tu agiras sur le Recordset de l' Adodc.
Si tu n' as pas d' idée comment faire, utilises dans un premier temps l' assistant création feuille de données.
Si tu as encore des problèmes, n' hésites pas à ouvrir un topic.On fera de nouveau ce qu' on pourrait.

Bon curage.
Amicalement. .

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