SVP! SUPER URGENT! Pb pour affichage requete

slayeraix Messages postés 31 Date d'inscription vendredi 19 juillet 2002 Statut Membre Dernière intervention 25 novembre 2003 - 19 juil. 2002 à 14:26
slayeraix Messages postés 31 Date d'inscription vendredi 19 juillet 2002 Statut Membre Dernière intervention 25 novembre 2003 - 19 juil. 2002 à 15:56
Je viens de faire une base de donnees ACCESS qui contient des noms de programme. Je passe maintenant a l etape de VB.
J ai un combo box(liste deroulante)qui s appele progname et qui doit afficher tous les noms de mes prog (PROG_NAME dans ma base de donnee ACCESS), j ai réussi en faisant :

Private Sub Form_Load()
Dim MaBase As Database
Dim MaTable As Recordset

Set MaBase = DBEngine.Workspaces(0).OpenDatabase("CUSTODATA (full)97.mdb")

Set MaTable = MaBase.OpenRecordset("Select prog_name from Program")

Do While MaTable.EOF = False
progname.AddItem MaTable!prog_name
MaTable.MoveNext
Loop
End Sub

Maintenant je dois afficher la description du prog (PROG_DESCRIP dans ma base de donnee) dans un TextBox(nom du textbox : progdescrip) en fonction du nom de prog que je choisit dans le combobox. J ai essaye de faire ceci en faisant :

Private Sub progname_Change()
Dim var As String
Dim MaBase As Database
Dim MaTable As Recordset
Set MaBase = DBEngine.Workspaces(0).OpenDatabase("CUSTODATA (full)97.mdb")var "select prog_descrip from program where prog_name" + progname

Set MaTable = MaBase.OpenRecordset(var)
progdescrip(0).Text = var
progdescrip(0).Refresh
End Sub

quand je lance mon appli il me fait une erreur :
"Run-time error '3061' : Too few parameters. Expected 1."
Je ne comprends pas comment faire, je pars peut etre dans une fausse direction en faisant ca.
Le probleme viendrait t il de mon code, ou alors que je me sers d un simple data?

Il faut ensuite que j' affiche le type du prog dans un listbox nomme progtype(0) toujours en fonction du prog choisit dans le combox. La methode est t elle identique à celle pour le textbox vu qu il ne s agit plus ici d un textbox mais d un listbox??? et meme question pour un checkbox nomme progcusto qui affiche avec une croix si le prog est customise ou non????
Toutes ces infos sont bien sur dans la meme table nommée PROGRAM

Desole mais j ai encore une autre question, je dois afficher aussi dans un listbox( prevprogname(0) ) les noms de prog precedent (PREV_PROG_NAME dans ma base de donnée) sachant que ce champs se trouve dans une autre table(PREVIOUS) que celle du nom du prog qui est choisit dans le combobox. (La relation dans ma base de données ACCESS entre les tables se fait par la cle primaire de la table PROGRAM (PROG_NAME) et les 2 clés primaire de la table PREVIOUS (PREV_PROG_NAME et PROG_NAME).
Bon je suis sure qu il ne s agit pas d une erreur dans ma base de donées car celle ci tourne parfaitement avec des formulaire dans ACCESS, l erreur vient donc de mon code ou du data que j utilise.
Bon desole pour ces questions longues mais j ai VRAIMENT BESOIN D AIDE car je bloque depuis 3 jours dessus (j ai cherché des infos sur des bouquins, sur les forums, mais j ai rien trouvé!).
Je vous remiercie d avance et attend au plus vite et avec impatience vos réponses! Merci encore

Laurent

2 réponses

cs_laglobule Messages postés 29 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 1 août 2002
19 juil. 2002 à 15:03
Comment peux tu avoir 2 clés primaires dans une table ?
0
slayeraix Messages postés 31 Date d'inscription vendredi 19 juillet 2002 Statut Membre Dernière intervention 25 novembre 2003
19 juil. 2002 à 15:56
Il peut y avoir 2 clés primaires dans la meme table quand il y a une relation père père entre les 2 tables (c est a dire 0,N ou 1,N provenant des 2 tables), une table doit etre crée entre les 2 tables et on y met les 2 clés primaires des 2 tables concernées.
0
Rejoignez-nous