Cree variable pou table

papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 novembre 2008 - 17 oct. 2005 à 21:41
papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 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

22 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 oct. 2005 à 23:17
salut,
donne-moi un exemple avec des vrai nom de table, le nombre, etc... et j'essaie de te faire un tit' truc propre
PCPT [AFCK]
0
papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 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 ???
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
18 oct. 2005 à 00:36
CREATE TABLE NomTable


que penses-tu de faire un tableau de ton nombre de table,
et tu vas lire le contenu pour l'indice correspondant à l'index de ta combo...
0
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
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 !
0

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

Posez votre question
papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 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
0
papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 novembre 2008
18 oct. 2005 à 11:32
une table avec 4 champs
dont un avec client
et dans ma listview je veus charger toute les lignes d'un client
Merci
0
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
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).

et suit aussi les conseils de aieeeuuuuu

Allé, bonne continuation
0
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
18 oct. 2005 à 13:14
beaucoup de fautes qu'il ya dans mon poste. désolé pour la langue. je n'ai pas relu avant d'ajouter. (faites pas attention)
0
papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 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
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
18 oct. 2005 à 13:59
PCPT pas blessé
0
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
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.

on attend ton explication
0
papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 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

Voila !!
merci
0
papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 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
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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....



sql = "SELECT (CLIENTS.Nom_C) " & _
"FROM CLIENTS"

et ensuite tu fais ta requête à l'évènement Change de ta Combo

sql = "SELECT (FICHES.Titre_F), (FICHES.FicheHY_F), (FICHES.FichFA_F) " & _
"FROM FICHES, CLIENTS " & _
"WHERE (FICHES.Id_CF) = (CLIENTS.Id_C)) " & _
"AND (CLIENTS.Nom_C) = '" & ComboNomClients.Text & "' " & _
"ORDER BY (CLIENTS.Nom_C)"


PCPT [AFCK]
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
18 oct. 2005 à 14:44
WHERE ((FICHES.Id_CF)
ou enlever celle d'après...
0
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
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.

mais, tu auras d'autre exemple.

Allé, bonne programmation
0
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
18 oct. 2005 à 14:58
Je n'avais pas rafraichit Pcpt. :)
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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

PCPT [AFCK]
0
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
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.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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.

PCPT [AFCK]
0
Rejoignez-nous