| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
Nain-ternet Nain-doré(e)

Inscrit le: 20 Mar 2003 Messages: 1866 Localisation: a perpette les alouettes
|
Posté le: Ven 25 Juin, 2004 9:03 Sujet du message: le vb, c'est pourri.... help me please... |
|
|
j'en demande a vos connaissance informatique pour m'aider parce que la j'vais pas y arriver seul....
acces, vb, j'aurais jamais du faire un stage dedans...
donc pour les connaisseurs:
j'ai deux formulaires
le premier : machine
il a un champ: nom
une listbox : machine (liste modifiable ou j'ai saisie les données)
le deuxieme formulaire : atelier
dans un premier champ l'utilisateur selectionne un nom dans un liste modifiable qui prend les données dans le premier formulaire
dans le second champ , j'aimerais pouvoir utiliser une liste modifiable de toute les machines qu'il y a dans le premier formulaire mais , surtout, j'aimerais lors de la selection du nom, qu'une machine se mette par default
(en sachant que le lien entre la machine et le nom a été fait dans l'autre formulaire)
mais je ne sait pas comment faire
pouvez vous m'aider svp?
j'allais oublier de mettre le code que j'ai mis comme evenement apres maj de mon premier champ:
| Code: | Private Sub Modifiable94_AfterUpdate()
Dim rs As Recordset
Dim sql As String
sql = "select Personnel.Machine from Personnel where Personnel.Nom like '" & Nom & "';" /personnel est ma premiere table, celle ou je prend mes données
Set rs = CurrentDb.OpenRecordset(sql)
Lenhardt.Nom_machine.DefaultValue = rs.Fields("Nom_machine").Value
rs.Close /lenhardt est le nom de mon form
CurrentDb.Close
End Sub |
il n'accepte pas la ligne Set rs = CurrentDb.OpenRecordset(sql)
merci de vos réponses,
éviter le flood svp
si vous avez des questions, hésitez pas...
Nain-ternet, loin d'etre fort en vb... |
|
| Revenir en haut de page |
|
 |
gagaches Nain-tégré(e)

Inscrit le: 01 Aoû 2003 Messages: 456
|
Posté le: Ven 25 Juin, 2004 9:53 Sujet du message: |
|
|
pourquoi tu va pas sur www.developpez.com ???
tu trouveras plus de personnes qui peuvent y répondre ...
(moi le vb j'en touche plus bcp dsl) |
|
| Revenir en haut de page |
|
 |
Nain-ternet Nain-doré(e)

Inscrit le: 20 Mar 2003 Messages: 1866 Localisation: a perpette les alouettes
|
Posté le: Ven 25 Juin, 2004 9:56 Sujet du message: |
|
|
j'y vais , ne t'inquiete pas
mais bon
...
la il ne savent pas me répondre
bysarement c simple ce que je demande pourtant jsuis un nb en vb
enfin bon merci qd meme  |
|
| Revenir en haut de page |
|
 |
Cakeman Nain(e) à l'aise
Inscrit le: 06 Nov 2002 Messages: 191 Localisation: Chais pas trop pour l'instant
|
Posté le: Ven 25 Juin, 2004 12:28 Sujet du message: Re: le vb, c'est pourri.... help me please... |
|
|
| Nain-ternet a écrit: |
il n'accepte pas la ligne Set rs = CurrentDb.OpenRecordset(sql) |
essaie:
Set rs = CurrentDb.CreateQueryDef("", sql).OpenRecordset |
|
| Revenir en haut de page |
|
 |
Nain-ternet Nain-doré(e)

Inscrit le: 20 Mar 2003 Messages: 1866 Localisation: a perpette les alouettes
|
Posté le: Ven 25 Juin, 2004 12:44 Sujet du message: |
|
|
| ca ne l'accepte pas non plus, c le rs je pense... |
|
| Revenir en haut de page |
|
 |
Nain-ternet Nain-doré(e)

Inscrit le: 20 Mar 2003 Messages: 1866 Localisation: a perpette les alouettes
|
Posté le: Ven 25 Juin, 2004 12:54 Sujet du message: |
|
|
| Code: | Private Sub Modifiable94_AfterUpdate()
Dim rs As DAO.Recordset
Dim sql As String
sql = "select Personnel.Machine from Personnel where Personnel.Nom like '" & Nom & "';"
Set rs = CurrentDb.CreateQueryDef("", sql).OpenRecordset
Lenhardt.Nom_machine.DefaultValue = rs("machine")
rs.Close
CurrentDb.Close
End Sub |
merci gros nez
maintenant l'erreur est dans la ligne:
Lenhardt.Nom_machine.DefaultValue = rs("machine")
erreur d'execution 424, objet requis |
|
| Revenir en haut de page |
|
 |
saku Propriété d'Haiken

Inscrit le: 20 Mai 2003 Messages: 1552 Localisation: Courbevoie (92)
|
Posté le: Ven 25 Juin, 2004 13:23 Sujet du message: |
|
|
Pour régler ton problème de Recordset, essayes peut-être ça :
| Code: | Set Cn = New Connection
Cn.Open "Dsn=DVD"
Dim Req_Sql As String
Dim LocalRs As Recordset
Set LocalRs = New Recordset
LocalRs.ActiveConnection = Cn
Req_Sql = "Select count(*) from bidule" <== ta requête
LocalRs.Open Req_Sql |
Exemple d'utilisation du recordset :
Label1 = "Nombre de bidules disposnibles dans la base de données : " & LocalRs(0)
Petit commentaire sur le code : Connection doit être déclaré avant dans ton code, il correspond aux code pour la connection à la base access (drivers,....)
Cn.Open "Dsn=DVD" <== DVD correspond au nom de la base que tu as déclaré dans les outils d'admin des BDD
PS : c'est ce qu'on vient de me conseiller J'ai jamais fait de VB, moi  |
|
| Revenir en haut de page |
|
 |
Nain-ternet Nain-doré(e)

Inscrit le: 20 Mar 2003 Messages: 1866 Localisation: a perpette les alouettes
|
Posté le: Ven 25 Juin, 2004 13:29 Sujet du message: |
|
|
merci saku
mais gronez ma aidé sur irc et voila ce que ca donne maintenant:
| Code: | Private Sub Modifiable94_AfterUpdate()
Dim rs As DAO.Recordset
Dim sql As String
sql = "select Personnel.Machine from Personnel where Personnel.Nom like '" & Nom & "';"
Set rs = CurrentDb.CreateQueryDef("", sql).OpenRecordset
Lenhardt.Nom_machine.DefaultValue = rs("machine").Value
rs.Close
CurrentDb.Close
End Sub |
ca marche normalement
mais lorsque je selectione mon nom normalement ca doit aller me chercher la machine par default mais ca me met:
erreur d'exécution 3021 aucun enregistrement en cours
et gros nez n'est plus la pour me sauver |
|
| Revenir en haut de page |
|
 |
saku Propriété d'Haiken

Inscrit le: 20 Mai 2003 Messages: 1552 Localisation: Courbevoie (92)
|
Posté le: Ven 25 Juin, 2004 13:35 Sujet du message: |
|
|
tite question con :
dis dis dis, tu es connecté à la BDD ?
PS : le code que j'avais mis avant a été utilisé dans une appli qui fonctionnait, elle  |
|
| Revenir en haut de page |
|
 |
Nain-ternet Nain-doré(e)

Inscrit le: 20 Mar 2003 Messages: 1866 Localisation: a perpette les alouettes
|
Posté le: Ven 25 Juin, 2004 14:01 Sujet du message: |
|
|
je rajoute des infos:
j'ai deux formulaires: personnel et lenhardt (atelier)
le form personnel met a jour la liste du personnel
g un champ nom, textbox et un champ machine list modifiable créé par saisie
ensuite le form lenhardt
il a un nom en list modifiable ki est pris grace a une requete ki prend ds le premier form
il a une machine en liste modifiable ki reprend la meme que sur le premier form, mais en valeur par default je voudrais que ca me mette ce que lon a saisie dans le premier form
bref j'ai fait le code si dessus et ca marche pas
 |
|
| Revenir en haut de page |
|
 |
Cakeman Nain(e) à l'aise
Inscrit le: 06 Nov 2002 Messages: 191 Localisation: Chais pas trop pour l'instant
|
Posté le: Ven 25 Juin, 2004 14:39 Sujet du message: |
|
|
Si tu es bien connecté à ta base, c'est un problème de requête SQL qui, pour le système, ne ramène aucun résultat. Commence par la récupérer lorsque tu débug ton programme et teste la directement sur ta base. Après difficile d'en dire plus sans avoir l'appli devant soi  |
|
| Revenir en haut de page |
|
 |
GrosNez Nain-filtré(e)
Inscrit le: 25 Juin 2004 Messages: 66
|
Posté le: Ven 25 Juin, 2004 17:47 Sujet du message: |
|
|
j'ai access xp , je cree une table "Table1", avec un num auto ou autre en clef primaire, on s'en fout.... je mets dedans 1 champs de type texte "Champ1".
Je met dedans 1 enregistrement à la main.
dans vba editor, je coche dans le menu Outils, référence, "Microsoft DAO 3.6 Object library".
dans un module global, je met ca:
| Code: |
Private Sub test()
Dim rs As DAO.Recordset
Dim sql As String
sql = "select * from Table1"
Set rs = CurrentDb.CreateQueryDef("", sql).OpenRecordset()
If Not rs.EOF Then
MsgBox rs("champ1")
End If
rs.Close
End Sub
|
et ca marche ...
apres si t'as d'autres pb ca vient pas de la bdd, CurrentDb est tout le temps ouvert sous access, et meme si tu fais Close, elle se reouvre automatiquement. |
|
| Revenir en haut de page |
|
 |
trashdwarf Nain-filtré(e)

Inscrit le: 07 Juin 2004 Messages: 84 Localisation: suivez le chemin de briques jaunes...
|
Posté le: Ven 25 Juin, 2004 21:31 Sujet du message: |
|
|
Pas mal pour ton premier post GrosNez!!
Et bonne chance à tout le monde comme Nain-ternet, *sakura*, Cakeman et les autres ...
Je vous souhaite de bien réussir plus tard!!!  |
|
| Revenir en haut de page |
|
 |
Frór Nain-doré(e)

Inscrit le: 12 Déc 2003 Messages: 1956 Localisation: monde des #RAMPANT
|
Posté le: Sam 26 Juin, 2004 11:11 Sujet du message: |
|
|
| vb, c'est nul ! vive le cobol \o/ |
|
| Revenir en haut de page |
|
 |
|