Remplissage d'une zone de liste avec jeu d'enregistrements et de comparer les dates
Mon programme a 3 champs à savoir le titre, la date de début et date de fin pour l'utilisateur d'entrer. Je veux remplir ma listbox qui est appelé "filteredResults" avec des résultats qui contient des enregistrements avec des tuiles égal à celui entré par l'utilisateur OU qui tombe dans la gamme de la date.
Mai je sais:
1) Comment puis-je remplir la zone de liste avec le jeu d'enregistrements obtenus à partir de la requête?
2) Comment peut-on comparer la date à l'intérieur de la requête?
Merci beaucoup!
Private Sub FilterProj_Click()
Dim title As String, startDate As Date, endDate As Date
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM Project WHERE ORDER BY [ProjectId] DESC")
filteredResults.Recordset = rs
Vous devez vous connecter pour publier un commentaire.
Pour La Question 1:
Remplir directement à partir de la requête:
Remplir à l'aide d'objet jeu d'enregistrements:
Une autre méthode:
Question 2:
Pas très clair. Je suppose que vous avez besoin d'un
parameterized
requête. Par la fixation d'un utilisateur danswhere, and
clauses.Ou vous pouvez utiliser la suite de l'article pour définir la
parameter
dansquery design view
lui-même.#
. Essayez ceci pour les deux paramètres de date s'il vous plaît.p.StartDate <= # '" & startDate & "' # AND ...
Je suis sur mobile donc pas en mesure de donner un exemple.'
est pour le paramètre de chaîne et#
pour les dates. Je vais donner un coup de feu quand j'arrive devant une machine.parameterized queries
, l'assistant est un aide. Une fois que vous utilisez l'assistant, vous pouvez tout simplement regarder dans l'sql view
pour obtenir la requête ainsi.Définir la propriété pour votre
filteredResults
zone de liste à une requête qui utilise une stratégie similaire à cela.Chaque fois que vous souhaitez mettre à jour le contenu de
filteredResults
afin de refléter les changements soumis par l'utilisateur, le titre, la date de début et/ou la date de fin, vous pouvez actualiser la liste de la boîte:Vous pourrait déclencher l'actualisation d'un bouton de commande, ou de la après les événements de mise à jour des zones de texte.
Remarque j'ai supposé que votre
Project
table comprend un champ de texte nommétitle
et un champ Date/Heure nommédate_field
. J'ai fait mon propre nom (txtTitle, txtStartDate, txtEndDate
) pour les zones de texte. Définir le Format de la propriété "Général" pourtxtStartDate
ettxtEndDate
. Remplacer par le nom de votre formulaire pourYourForm
.Forms![Search by project]!ProjTitle
, je ne peux pas trouver un moyen de faire Accéder à demanderForms!Search by project!ProjTitle
en tant que paramètre.