Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1948 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  PB de programmation VB Access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PB de programmation VB Access

n°1609002
speynaud
Posté le 06-09-2007 à 17:54:29  profilanswer
 

Bonjour,
 
Je suis un débutant en programmation VBA ACCES 2003 et je suis entrain de développer une base de données et je cherche à transformer une ligne de commande tapée dans "Propriété – Contenu" d'une liste déroulante en VBA
 
Cette ligne de commande a pour effet de prendre le contenu d'un champ d'une requête de grouper les données et de les trier pour alimenter une liste déroulante.
 
Ligne de commande tapée dans la propriété "Contenu" de ma liste déroulante de mon  formulaire :
 
SELECT [Table1].série FROM [Table1] GROUP BY [Table1].série ORDER BY [Table].série
 
Ceci marche très bien dans le cas ou [Table1] est une table unique.
 
Mais dans mon cas [Table1] est une variable public VBA en STRING qui contient le nom d'une requête.
 
Je pense qu'il faut transformer cette ligne de commande en code VBA pour pouvoir utiliser ma variable public
 
J'ai trouvé les équivalences en VBA des propriétés "Origine source" et "Contenu"
 
    Forms!timbre!Série.RowSourceType = "Table/Query"
    Forms!timbre!Série.RowSource = ???????

 
Mais je ne sais pas comment faire pour transformer ma ligne de commande pour l'utiliser ci-dessus.
 
Pour info, j'utilise déjà le code qui marche pour déterminer la requête que le formulaire doit utiliser.
 
    Forms!timbre.RecordSource = Table1
 
Pourriez vous m'aider a résoudre mon problème?
 
Je vous remercie d'avance pour votre aide.

mood
Publicité
Posté le 06-09-2007 à 17:54:29  profilanswer
 

n°1609071
jpcheck
Pioupiou
Posté le 06-09-2007 à 20:46:39  profilanswer
 

remets la meme requete mais avec des [série], tu as oublié le 1 dans ton order by, et utilité du group by ?

n°1609076
speynaud
Posté le 06-09-2007 à 21:11:43  profilanswer
 

merci de ton aide!
mais je la remets ou la même requête avec des [], dans propriété? je l'ai fait et il ne connait pas la variable.
j'ai bien précisé que  [Table1] été une variable public en VBA (issue d'une selection par calcul VBA) !! donc dans propriété il ne la connait pas! je pense toujours qu'il faut un code VBA qui remplace ma ligne de commande.
Pour info, ORDER BY equivaut a un regroupement comme dans une requête, pour eviter les doublons dans la liste
 
Merci a ceux qui pourront m'aider pour rédiger mon code VBA de remplacement.

n°1609081
jpcheck
Pioupiou
Posté le 06-09-2007 à 21:28:54  profilanswer
 

bon alors si tu veux virer les doublons, fais moi plaisir et utilise distinct a ce moment la ^^
tu mets la requete dans rowsource, pas le recordset. :)

n°1609086
speynaud
Posté le 06-09-2007 à 21:38:05  profilanswer
 

comme ca alors dans le prog VBA?
 
Forms!timbre!Série.RowSourceType = "Table/Query"
Forms!timbre!Série.RowSource = SELECT DISTINCT [Table1].[série] FROM [Table1]
 
Ca ne marche pas il me dit "erreur de synthaxe"!

n°1609087
jpcheck
Pioupiou
Posté le 06-09-2007 à 21:39:32  profilanswer
 

entre double quote " " stp :)
edit : la requete hein ;)


Message édité par jpcheck le 06-09-2007 à 21:39:54
n°1609089
speynaud
Posté le 06-09-2007 à 21:45:57  profilanswer
 

ok j'ai plus cette erreur!
 
mais ma variable publique [Table1] qui contient le nom de la requête n'est pas reconnue comme nom de requête ou de table donc il ne me reconnait le champ attaché!
 
voila commen je l'ai écrit :
 
Forms!timbre!Série.RowSourceType = "Table/Query"
Forms!timbre!Série.RowSource = "SELECT DISTINCT [Table1].[série] FROM [Table1]"
 
tu as une idée?

n°1609091
jpcheck
Pioupiou
Posté le 06-09-2007 à 21:51:48  profilanswer
 

un pitit ";" non ?
j'ai pas les softs chez moi, je teste kedal XD

n°1609098
speynaud
Posté le 06-09-2007 à 22:10:56  profilanswer
 

j'ai essayé les ";" les "!" les "," avec ou sans crochet pour la variable,
 
il ne me prend pas la variable comme une table ou requête
ma variable TABLE1 est déclaré comme ca :
PUBLIC TABLE1 AS STRING
 
sauf erreur string = texte peut on faire une déclaration pour dire que la variable est une table ou une requête?
 
j'ai vue dans l'aide déclaration :
AS TABCONTROL
AS TABLEDEF
AS TABLEDEFATIBUTEENNUM
AS TABLEDEFS

n°1609102
jpcheck
Pioupiou
Posté le 06-09-2007 à 22:15:12  profilanswer
 

tabledef me semble pas mal, mais fais un f1 pour voir les infos ^^

mood
Publicité
Posté le 06-09-2007 à 22:15:12  profilanswer
 

n°1609105
speynaud
Posté le 06-09-2007 à 22:27:35  profilanswer
 

c'est plus pour une création de table que pour déclarer une table!
bon @+ et merci je vais au dodo!!
 
si tu as idée n'ésite pas!!
 
vraiment merci pour ton aide précieuse!
 
PS: je me suis trompé ORDER BY c'est pour trier dans l'ordre alphabétique, c'est GROUP BY qui évite les doublons, désolé ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  PB de programmation VB Access

 

Sujets relatifs
[Access] faire un selectImporter dans Access 2007 un MCD de PowerAMC en fichier requêtes SQL
Robinetterie et programmationIntégration de fichier texte dans Access en VBA
[resolu] pb access 2002 et VBA (formulaire)ACCESS souci de lecture de PDF...
programmation[MS ACCESS] email?
[Access] Requete creation de table et ajout cle primaireedition zone de liste et access
Plus de sujets relatifs à : PB de programmation VB Access


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR