cs_kirikou95
Messages postés60Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention27 février 2009
-
24 sept. 2007 à 11:46
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 2016
-
25 sept. 2007 à 13:18
Bonjour,
J'aurais besoin d'aide pour la rédaction de mon projet svp, c'est urgent et important.
Je souhaiterais afficher un menu déroulant avec les noms et prénom des utilisateurs au préalable saisis dans une base de donnée.
Si vous souhaitez avoir plus de précisions, n'hésitez pas.
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 24 sept. 2007 à 14:01
Oui je sais que c'est dans la base c'est bien pour ça que j'ai mis "nom_dans_la_base" comme valeur qui correspond en fait à la valeur inscrite dans la base de données dans le champ que tu veux afficher.
Dim myconnection as adodb.connection
dim myrecordset as adodb.recordset
set myconnection=new adodb.connection
myconnection.ConnectionString = "cheminfichier" 'chemin complet + gestion.mdb
myconnection.open
set myrecordset=new adodb.recordset
myrecordset.open "select nom_clients from client",myconnection, adOpenDynamic, adLockPessimistic
With myrecordset
If .RecordCount <> 0 Then 'Test pour vérifier qu'il y a au moins 1 enregistrement dans la table
.MoveFirst 'se déplacer sur le 1er enregistrement
'Boucle pour parcourir tous les enregistrement de ta table
Do While Not .EOF ' parcourt les enregistrements jusqu'au dernier
CB_NOM.AddItem .Fields("nom_client") 'Ajout des différents choix de la listbox
.MoveNext 'passer à l'enregistrement suivant
Loop
Else
MsgBox "Il n'y a pas d'enregistrement en cours", vbOKOnly
End If
.Close 'fermeture du recordset
End With
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 25 sept. 2007 à 10:58
Si j'ai bien compris ton problème, tu veux insérer un nouveau champ dans ta table CD que tu templis avec les données qui sont dans le champ NombreCD..
Le mieux est de faire une nouvelle requête Sql pour sélectionner les champs à remplir.
Dim prix as integer
prix=5
Sql="Select * from CD"
Tu ouvres ensuite un recordset :
myrecordset.open Sql,myconnection, adOpenDynamic, adLockPessimistic
With myrecordset
If .RecordCount <> 0 Then
Do While Not .EOF
.MoveFirst
.edit
.fields("TXTSOMME")=.fields("NombreCD")*Prix
.update 'pour enregistrer les changements
.movenext
Loop
Else
MsgBox "Il n'y a pas d'enregistrement en cours", vbOKOnly
End If
.Close 'fermeture du recordset
End With
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 24 sept. 2007 à 11:51
Bonjour,
Et alors?tu n'attends tout de même pas que l'on te fasse ton code en entier?as-tu fait une recherche sur le site ?
Il y a plein de messages ou de code traitant de ce sujet..As-tu un début de code qui pose problème??
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_kirikou95
Messages postés60Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention27 février 2009 24 sept. 2007 à 11:55
Bonjour,
Merci du moins pour la réponse. Sauf erreur de ma part, je pensais être dans la section "débutant" !
Il y a une manière de s'adresser aux gens. Je ne sais pas comment procéder voilà pourquoi je viens ici. Je ne suis pas stupide, j'ai fais des recherches et si je suis ici, c'est que je ne trouve pas.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 24 sept. 2007 à 12:02
Salut,
Non tu n'est pas dans la section débutant.
Bref.
- As tu fait le formulaire? si oui qu'as tu mis dedans?
- As tu fais la requete? Si oui obtiens un résultat?
- Sais tu parcourir un Recordset (objet contenant le résultat de la requete)
Pour obtenir une aide (rapide et claire) il faut nous donner le plus de précisions possibles.
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 24 sept. 2007 à 12:04
Ok,
petit conseil essayes de mieux poser le problème en expliquant plus en détail ça permet d'avoir des réponses plus rapides et plus précises..Tu es en vb6?Et ta base de données est une base de données access?
Pour commencer un peu regardes sur ce site du côté de ADO et des recordset..
Déjà il faut se connecter à la base de données :
Par exemple
nomBase = App.Path + "\tabase.mdb"
'initialisation et ouverture de la base
Set MonEspace = DBEngine.Workspaces(0)
Set base = MonEspace.OpenDatabase(nomBase)
Ensuite une requête SQL :
Sql = "select * from nomdetatable"
Set monRecordset = base.OpenRecordset(Sql)
With monRecordset
If .RecordCount <> 0 Then
.MoveFirst
Do While Not .EOF ' parcourt les enregistrements jusqu'au dernier
'Ajout des différents choix de la listbox
talistbox.AddItem .Fields("ton champ")
.MoveNext
Loop
Else
MsgBox "Il n'y a pas d'enregistrement en cours", vbOKOnly
End If
.Close 'fermeture du recordset
End With
cs_kirikou95
Messages postés60Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention27 février 2009 24 sept. 2007 à 12:12
Merci pour vos réponses. Je me suis certainement trompé alors, je pensais être dans la section débutant.
Alors, je vais essayer le plus clair possible :
Je suis sur VB6 et j'ai une base de donnée access.
J'ai déjà créé avec de l'aide ma fenêtre d'authentification, car je suis entrain de créer un petit programme de commande de CD. Je voudrais maintenant créer un menu déroulant, qui me permettrait d'afficher le nom des clients que j'aurais éventuellement saisie dans ma base.
Si je suis ici, c'est que je ne sais pas par où commencer ni comment procéder.
J'espère que je suis un peu plus clair maintenant.
si jamais vous avez msn, j'aimerais bien dialoguer avec des connaisseurs ;)
cs_kirikou95
Messages postés60Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention27 février 2009 24 sept. 2007 à 13:28
Merci pour ton lien, ça m'aide un peu seulement dans la rédaction sql, que je connais un petit peu.
Le problème est que je ne sais pas comment l'incrémenté dans VB.
Je ne sais pas comment procéder pour créer un menu déroulant.
Si quelqu'un peu m'aider ou un petit bou de programme, me l'envoyer en .ZIP par mail, ça serait vraiment sympa
à : daniel.eyeni@gmail.com
Merci d'avance et pour vos retours, ça fait plaisir et c'est super sympa
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 24 sept. 2007 à 13:32
Qu'entends-tu par menu déroulant??une listbox?un combobox?
PS : Evites de cliquer sur réponse acceptée tant que ton problème n'est pas résolu, certains membres ne viendront pas voir pour donner un coup de main et iront plutôt voir des questions qui ne sont pas résolues.
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 24 sept. 2007 à 13:44
Il suffit de placer un contrôle de type combobox sur ta form (.frm) quand tu crées ton projet.
Tu le renommes comme tu le souhaites mais si possible avec un nom explicite : CB_NOM par exemple.
Ensuite dans ton code tu accèdes à ses propriétés en l'appelant comme ceci :
CB_NOM.propriété_à_changer = "valeur"
Ici ça serait plutôt CB_NOM.additems "nom_dans_la_base"
cs_kirikou95
Messages postés60Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention27 février 2009 24 sept. 2007 à 13:53
Merci de ta réponse :
Mais je ne veux pas lui indiquer la valeur par défaut, je voudrais qu'il ailleur chercher les infos dans une base de donnée que j'ai déjà créée.
Nom de la base : Gestion.mdb
Nom de la table : CLIENT (Nom_client, Prénom_client,...)
Je voudrais que le menu déroulant aille chercher les infos dans la table client, et m'affiche le nom des personnes saisies dans la table.
cs_kirikou95
Messages postés60Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention27 février 2009 24 sept. 2007 à 14:19
Merci pour ce code :
J'ai double cliquer sur ma 'combobox' et j'ai réécris ton code en modifiant bien entendu les infos nécessaires.
J'obtiens le message d'erreur suivant :
" Erreur d'exécution '2147467259' (80004005)
[Microsoft] [Gestionnaire de pilotes ODBC] Nom de source de données trop long. "
cs_kirikou95
Messages postés60Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention27 février 2009 24 sept. 2007 à 14:37
MEEEEEERRRCIIIIIIIIIIIII !
tu es génial et tu cartonnes, ça a marché !
je te remercie !!!!!
Je reviendrais avec d'autres questions à poser sur le forum en espérant te rencontrer là dessus, ou si tu as une adresse mail, ça m'intéresserait bien de te demander de l'aide !
Merci
contact si tu veux me contacter : daniel.eyeni@gmail.com
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 24 sept. 2007 à 14:46
Oui pardon j'avais oublié une ligne ^^
Ce coup-ci tu peux utiliser réponse acceptée sur la ou les réponses qui t'ont aidées..
Bonne prog et à bientôt..
cs_kirikou95
Messages postés60Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention27 février 2009 24 sept. 2007 à 15:00
Euh...
je rencontre un petit souci encore
J'ai parlé un peu trop vite aussi !!!
Le code marche, ça ya pas à dire. Seulement, lorsque je clic sur la flèche du menu déroulant, il ne se passe rien.
il faut alors que je clic sur le champ et que je saisisse au moins une lettre, et là, j'ai la liste qui apparait des noms qui apparaissent.
De plus, il y a un 'LOOP' qui pose problème, à chaque fois que je saisie une lettre, il m'affiche en doublant les noms de ma table, et ce, au tant de fois que je saisie sur mon clavier, je ne sais pas si je me fais comprendre