Recuperer valeur d'une table Access via VB6

[Fermé]
Signaler
Messages postés
18
Date d'inscription
dimanche 17 août 2008
Statut
Membre
Dernière intervention
11 octobre 2008
-
Messages postés
18
Date d'inscription
dimanche 17 août 2008
Statut
Membre
Dernière intervention
11 octobre 2008
-
Bonjour à tous,

Je voudrais recupérer automatiquement grâce à un code vb, les informations (nom, prenom, adresse, CP, ville) d'un client x localisé dans la table client d'une base de données ACCESS.
Pour cela, je dois saisir le numero du client dans la boite de dialogue et le code doit pouvoir recuperer ces infos sur ce client.
mais les exemples que j'ai essayé ne marchent pas (cas de la fonction recherche ou des recordset ...) et je commence à m'embrouiller
comment procéder, combien de formulaire je dois utiliser pour que ce code affiche ces infos ?
du style : premiere boite de dialogue "entrez le numero ... puis OK ou suivant et les info recupérées s'affiche
nom :
prenom :
adresse :
CP :
Ville :
....
Remarque : j'ai 3 tables de type clients differents. un client type A pouvant etre client type B. un numero par type et le num dans chaque type est la clé.

j'ai besoin de votre lumière svp.

merci à tous

6 réponses

Messages postés
113
Date d'inscription
mardi 19 août 2008
Statut
Membre
Dernière intervention
13 juin 2009
66
Salut,

tu bosses sous Vb6 ou bien sur VBA ?

si tu es sur VB6 comment as-tu essayé ?

je te conseille, sous vb6, de te brancher en adodb sur la base access
Messages postés
18
Date d'inscription
dimanche 17 août 2008
Statut
Membre
Dernière intervention
11 octobre 2008
1
Bonjour,

Je bosse sous VB6
voici un bout de code qui ne m'emmene nul part :

Private Sub Form_Activate()
Set adherent = New ADODB.Recordset
' creer sa structure (champ)
adherent.Fields.Append "num_adherent", adInteger

' ajouter un champ adherent
adherent.Fields.Append "Civilite", adBSTR, 14
adherent.Fields.Append "nom", adBSTR, 14
adherent.Fields.Append "prenom", adBSTR, 50
adherent.Fields.Append "Adresse1", adBSTR, 50
adherent.Fields.Append "CP", adInteger, 14
adherent.Fields.Append "Ville", adBSTR, 50

' objet grille de donnees
adherent.Open
Set grille.DataSource = adherent
grille.AllowAddNew = True
grille.AllowDelete = True

je ne veux pas de Datagrid pour le retour des infos à recuperer. comment connecter à la base sans passer par adodc1 ? sachant que j'aurai plusieurs (3) types de tables adherent à distinguer

j'ai essayé ce code aussi et il bloque sur la table adherent. car je ne vois pas comment la connecter à mon programme. normal alors qu'il bloque, mais comment m'y prendre ?

Private Sub Recherche_Click()
Dim num_adherent As Integer
Dim i As Integer
InputBox ("numero adherent")
i = 0: trouvé = False
' lire (num_adherent.adherent)
While (i < UBound(adherent)) And Not trouvé
If num_adherent = adherent(i).num_adherent Then
Else
i = i + 1
End If
Wend
num_adherent = trouvé
End Sub

merci de ta lumiere
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 181
Bonjour,
Je connais pas beaucoup Access mais je vois pas où tu ouvre ta BD (mdb).
Je vois pas où tu déclare adherent, il devrais, en foncton de l'endroit où est le code au moins être en tête de module si tu veux t'en servir dans plusieur routine comme c'est le cas, où en plublic dans un module général.
Ensuite, mais là je peu me planter, tu crée une structure, mais elle devrait être déjà déterminée dans ta BD ?
A+
Messages postés
18
Date d'inscription
dimanche 17 août 2008
Statut
Membre
Dernière intervention
11 octobre 2008
1
Salut,
Comme je l'ai mentionné dans le message, la connexion à la bd via adodc, pas de souci, mais l'un des soucis, c'est d'avoir la synthaxe dans le code. est-il possible alors que tu apportes la modif que tu as citée ? en plus du code, est ce qu'il faudra des Form ? je ne vois pas non plus la structure à implanter dans la bd et comment alors ? mes questions ont peut etre l'air idiote, mais la reponse me sortira du flou.
si tu as as une solution alors implemente là stp dans le code concerné. merci de ton soutien.
Je pense que tu devrais créer une requête paramétrée sous VB6 ou mieux , construire des variables correspondantes aux types de données de la feuille, et le code ressemblerait à ça

dim strNom as string

strNom = Forms![NomFeuille]![NomClient]

où form est l la feuille d'où on veut rapatrier les informations et nomclient le nom d'un textBox pris à titre d'exemple.
Une fois la valeur dans la variable, tu en fais ce que tu veux.

J'espère que j'ai compris ta demande
A bientôt
Messages postés
18
Date d'inscription
dimanche 17 août 2008
Statut
Membre
Dernière intervention
11 octobre 2008
1
A bientôt

Bonjour,
je te suis mais pas jusqu'au bout.
- je saisi le numero de adherentx dans un InputBox (par exemple)
- en appuyant sur rechercher, il doit me retourner les infos ( telleque : nom, prenom adresse ... qui se situent dans la base de données Acess nommé bidule.mdb
je veux cette operation par adherent et non pour tout le monde à la fois.
donc si je t'ai compris Form ici represente ma base de donnée access => dans ce cas , c'est le chemin que je mets ou alors y a un code pour dire comment connecter à la base ? ou alors Formx contient déjà le code implementé pour la connexion à la base pour recuperer ces info et ensuite de faire un Formx.Show avant End Sub ou quoi ?
c'est là où je me perds. nomclient ou nom text box correspondrait à quoi par rapport à l'adherent x que je veux recuperer dans la base bidule sur C:\...\..bidule.mdb ?
que signifie alors cette ligne ==> strNom = Forms![NomFeuille]![NomClient]

mais je pense que ma demande est simple et claire.
si tu as besoin de plus d'infos, dis le moi.
merci, à bientot