Access : combinaison vb + sql pour créer une requête

Soyez le premier à donner votre avis sur cette source.

Snippet vu 28 685 fois - Téléchargée 59 fois

Contenu du snippet

Dans Access 97, créer un formulaire avec un bouton "Commande1" et deux zones de texte "texte1" et "Texet2".
Ajouter ce code dans l'évènement "sur Clic" du bouton "Commande1".
Une requête "NouvelleRequête" avec les critères de recherche des "Texte1" et "texte2" sera automatiquement ajoutée

Source / Exemple :


Private Sub Commande1_Click()
On Error GoTo Err_Commande1_Click

Dim Champ1 as string
Dim Champ2 as String
Dim bds As Database, qdf As QueryDef
Dim chSQL As String

'Définition des variables
Champ1=[Texte1]
Champ2=[Texte2]

'Activation de la base de donnée en cours
Set bds = CurrentDb
 bds.QueryDefs.Refresh

 ' Si la requête NouvelleRequête existe, la supprime.
    For Each qdf In bds.QueryDefs
        If qdf.Name = "NouvelleRequête" Then
            bds.QueryDefs.Delete qdf.Name
        End If
Next qdf
    
 chSQL = "SELECT * FROM [VotreTable ou votre Requête] WHERE ([NomChamp1]=" & Champ1 & "  and [NomChamp2]=" & Champ2 & ")"

 ' Crée un objet QueryDef.
 Set qdf = bds.CreateQueryDef("NouvelleRequête", chSQL)
   
Set bds = Nothing

Exit_Commande1_Click:
    Exit Sub

Err_Commande1_Click:
    MsgBox Err.Description
    Resume Exit_Commande1_Click
    
End Sub

A voir également

Ajouter un commentaire

Commentaires

Messages postés
4
Date d'inscription
mercredi 4 juillet 2007
Statut
Membre
Dernière intervention
3 août 2007

salut! bravo pour le code... c'est ce que je cherche a faire depuis 2mois... et avec des codes ^necessitant l'import de nouvelles references a mon projet, bref, le boxon. je teste tout ca... une petite question: est-ce au'on peut se servir de cette requete pour retourner le resultat dans une zone de texte? ( normalement en utilisant ce code je ne récupère qu'un seul resultat au format date...)
Messages postés
1
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
30 mai 2007

Un GROS GROS GROS merci biboune !!! Très utile ce code, je vais m'en servir pour faire un générateur de requêtes dans Access 2003. Merci encore !
Messages postés
12
Date d'inscription
mercredi 25 avril 2001
Statut
Membre
Dernière intervention
5 mars 2007

après
' Crée un objet QueryDef.
Set qdf = bds.CreateQueryDef("NouvelleRequête", chSQL)

Tu insères ça :
On Error GoTo Err_Print_Click

Dim stDocName As String

' Ouvre la requête en mode Feuille de données.

stDocName = "le nom de ton etat"

DoCmd.OutputTo acOutputReport, stDocName, acFormatHTML, "tonfichier.xls", True, "tonfichier.xls"


Exit_Print_Click:
Exit Sub

Err_Print_Click:
MsgBox Err.Description
Resume Exit_Print_Click

End Sub
Messages postés
17
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
26 juillet 2004

comment peut on ensuite réussir à exporter le résultat de cette requete vers excel?
URGENT
Messages postés
17
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
26 juillet 2004

ce code est effectivement très utile
mersi a toi biboune
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.