bonjour,
Mon problème est le suivant: j'ai une requête qui me renvoi X lignes et j'aimerai, à partir de cette requête réaliser X requête me renvoyant une ligne .
Comment je dois procéder ???
bonjour,
Mon problème est le suivant: j'ai une requête qui me renvoi X lignes et j'aimerai, à partir de cette requête réaliser X requête me renvoyant une ligne .
Comment je dois procéder ???
ce que tu peux faire c'est faire une requête avec une condition WHERE avec laquelle tu recherche la clé primaire de chaque ligne ...
Je m'excuse mais je ne vois pas trop l'utilité de faire cela ... la clause WHERE est surement la plus pratique pour faire ce que tu veux faire ... maintenant je pense qu'il doit y avoir un moyen pour te générer tes requêtes automatiquement mais je ne vois pas trop comment cela sefait peut être en programmation ... et ce n'est pas trop ma spécialisastion donc je ne peux pas trop t'aider plus ...
A plus
+++
++
+
Snoop's
... Je me méfie de l'irrespectmais je revendique le droit à la frénésie
...
salut,
j'avoue que j'ai du mal à comprendre ce que tu veux faire. qu'entends-tu par "à partir de cette requête réaliser X requêtes ?"Envoyé par pixeldargent
un exemple ?
salut,
c'est vrai que ça demande peut être plus de précision .
en fait je construit une requête à partir d'une sélection de fiches dans un formulaire et je veux imprimer toutes ces fiches (impression par lot ) mais je passe par un autre logiciel qui est interfacé avec access pour lancer l'impression car le but est d'imprimé des badges et c'est ce logiciel qui peut gérer cela ... le problème c'est qu'il ne sait pas m'avertir si une impression rate ! enfin pas précisément (genre une impression raté sur 30 mais tu ne sait pas laquelle !!!) donc pour gérer la bonne impression de chaque badge je dois lancer les impressions une par une . comme ce logiciel ouvre une requête , je dois venir écrire dans cette requête les enregistrements l'un après l'autre . en fait j'ai trouvé une astuce aujourd'hui en créant une requête B qui prend le 1er enregistrement de ma requête A et en supprimant à chaque fois la première ligne de A .. au niveau des requêtes ça à l'air de fonctionner correctement mais le logiciel qui gère l'impression ne suit pas et ne se met pas à jour !!!!!!!!!!! c'est franchement gonflant !
si vous avez une autre méthode à me proposer je veux bien essayer .![]()
Salut,
Tu pourrais peut être écrire un code qui boucle sur chaque enregistrement de ta requete et pour chaque enregistrement tu les enregistres dans une requete à part.
Je ne pense pas que ce soit impossible...
Les Cours et tutoriels pour apprendre Access, Les codes Sources Access, Le Forum Access, Offres d'emploi développeur Access et Les FAQs Office
Avant de poster : les choses importantes à lire pour la bonne tenue du forum.
Le nombre de requête est limitée à 255 il me semble
Ce message vous a été utile ? Si oui, cliquez sur
Mes tutoriels Access
La rubrique Microsoft Access
Cours et tutoriels pour apprendre Access
La FAQ Access
Le Forum Access
Offres d'emploi développeur Access
bonjour,
logiquement les lots ne devraient pas comprendre plus d'une trentaine d'impressions , les requêtes seront supprimées après la validation de l'impression .
voici ce que j'ai déjà fait, dites moi si c'est correct :
info complémentaire , la requete de base (qui contient x enregistrement) ne comporte actuellement pas d'index ! peut être devrais je en rajouter un ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 Private Sub Commande11_Click() Dim rs As DAO.Recordset Dim rs1 As DAO.Recordset Dim flds As DAO.Fields Dim fld As DAO.Field Dim nb As Byte Dim qdf As DAO.QueryDef Dim req, req2 As Variant Dim i As Byte DoCmd.DeleteObject acQuery, "testprint2" DoCmd.CopyObject , "testprint2", acQuery, "testPrint" req = "select TOP 1 * from testprint2" Set qdf = CurrentDb.QueryDefs("testPrint") qdf.sql = req Set rs = CurrentDb.OpenRecordset("testprint2") rs.MoveLast nb = rs.RecordCount rs.MoveFirst 'MsgBox nb For i = 0 To nb - 1 'Lance l'impression Akewa.SmartPrint Set qdf = CurrentDb.QueryDefs("testPrint") Set rs1 = qdf.OpenRecordset 'suppression de la première ligne de la requete globale req2 = "delete * from testprint2 where " & rs1.Fields(0).Name & "='" & rs1.Fields(0).Value & "'" 'MsgBox req2 rs1.Close DoCmd.RunSQL req2 Next i qdf.Close rs.Close End Sub
Pardon ... mais pourquoi créer n requêtes ?
par ta réponse à la question, les membres du forum pourront peut-être te proposer une solution moins "étrange".
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
12 tutoriels Access
comme je l'expliquai dans le message précédent cela me sert à recevoir une information sur l'impression ou non de chaque badges, sinon je vais recevoir une info du type "un badge n'a pas pu être imprimé " ouais mais lequel ? ou "impossible de continuer l'impression " et je sais pas ou ça c'est arrêté ???? il est primordiale pour moi de recevoir une validation pour chaque impression ce qui permet d'inscrire dans la base ensuite la date d'impression de chaques badges imprimés car on ne peut pas réimprimé un badge comme ça (ça sert notament à la sécurité) .![]()
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