rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[Access] : Requete SQL en VBa

Posté par fl0, le vendredi 9 mars 2007 à 09:16:15
Salut à tous

je cherche de l'aide pour creer une requete SQL dans le VB fournit avec Access

en faite je veux ecrire une requete qui tiendra compte de ce que j'aurais choisit dans ma zone de liste

exemple:
SELECT PC.nom_PC FROM PC WHERE utilisateur ="zone_de_liste"

merci à tous
Configuration: Windows XP
Internet Explorer 6.0
Répondre à fl0  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fl0, le vendredi 9 mars 2007 à 09:18:14
Si ca peut aider voici mon code


Private Sub lstnom_Click()


Dim gpi As DAO.Database
Dim req As DAO.Recordset 'Récupère le nom_PC d'un PC
Dim sql As String

Set gpi = CurrentDb()

sql = "SELECT PC.nom_PC FROM PC WHERE utilisateur ="
sql = sql & "lstnom"
DoCmd.RunSQL sql
Set req = gpi.OpenRecordset(sql)


End Sub
Répondre à fl0

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fl0, le vendredi 9 mars 2007 à 11:52:05
Aidez moi SVP
Répondre à fl0

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ruzakruzak, le vendredi 9 mars 2007 à 11:58:06
Passe par l'assistant de création de requête. Une fois que tu obtiens le résultat souhaité, affiche le code de la requête en passant l'affichage à SQL.

Ca te transcrira ta requête graphique en code, et t'aidera à retenir la syntaxe à employer.
Et bonne continuation dans access !!
J'ai des preuves !
Répondre à ruzakruzak

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fl0, le vendredi 9 mars 2007 à 13:35:50
je sais comment ca marche sous Access mais la requete que je veu faire prend en compte une variable que je choisi dans une listebox d'un formulaire
donc il faut le faire en code VB
Répondre à fl0

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ruzakruzak, le vendredi 9 mars 2007 à 13:48:10
A vue de nez la syntaxe doit être:
forms!nom_de_mon_formulaire!nom_du_controle.propriété
Soit:
forms!mon_formulaire!zone_de_liste.value

ou encore
[forms]![mon_formulaire]!zone_de_liste.value


Sinon, quand tu cherche Forms! dans l'aide d'Access tu tombes sur le passage suivant :

Cette propriété permet de faire référence au formulaire ou à l'état contenu dans un contrôle de sous-formulaire. Par exemple, le code suivant utilise la propriété Form pour accéder au contrôle OrderID (N° commande) d'un sous-formulaire contenu dans le contrôle de sous-formulaire OrderDetails.

Dim intOrderID As Integer
intOrderID = Forms!Orders!OrderDetails.Form!OrderID


Comme quoi, mine de rien, il ne faut ni sous-estimer un fichier d'aide, ni laisser trop vite tomber...
J'ai des preuves !
Répondre à ruzakruzak

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fl0, le vendredi 9 mars 2007 à 15:05:18
tou dabord merci de ton aide

mais mon probleme c'est que je ne sais pas comment ecrire et utiliser une requete SQL en VBa et je ne comprend pas ou je met la ligne de code que tu ma donnée au dessus

"je vais passé pour un boulet"
Répondre à fl0

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
zenon, le vendredi 9 mars 2007 à 22:49:38
Bonsoir,
Désolé d'intervenir comme ça...

Si je comprends bien tu souhaites trier un formulaire en fonction de la valeur d'une liste déroulante?

Pas besoin de beaucoup de code pour ça.

Si tu veux afficher le résultat dans un formulaire, l'assistant zone de liste le fait automatiquement.
Crée un formulaire qui contient les champs que tu veux afficher puis, dans la section en-tête, ajoute une zone de liste et dans la première fenêtre, choisis la troisième option: "rechercher un enregistrement..."
Ensuite, suis les instructions pour la création de la zone de liste.
(tout peut être modifié par la suite dans la requête)
Si tu vas voir ensuite dans les propriétés de la liste, sous l'onglet événement, AprèsMAJ, tu trouveras un code VBA du type:

Sub...
Dim rs As Object

Set rs = Me.Recordset.Clone
rs.FindFirst "[NomDuChampATrier] = " & Str(Me![NomDeLaListeListe])
Me.Bookmark = rs.Bookmark
End Sub

Bien sûr, rien ne t'empêche de faire tout cela "à la main"... mais pq se compliquer la tâche?
Répondre à zenon

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fl0, le lundi 12 mars 2007 à 14:41:29
Salut a tous

c'est bon j'ai resolu mon probleme mon code est umpeu long mais ca marche


Dim sql As String
Dim Qry As DAO.QueryDef
Dim Rs As DAO.Recordset

sql = "SELECT PC.nom_PC FROM PC"
sql = sql & " WHERE (((PC.utilisateur) = """ & Me.lstnom & """)) "

DoCmd.DeleteObject acQuery, "nom_PC" 'supprime la requête
CurrentDb.CreateQueryDef "nom_PC", sql 'crée une nouvelle requete

Set Qry = CurrentDb.QueryDefs("nom_PC")
Set Rs = Qry.OpenRecordset

While Not Rs.EOF

txtnom_PC.Text = Rs(0)
Rs.MoveNext

Wend

Set Qry = Nothing
Set Rs = Nothing


Si quelqu'un a une idée pour reduire tous ca
Il est le bien venu
Répondre à fl0

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Touto, le dimanche 1 juin 2008 à 19:43:04
salut à tous ,

je cherche de l'aide pour arrondir à la valeur supérieure un champ calculé dans un état access, je m'explique :

j'ai la formule suivante dans un champ : ([compte NB UC]/6) , je veux que le résultat soit toujours arrondi à la valeur supérieur par exemple :
0.3 = 1
2.5 = 3

Merci à tous
Répondre à Touto
Logiciels pertinents trouvés dans les téléchargements
Télécharger WAMP Server 2.0cWAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de...Catégorie: Serveurs
Licence: Freeware/gratuit
Télécharger OpenOffice.org 2.4.1OpenOffice.org - OpenOffice est une suite bureautique complète entièrement gratuite, compatible avec la suite Microsoft Office. Elle...Catégorie: Suite bureautique
Licence: Open Source
Télécharger PowerISO 4.2PowerISO - PowerISO est un outil de gestion d'images de CD et DVD, capable d'ouvrir, d'extraire, de créer, d'éditer, de compresser et...Catégorie: Gravure
Licence: Demo
Télécharger GANTT Project 2.0.7GANTT Project - GanttProject est un outil de gestion de projet libre, permettant de réaliser des diagrammes de GANTT afin de planifier un...Catégorie: Gestion de projet
Licence: Open Source
Plus de logiciels gratuits sur « [Access] : Requete SQL en VBa »