A voir également:
- Problème numéro d'adhérent sous access 2007
- Numero prive - Guide
- Numéro père noël whatsapp - Accueil - Messagerie instantanée
- Save as pdf office 2007 - Télécharger - Bureautique
- A qui appartient ce numéro - Guide
- Word numéro de page 1/2 - Guide
8 réponses
yg_be
Messages postés
23403
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
Ambassadeur
1 557
26 juin 2009 à 13:45
26 juin 2009 à 13:45
Tu as approximativement combien d'adhérents ?
Tu veux simplement trouver un numéro libre, ou bien la liste des numéros libres ?
Tu es prête à faire cela avec un petit programme VBA, ou tu préféres une requête SQL qui ser asans doute plus lente ?
La requeste suivante te donnera une partie des numeros libres :
SELECT DISTINCT IIf(num=1,1,num-1) AS libre
FROM tnum
WHERE (((IIf([num]=1,1,[num]-1)) Not In (select num from tnum)));
Tu dois rempacer tnum par le nom de ta table, et num par le nom de ta colonne.
Tu veux simplement trouver un numéro libre, ou bien la liste des numéros libres ?
Tu es prête à faire cela avec un petit programme VBA, ou tu préféres une requête SQL qui ser asans doute plus lente ?
La requeste suivante te donnera une partie des numeros libres :
SELECT DISTINCT IIf(num=1,1,num-1) AS libre
FROM tnum
WHERE (((IIf([num]=1,1,[num]-1)) Not In (select num from tnum)));
Tu dois rempacer tnum par le nom de ta table, et num par le nom de ta colonne.
bonjour,
eh bien, il y a entre 0 et 150 adhérents ; je souhaite obtenir la liste des numéros libres si possible ;
avec une requête oui. je ne connais pas le programme vba.
Merci beaucoup pour votre aide.
eh bien, il y a entre 0 et 150 adhérents ; je souhaite obtenir la liste des numéros libres si possible ;
avec une requête oui. je ne connais pas le programme vba.
Merci beaucoup pour votre aide.
yg_be
Messages postés
23403
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
Ambassadeur
1 557
26 juin 2009 à 15:59
26 juin 2009 à 15:59
Que penses-tu de la requete que je t'ai passée ?
yg_be
Messages postés
23403
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
Ambassadeur
1 557
26 juin 2009 à 16:15
26 juin 2009 à 16:15
Voici un exemple de programme qui te donne une liste des numeros disponibles
Option Compare Database
Option Explicit
Function dispo() As String
Dim rs As DAO.Recordset
Dim disponibles As String
Dim last As Long
Dim i As Long
Set rs = CurrentDb.OpenRecordset("select num from tnum order by num")
last = 0
Do While Not rs.EOF
For i = last + 1 To rs!num - 1
If dispo <> "" Then dispo = dispo + ","
dispo = dispo + CStr(i)
Next i
last = rs!num
Comme déjà écrit, tu dois rempalcer num et tnum par tes noms.
Pour afficher la liste, tu peux, par exemple, faire une requete : "select dispo();"
rs.MoveNext
Loop 'While Not rs.EOF
End Function
Sub testdispo()
Debug.Print dispo()
End Sub
Option Compare Database
Option Explicit
Function dispo() As String
Dim rs As DAO.Recordset
Dim disponibles As String
Dim last As Long
Dim i As Long
Set rs = CurrentDb.OpenRecordset("select num from tnum order by num")
last = 0
Do While Not rs.EOF
For i = last + 1 To rs!num - 1
If dispo <> "" Then dispo = dispo + ","
dispo = dispo + CStr(i)
Next i
last = rs!num
Comme déjà écrit, tu dois rempalcer num et tnum par tes noms.
Pour afficher la liste, tu peux, par exemple, faire une requete : "select dispo();"
rs.MoveNext
Loop 'While Not rs.EOF
End Function
Sub testdispo()
Debug.Print dispo()
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonsoir merci beaucoup pour ton aide
j'ai essayé la requete mais cela ne fonctionne pas ; voila comment cela se présente, j'ai dû faire une erreur quelque part : message d'erreur pas de données compatibles etc.
SELECT accessadherents08.[N°], accessadherents08.[N° commune]
FROM accessadherents08
WHERE (((accessadherents08.[N° commune])=105));
SELECT DISTINCT IIf(N°=1,1,N°-1) AS libre
FROM tnum
WHERE (((IIf([N°]=1,1,[N°]-1)) Not In (select N° from accessadherents08)));
j'ai essayé la requete mais cela ne fonctionne pas ; voila comment cela se présente, j'ai dû faire une erreur quelque part : message d'erreur pas de données compatibles etc.
SELECT accessadherents08.[N°], accessadherents08.[N° commune]
FROM accessadherents08
WHERE (((accessadherents08.[N° commune])=105));
SELECT DISTINCT IIf(N°=1,1,N°-1) AS libre
FROM tnum
WHERE (((IIf([N°]=1,1,[N°]-1)) Not In (select N° from accessadherents08)));
Bonjour,
J'ai testé votre requête en utilisant ID au lieu de numéro d'adhérent, et cela fonctionne parfaitement. Je ne comprends pas pourquoi en faisant la reqûete sur le numéro d'adhérent, aucun résultat trouvé, la requête semble ne pas fonctionner. merci de votre aide.
J'ai testé votre requête en utilisant ID au lieu de numéro d'adhérent, et cela fonctionne parfaitement. Je ne comprends pas pourquoi en faisant la reqûete sur le numéro d'adhérent, aucun résultat trouvé, la requête semble ne pas fonctionner. merci de votre aide.
yg_be
Messages postés
23403
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
Ambassadeur
1 557
28 juin 2009 à 16:56
28 juin 2009 à 16:56
Partout dans la requete, tu dois écrire [N°] au lieu de N°.