Bonjour,
j'ai une question toute bête à poser. Je ne me rappelle plu comment faire pour exécuter une requête SQL en VBA.
Merci de votre aide.
Bonjour,
j'ai une question toute bête à poser. Je ne me rappelle plu comment faire pour exécuter une requête SQL en VBA.
Merci de votre aide.
Salut,
si j'ai compris c'est ca: RunSQL, non?
avec le DoCmd et puis le F1 de VBA ca devrait passer!
Hello,
c'est bon sauf pour une requête Sélection ..
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
12 tutoriels Access
justement j'ai besoin des requêtes de sélection. est-ce que ça c'est bon ?
CurrentDb.execute "requete"
J'ai trouvé une façon de faire mais quelqu'un peut-il me dire pourquoi je ne visualise aucun résultat ?
Private Sub theme1CP_Change()
Dim rs As DAO.Recordset
sql = "SELECT "
Set rs = CurrentDb.OpenRecordset(sql)
theme1CP.Text = rs.Fields
End Sub
Primo, merci d'utiliser les balises CODE (bouton #)Envoyé par rob2-9
Secundo, Fields est la collection des champs et non pas une valeur ...
Tercio, très étrange de mettre ce code sur l'événement Change du contrôle dont tu veux modifier la valeur ... ça fait un peu serpent qui se mord la queue ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub theme1CP_Change() Dim rs As DAO.Recordset sql = "SELECT MonChampQueJeVeux FROM MaTable WHERE MonCritereNumerique = 12 And MonCritereTexte = 'toto'" Set rs = CurrentDb.OpenRecordset(sql) theme1CP.Text = rs.Fields("MonChampQueJeVeux").Value rs.Close Set rs = Nothing End Sub
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
12 tutoriels Access
merci beaucoup pour cette réponse. Effectivement en recopiant j'ai oublié de mettre que l'action était au load du form.
J'ai encore un souci dans mon code : j'ai un message d'erreur qui apparaît quand j'exécute mon code (Sub ou fonction non définie sur le sum).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Form_Load() Dim rs As DAO.Recordset sql = "SELECT Sum([Dossier].[MontantSubventionnable]) AS Montant_subventionnable FROM dossier, CP WHERE (((Dossier.NatureTravaux1ASST)='Réhabilitation de réseau') AND ((CP.DateCommission) Is Null));" Set rs = CurrentDb.OpenRecordset(sql) theme1CP.Text = rs.Fields(Sum([dossier].[MontantSubventionnable])).Value rs.Close Set rs = Nothing End Sub
Aidez-moi svp? Je suis totalement perdu. Je ne trouve pas la façon correcte pour pouvoir obtenir le résultat que je veux dans ma case.
J'ai essayé de mettre rs.Fields(0) comme en Vb mais sans succès.
j'ai vraiment besoin d'aide.
Merci
Mon conseil : ton SQL n'est pas valide ... repasse par le QBE (mode interfacé) pour refaire ta requête ...
. pas de lien entre tes deux tables CP et Dossier
. SUM sans clause GROUP BY (étrange quand même ...)
et pour cette ligne aussi
N'utilise pas .Text mais .Value
Code : Sélectionner tout - Visualiser dans une fenêtre à part theme1CP.Text = rs.Fields(Sum([dossier].[MontantSubventionnable])).Value
Utilise plutôt le nom de ton champ plutôt que sa formule ...
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
12 tutoriels Access
Merci beaucoup tu m'as bien aidé en me disant cela. Le problème principal était le .value.
Il me reste encore un souci, c'est que le total que j'obtiens dans mon formulaire n'est pas le même que lorque j'exécute ma requête dans l'exécuteur de requêtes.
Si je mets un group by je n'arrive pas à avoir un seul résultat j'en ai plusieurs donc où placer le group by ?
merci
bis : refais ta requête en mode QBE (interface graphique) ! ça reste un des meilleurs moyen pour déboguerEnvoyé par rob2-9
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
12 tutoriels Access
Merci pour l'aide
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager