SUPER URGENT! Pb pour afficher resultat requete ACCESS dans VB
slayeraix
Messages postés31Date d'inscriptionvendredi 19 juillet 2002StatutMembreDernière intervention25 novembre 2003
-
19 juil. 2002 à 10:34
slayeraix
Messages postés31Date d'inscriptionvendredi 19 juillet 2002StatutMembreDernière intervention25 novembre 2003
-
19 juil. 2002 à 11:30
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
A voir également:
SUPER URGENT! Pb pour afficher resultat requete ACCESS dans VB
slayeraix
Messages postés31Date d'inscriptionvendredi 19 juillet 2002StatutMembreDernière intervention25 novembre 2003 19 juil. 2002 à 11:14
Merci pour la réponse, ca ne me fait plus d erreur mais rien ne s affiche dans le textbox de la descrip du prog (PROG_DESCRIP).
J attends vos réponses, merci!
slayeraix
Messages postés31Date d'inscriptionvendredi 19 juillet 2002StatutMembreDernière intervention25 novembre 2003 19 juil. 2002 à 11:16
Merci pour la réponse, ca ne me fait plus d erreur mais rien ne s affiche dans le textbox de la descrip du prog (PROG_DESCRIP). Je fais pourtant comme cela :
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
slayeraix
Messages postés31Date d'inscriptionvendredi 19 juillet 2002StatutMembreDernière intervention25 novembre 2003 19 juil. 2002 à 11:30
Désolé mais ca ne m affiche toujours rien meme apres le changement, donc en faisant comme tu m as dis :
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 = MaTable.Fields("prog_descrip").Value
progdescrip(0).Refresh
End Sub