Jongler entre deux tables pour mettre les données de l'une dans l'autre via le f
CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 mai 2006
-
19 août 2005 à 18:12
aegis_10
Messages postés3Date d'inscriptionvendredi 5 août 2005StatutMembreDernière intervention20 août 2005
-
20 août 2005 à 12:48
j'affiche dans une combobox la localité où on a le choix mais dans les deux text box doivent s'afficher localite et pays selon le choix dans la combo
J'ai employé le findfirst qu'on m'a conseillé sur une question posée qq heures plus tot...
Voici le détail:
1. j'ai deux tables : TLocalite et TEtudiant
2. dans la feuille créée en VB reprenant la saisie des étudiants je voudrais pouvoir faire le choix du code postal ainsi que l'ajout de ce code s'il ne parait pas dans la combo (jusque là pas dur)
3. dans la sélection de la combo, j'ai deux textbox localité et pays, en choisissant le code postal dans la combo, je voudrais que les données de la table localité s'ajouent automatiquement dans les textbox (càd dans la table TEtudiant)
On m'a conseillé soit:
* d'effectuer une requête en access puis de taper du code
* emploi du findfirst
voici le code dans la combo :
Private Sub Combocodepostal_Change()
DataLocalit.Recordset.FindFirst "NLocalite ='" + Combocodepostal.Text + "'"
DataLocalit.Recordset.FindFirst "Pays ='" + Combocodepostal.Text + "'"
End Sub
jusque là ça marche, mais en exécutant le projet, il me laisse toujours au meme enregistrement lorsque je sélectionne le code dans la combo
J'ai du oublier qqch mais est ce que qqun pourrait m'aider car je m'arrache les cheveux depuis tantot et je n'avance pas des masses
merci d'avance
Cycy
A voir également:
Jongler entre deux tables pour mettre les données de l'une dans l'autre via le f
aegis_10
Messages postés3Date d'inscriptionvendredi 5 août 2005StatutMembreDernière intervention20 août 2005 19 août 2005 à 22:57
Bonsoir,
tu pourrais essayer plutôt que de chercher la première valeur
correspondante (FindFirst) dans la table, de filtrer ta table en ne
gardant que l'enregistrement souhaité, résultat que tu injectes dans un
recorset :
ex :
dim db as database, rs as recordset
dim sql as string
set db = currentdb
'ici tu crée ta procédure sql de filtre en utilisant la valeur de ta combobox :
sql = "SELECT * FROM Tlocalite WHERE (" & chr(39) & combocodepostal.text & chr(39) & ");"
set rs = db.openrecordset(sql)
If rs.EOF = True Then
msgbox ("pas d'enregistrement")
else
'après je ne suis pas sûr d'avoir bien compris ce que tu voulais faire : afficher la valeur de la localité dans le texbox ?
localitetextbox.Text = rs.Fields("nom_localite") 'nom-localite à remplacer par le nom du champ de localite de ta table Tlocalite
CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 mai 2006 19 août 2005 à 23:20
Voilà en fait je voudrais qu'en sélectionnant dans une combobox le code postal, les champs localités et pays s'affichent directement.
Code postal : Choix dans combobox genre 59 000
les textbox localité et pays se remplissent automatiquement : Lille France
Merci c'est cool je regarderai plus en détail ton code demain c'est sympa et je te dirai ce qu'il en est merci bonne nuit
Le must : ce sont les champs de la table TLocalité qui doivent se rajouter dans ma dbgrid une fois encodé... Voilà où je me casse le crâne...
et oui je ne cherche pas le simple pourtant je suis débutante en vb
CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 mai 2006 19 août 2005 à 23:25
Voilà en fait je voudrais qu'en sélectionnant dans une combobox le code postal, les champs localités et pays s'affichent directement.
Code postal : Choix dans combobox genre 59 000
les textbox localité et pays se remplissent automatiquement : Lille France
Merci c'est cool je regarderai plus en détail ton code demain c'est sympa et je te dirai ce qu'il en est merci bonne nuit
Le must : ce sont les champs de la table TLocalité qui doivent se rajouter dans ma dbgrid une fois encodé... Voilà où je me casse le crâne...
Thanks
et oui je ne cherche pas le simple pourtant je suis débutante en vb mais c'est un projet à réaliser pour mes cours du soir et le prof n'attend pas moins...
Vous n’avez pas trouvé la réponse que vous recherchez ?
CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 mai 2006 20 août 2005 à 10:09
Salut, j'ai essayé le code mais hélas ça ne va pas... Je commence à désespérer là... N'aurais tu pas une autre idée par hazard??
Je t'en remercie d'avance
ce code utilise les objets querydef de DAO, il faut donc que tu ajoutes
ce composant : dans Outil/references, tu coches Microsoft DAO 3.5 ou
sup.
puis dans ton formulaire, tu dessines un sous-formulaire que j'ai nommé
sousformLoc dans lequel s'affichera la requête qui aura été créée suite
au changement de code postal. Il faut bien sûr supprimer la requête
nommée "reqTempLocalite" sinon lorsque tu choisiras une 2e valeur de
code postal, il y aura erreur : la requête "reqTempLocalite" existe
déjà ; c'est pourquoi je commence par la supprimersi elle existe.
Si cela ne marche pas, c'est qu'il faut ajuster en fonction de tes
tables, des types de champs etc... par exemple, dans mon code, j'ai
considéré le codepostal comme une valeur string, si c'est un numérique,
il te faudra modifier le type de var_codepostal.