papounez
Messages postés118Date d'inscriptionsamedi 16 juillet 2005StatutMembreDernière intervention18 novembre 2008
-
17 oct. 2005 à 21:41
papounez
Messages postés118Date d'inscriptionsamedi 16 juillet 2005StatutMembreDernière intervention18 novembre 2008
-
18 oct. 2005 à 23:20
Bonsoir !
Debutant VB6
j' ai copier une source que j' ai plus ou moins modifier
style repertoire Table (ADODB)
que j'envoi dans une listView (super sa marche)
comme je ne sait pas faire de filtre pour les champs
je vais cree plusieur table donc
je voudrais choisir ma table en fonction d'une variable
mon code
' Préparation de la commande
cmdado.CommandText = "select * from Mavariable "
comment faire ???????
ou une autre solution
merci
papounez
Messages postés118Date d'inscriptionsamedi 16 juillet 2005StatutMembreDernière intervention18 novembre 2008 17 oct. 2005 à 23:41
re
4 champs
client, titre,fichFA,fichHY
et les table en fonction des cliens que je vais creer
que je choisi avec une comboBox
une table par client
j' ai bidouillet un tuc qui marche mais quand la table exite pas
il fais une erreur
question comment crer une table ???
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 18 oct. 2005 à 11:00
Quoi ???? une table par client ???
la je t'arrete tout de suite, si tu commence comme ca ton programme ne sera jamais fini a mon avis.
pourquoi ne veux tu pas faire une seule et meme table ?
si tu veux trier tes clients, rajoute plutot un champs.
ensuite pour faire un filtre, c'est tres simple :
Select * from MaTable WHERE client_name = 'intel'
et c'est tout.
si tu as besoin de conseils pour modeliser ta base de données correctement n'hesite pas, mais je te conseil de prendre le temps de le faire, tu le regagnera fois dix sur le temps de développement !
Vous n’avez pas trouvé la réponse que vous recherchez ?
papounez
Messages postés118Date d'inscriptionsamedi 16 juillet 2005StatutMembreDernière intervention18 novembre 2008 18 oct. 2005 à 11:30
une table avec 4 champs
dont un avec client
et dans ma listview je veus charger que les ligne d'un client
Le bouton filtre je le selectinne dans une comboBox ?????
Merci
voici
ma souce bidouiller(sa mache)
mais erreur quand la table existe pas
Ind = ComboChoix.ListIndex
Fich = ComboChoix.List(Ind)
client = "select * from " & Fich
' M.A.j de la ListView
lstview1.ListItems.Clear
' Préparation de la commande
cmdado.CommandText = client
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 18 oct. 2005 à 13:11
tu sais, je suis ta question depuis hièr, mais, malgré les différentes questions et reponse, je n'ai toujours pas compris ce que ton programme fais.
si tu peux l'expliquer en détail.
tu as une base de donnée sous access, et tu as combien de table initialement?
ton programme doit rechercher les informations ou, et comment.?? (dans quelle table, et comment, c'est a dire, la table qu'il doit ouvrir, est defini dans le code, ou ca dépend de ce qui est selectionné dans la liste.?)
si tu as d'autre precision, donne les.
parceque, si pcpt ne t'a pas compri, c'est que tu t'es mal expliqué. (il t'as mal compri, je le sais, sa réponse est pas de son genre).
papounez
Messages postés118Date d'inscriptionsamedi 16 juillet 2005StatutMembreDernière intervention18 novembre 2008 18 oct. 2005 à 13:52
j' espere ne pas avoir blesse PCPT
je connait les pseudos des MES repondeur
il repond toujours present
encore merci
je reflechi pour expliquer mon probleme
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 18 oct. 2005 à 14:01
pourquoi tu l'aurais blessé? c'est juste que pcpt donne souvent des réponses assez détallé, et souvent assez satisfaisante. mais la, j'ai juste constater que sa réponse n'allais pas avec ce qu'il avait dit : (donne-moi un exemple avec des vrai nom de table, le nombre, etc... et j'essaie de te faire un tit' truc propre) c'est tout.
papounez
Messages postés118Date d'inscriptionsamedi 16 juillet 2005StatutMembreDernière intervention18 novembre 2008 18 oct. 2005 à 14:16
je commence
j' ai une Table "Repertoire"
4 Champs "Client";"Titre";"FichHY";"FichFA"
je peut Ajouter ;Modifier ;supprimer ;les ligne de la table (sa marche)
je la charge dans une ListView
je voudrais faire un filtre du champ "Client"
pour avoir que les lignes du meme client
j'ai une Combobox ou je peut choisir le nom du clent (sa marche)
c"est la que je m'embroulle
avec plusieur table (sa marche mais les tables doivent existe)
j' ai essayer de creer les tables
CREATE TABLE NomTable ????????? houla houla
j'ai essayer de faire un filtre
Select * from Repertoire WHERE client = mavariable ????????? houla houla
papounez
Messages postés118Date d'inscriptionsamedi 16 juillet 2005StatutMembreDernière intervention18 novembre 2008 18 oct. 2005 à 14:22
quand le Nom des Table Existe (une Table par Client)
je peut les Remplir (Ajouter ;Modifier ;supprimer)
donc le mieux
c'est plusieurs petite Table
ou
une Grosse Table Avec un Filtre
Merci
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 18 oct. 2005 à 14:39
ok.
en effet, il ne faut absolument pas créer d'autres tables!
tu arrives à récupérer les clients.
l'architecture de ta base doit être la suivante :
une table Clients -> Id_C* Nom_C
une table Fiches -> Id_CF* Titre_F FicheHY_F FichFA_F
(* = clef primaire)
au chargement, tu lis ta table Clients que tu mets dans ton Combo.
pour les syntaxes, j'utilise DAO3.6 (un peu obsolète^^), mais le principe est compréhensible....
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 18 oct. 2005 à 14:47
Non, je pense qu'il faut oublier la création de plusieur table. personnelement, je trouve cela tres mal pour ton programme. il faut juste une table. ta table contiendera toute les informations sur tous les clients.
donc, sur ajouter, suprimer, modifier, les informations rentre dans la table (la seule table), sont suprimées, ou modifiées de cette même table.
maintenant, comment n'affichicher que les tuples (lignes) concernant un client precis.:
tout est dans la requête. comme il a été dit plus au, du fait un filtre avec la condition where.
voici un bou de code:
'met sur ton form un boutton appeler CmdSelection.
'4 TextBox: "TxtCli";"TxtTit";"TxtFicY";"TxtFicA"
'un ComboBox : CmbCli
'dans cette exemple, les informations sur le client serons mis dans les TextBox
Private Sub CmdCli_Change()
Dim Cnn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
' Ouverture de la connection
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source= .\Base de donnée\Introx Manut.mdb;"
' Ouverture du Recordset
Rst.Open "SELECT * FROM [Repertoire] WHERE Client= '" &.CmdCli& "'", Cnn
If Not Rst.EOF Then
' Spécification des valeurs des champs
TxtCli = Rst!Client
TxtTit = Rst!Titre
TxtFicY = Rst!FichHY
TxtFicA = Rst!FichFA
end if
' Fermeture du Recordset et de la Cnn
Rst.Close
Cnn.close
end sub
'Voila, juste un exemple. tu n's qu'as changer les TextBox pas les listes si c'es ce que tu veux.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 18 oct. 2005 à 15:09
c'est complémentaire avec tes syntaxes ADODB. (il va d'ailleurs falloir que je m'y mette un jour...)
par contre, mis à part qu'en effet, ton Rst.EOF n'afficherait au final que le dernier enregistrement, il faut aussi penser à détruire tes variables.
' Fermeture du Recordset et de la Cnn
Rst.Close
Cnn.close
Set Rst = Nothing
Set Cnn = Nothing
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 18 oct. 2005 à 15:25
oui, tu as entièrement raison. en fait, j'ai écri rapidement, sans trop réfléchir. et il faut avouer que j'oublie souvent de détruire mes variables.
Merci du conseillle.
maintenant, si ont veut encore plus obtimiser le code, l'on aurait fait ce que je fais maintenant (ce que tu m'a montré) c'est à tire compter le nombre de ligne retouné: if rs.recordcount<>0 then
si tu as le temps, rentre sur http://www.vbfrance.com/forum.v2.aspx?ID=581073 (je veux savoir juste si mon hypothèse est fondée, valable)
papounez> jai dit de mettre un boutton appelé CmdSelction, mais, je ne l'ai plus utilisé dans le code.
et, le combobox CmdCli, est logiquement chargé du contenu du champ client au démarage (le nom du client).
et comme l'a dit pcpt, il serait plus logique de crer une table client, et une table Fiche.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 18 oct. 2005 à 17:24
re,
heuresement que je repasse par là^^
grosse erreur dans l'architechture.
je suppose qu'un client peut avoir plusieurs "titres"?
il faut dont soit ajouter un ID_Fiche en clé primaire, soit mettre Titre en clé primaire, si les noms sont forcément différents, et ID_CF devient juste ID_F en clé étrangère.
le principe d'appel reste néanmoins presque le même.