begin process at 2012 02 15 02:35:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Bases de données

 > 

Jongler entre deux tables pour mettre les données de l'une dans l'autre via le findfirst et l'emploi d'un combobox...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Jongler entre deux tables pour mettre les données de l'une dans l'autre via le findfirst et l'emploi d'un combobox...

vendredi 19 août 2005 à 18:12:22 | Jongler entre deux tables pour mettre les données de l'une dans l'autre via le findfirst et l'emploi d'un combobox...

cycy07

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
vendredi 19 août 2005 à 22:57:57 | Re : Jongler entre deux tables pour mettre les données de l'une dans l'autre via le findfirst et l'emploi d'un combobox...

aegis_10

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
End If
rs.Close


En espérant t'avoir aidé,
Cédric



   

vendredi 19 août 2005 à 23:04:59 | Re : Jongler entre deux tables pour mettre les données de l'une dans l'autre via le findfirst et l'emploi d'un combobox...

aegis_10

J'ai été un peu vite avec la chaîne SQL, je la réécris, désolé...
nom_localite = nom du champ de localite de ta table Tlocalite

sql = "SELECT * FROM Tlocalite WHERE (nom_localite=" & chr(39) & combocodepostal.text & chr(39) & ");"

vendredi 19 août 2005 à 23:20:15 | Re : Jongler entre deux tables pour mettre les données de l'une dans l'autre via le findfirst et l'emploi d'un combobox...

cycy07

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

vendredi 19 août 2005 à 23:25:41 | Re : Jongler entre deux tables pour mettre les données de l'une dans l'autre via le findfirst et l'emploi d'un combobox...

cycy07

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...



samedi 20 août 2005 à 10:09:36 | Re : Jongler entre deux tables pour mettre les données de l'une dans l'autre via le findfirst et l'emploi d'un combobox...

cycy07

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
samedi 20 août 2005 à 12:48:09 | Re : Jongler entre deux tables pour mettre les données de l'une dans l'autre via le findfirst et l'emploi d'un combobox...

aegis_10

Salut,

bon je viens de le faire en utilisant un sous-formulaire :

Private Sub combocodepostal_Change()
Dim db As database
Dim Qdfs As QueryDef
Dim sql As String

Dim var_codepostal As String

var_codepostal = combocodepostal.Text


Set db = CurrentDb
If var_codepostal <> "" Then

'ici on construit la requête à l'aide de SQL
    sql = "SELECT * FROM Tlocalite WHERE (((Tlocalite.codepostal)) = " & Chr(39) & var_codepostal & Chr(39) & ");"
    With db
    For Each Qdfs In .QueryDefs

' on vérifie que l'objet reqTempLocalite n'existe pas ; si elle existe déjà, on la supprime    
   If Qdfs.Name = "reqTempLocalite" Then
            .QueryDefs.Delete Qdfs.Name
        End If
    Next Qdfs

'on crée la requête nommée "reqTempLocalite" avec la chaîne sql
       Set Qdfs = .CreateQueryDef("reqTempLocalite", sql)
     Me.sousformLoc.SourceObject = "Requête.reqTempLocalite"
        .Close
    End With
End If
End Sub

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.

A +





Cette discussion est classée dans : code, données, combo, tables, findfirst


Répondre à ce message

Sujets en rapport avec ce message

code d'enregistrement de des données dans plusieurs tables à la fois sollictées sur le même formulaire [ par ajosko ] Je suis un étudiant débutant en programmation VB6. J'ai réalisé un formulaire sur lequel se trouve plusieurs champs de saisie des informations. Sur le Comment se connecter à 2 BDs? [ par js8bleu ] Bonjour à tous, j'aimerai me connecter à deux bases de données en même temps. En fait, une de mes applications a besoin des données d'une table prove Lier les tables d'une Base1 dans une Base3 via une Base2 [ par tedtheOrs ] Bonjour, Est il possible de lier les tables d'une base dans une autre via un module dans une troisième. J'ai une Base1 qui contient 3 tables. Je voud Problème d'alimentation combo VB6 et feuille excel [ par avyrex1926 ] Bonjour à tous, Je rencontre un problème pour alimenter mon combo 1 vb6 avec les feuilles d'un fichier excel. Pouvez-vous m'aider s.v.p? Voici mon DataRelation [ par dbabder ] Bonjour,   Je serais ravi si quelqu'un peut me renseigner sur le code Visual Basic.net nécessaire à l'établissemnt d'une relation entre deux tables lo exportation de données du vb.net 2003 vers excel avec du code [ par BIO1 ] bonjour svpl je vx savoir tt les etapes et le code pour exporter les données d'unde datagrid du vb.net 2003 vers excel merci Importer, exporter des données sql. [ par mryassine ] Salut a vous tous on savait que dans entreprise manager (sql server) on peut exporter des tables ou importer des données sous forme des tables,ou sauv Différences (Tables) [ par Sinsitrus ] Salut ! J'ai besoin de votre aide. [code=vb]SELECT Articles.Code, Articles.Designation, SUM(Articles.Total) AS Expr4, ArticlesInventaire.Code Requette Selection de plusieurs Tables [ par Manau81 ] Bonjour Ya t'il un moyen de fair une seletion de plusieur tables qui on exactement les même chanps dans le même ordre: [code=vb]RQT = "SELECT * Fro Extraction de données et suppression de lignes [ par MrAssoL ] Bonjour, je suis en train de faire un petit soft et je bloque 2 choses pour rendre mon soft moins usine a gaz et ainsi le faire plus précis et foncti


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 7,582 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales