Besoin d'aide

cs_lilith1928 Messages postés 15 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 11 mai 2005 - 2 avril 2005 à 13:45
cs_lilith1928 Messages postés 15 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 11 mai 2005 - 16 avril 2005 à 14:17
bonjour à tous, voila je suis tute nouvelle en ce qui concerne vb, j'aimerais construire un projet je vais vous expliquer (je n'ai pas besoin du code j'essaierais de le touver) j'aimerais créer une base de données pour la psychologie. j'aurais une listbox ou toute les maladies mentales seront répertoriée. admettons j'ai schizophrénie dès que je clique dessus je souhaiterais que dans une text box j'ai la définition de cette maladie. j'aurais aussi un bouton symptome qui devra m'indiquer donc les symptomes. pour cela, il me semble quue j'aurias besoin de vba excel mais comment faire le lien entre les deux??? je vois un peu près comment faire mais je ne sais pas comment récupérer les données.... pouvez vous m'aider à mieux y comprendre???
merci

9 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
2 avril 2005 à 15:02
Commence par créer ta BDD Access , ensuite dans le menu Références, coche les cases
Microsoft Activex Data Objects 2.5 Library et Microsoft DAO 3.6 Object Library.

Lorsque ta base est crée, voici un exemple pour récupérer le champ (Nom dans ma base)

Private Sub CommandButton1_Click()
Dim adoConnection As ADODB.Connection
Dim adoRecordSet As ADODB.Recordset
Set adoConnection = New ADODB.Connection
Set adoRecordSet = New ADODB.Recordset
Dim ConnectionString As StringConnectionString "Provider Microsoft.Jet.OLEDB.3.51;" & " Data Source = C:\Program Files\Microsoft Visual Studio\vb98\Contacts.mdb"
adoConnection.Open ConnectionString
adoRecordSet.Open "Contacts", adoConnection


Do Until adoRecordSet.EOF
ListBox1.AddItem adoRecordSet!Nom
ListBox1.ListIndex = 0
adoRecordSet.MoveNext
Loop
adoRecordSet.Close
adoConnection.Close


Set adoConnection = Nothing
Set adoRecordSet = Nothing
End Sub

Pour utiliser les données de la liste, voici un exemple:

Private Sub ListBox1_Click()
Select Case ListBox1.ListIndex
Case 0
UserForm2.Show
Case 1
TextBox1.Visible = True
Case 2
Label1.Visible = True
End Select
End Sub

(Case 0 correspond à la 1ère entrée de la liste, 1 à la 2ème ect.....)

jpleroisse
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
2 avril 2005 à 15:05
PS: dans l'exemple ConnectionString et adoRecordSet ont le même nom (Contacts),c'est parce que dans ma base la BDD et la Table ont le même nom.
0
cs_lilith1928 Messages postés 15 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 11 mai 2005
2 avril 2005 à 15:52
merci c très gentil je vais essayer de faire cela je vous retiendrais au courant si tout cela fonctionne!
0
cs_lilith1928 Messages postés 15 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 11 mai 2005
2 avril 2005 à 21:21
en fait j'essaie de comprendre un peu ton code

lorsque je teste mon provider est faux, ce fameux provider est il le nom du programme ou est sélectionné la base de données? moi c sur excel donc faut il que je marque microsoft excel...?

ton" adoConnection.Open ConnectionString" en fait a quoi correspond il? en fait il essaie d'ouvrir adoconnection mais qu'est ce que adoconnection pour toi, est ce le nom de ton fichier? pareil pour adorecordset...?

com j'ai dit je suis débutante ( ça fait trois mois que je touche mais je me débrouille un peu) ...
merci
0

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

Posez votre question
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
2 avril 2005 à 23:33
As-tu bien référencié Data objects 2.5 et DAO 3.6 ?
Si tu utilise Win98 tu as du trouver data Object 2.0 et DAO 3.51.

Provider est le Nom du serveur Access.
ConnectionString se connect a la base de données
adoConnection ouvre la Base de données
adoRecordset ouvre la table (dans mon exemple Contacts.)
Pour vérifier crée une BDD,appelle là Contacts, crée une Table Contacts avec 2 Champs Nom et Prénom, fait un copier coller du code et tu verras que ça marche.
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
2 avril 2005 à 23:38
PS j'ai envoyé mon dernier message trop vite, si c'est sur Excel, ce code ne marchera pas. Mais tu peux quand même créer la BDD access et récupérer les données dans Excell.
Je vais regarder comment t'aider pour travailler uniquement avec Excel.
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
3 avril 2005 à 13:53
Si tu veux te servir uniquement d'Excel, voici une Méthode
Dans cet exemple, j'ais tappé Maladie dans A1, Symptômes dans B1 et Description des symptômes dans C1
Dans A2, j'ai tappé Grippe, A3 Variol A4 Rhumatismes
Dans B2, j'ai tappé Vertige, C2 Maux de tête
Dans B3, j'ais tappé Boutons, C3 Chatouillement
Dans B4, j'ais tappé Courbatures, C4 Maux de dos


Sur le UserForm un TextBox (txtSymptômes), un textbox (txtDescription)
un commandButton (cmdSymptômes) et une ListBox


Dans les propriétés de ListBox1: RowSource A2:A100
TextBox1 et 2 : MultiLine sur True


Ouf, le code:


Option Explicit


Private Sub cmdSymptômes_Click()


Select Case txtSymptômes.Text


Case txtSymptômes.TextIf txtSymptômes.Text Range("A1").Offset(1, 1) Then txtDescription.Text Range("A1").Offset(1, 2)If txtSymptômes.Text Range("A1").Offset(2, 1) Then txtDescription.Text Range("A1").Offset(2, 2)If txtSymptômes.Text Range("A1").Offset(3, 1) Then txtDescription.Text Range("A1").Offset(3, 2)
End Select
End Sub


Private Sub ListBox1_Click()
Select Case ListBox1.ListIndex
Case 0
txtSymptômes = Range("A1").Offset(1, 1)
Case 1
txtDescription = ""
txtSymptômes = Range("A1").Offset(2, 1)
Case 2
txtDescription = ""
txtSymptômes = Range("A1").Offset(3, 1)
End Select
End Sub


Voila, j'espère que tout cela pourra t'aider.
Si tu as besoins d'autres explications contacts moi!
0
cs_lilith1928 Messages postés 15 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 11 mai 2005
10 avril 2005 à 19:41
je crois que j'ai compris tout cela maintenant je vais y mettre en oeuvre, je te tiens au courant dans la semaine car j'ai mon ordi avec vb avant j'étais pas chez moi... par la suite je souhaiterais faire autre chose mais je te recontacterais si j'ai un gros pb... vu que je connais pas toutes les fonctions... Je te remercie pendant ce temps et te osuhaite une agréable soirée (ou journée selon le moment ou tu liras ce message)
0
cs_lilith1928 Messages postés 15 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 11 mai 2005
16 avril 2005 à 14:17
j'ai des petits soucis avec ton code car rien ne marche... c 'est dingue ça !je fais exactement ce que tu me dis de faire.. et rien ! ça commence à m'énerver.. je sais que tu n'y es pour rien.. enfin c 'est pas grave et merci d'avoir esayer de m'aider.
0
Rejoignez-nous