Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur ce
champ me renvoient des résultats selon l'ordre de saisie des noms et non
selon leur ordre d'affichage dans la requête R1. Par exemple, DFirst me
renvoie "Z..." en lieu et place de "A...", parce que "Z..." a été le
premier nom saisi.
Est-ce normal?
Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur ce
champ me renvoient des résultats selon l'ordre de saisie des noms et non
selon leur ordre d'affichage dans la requête R1. Par exemple, DFirst me
renvoie "Z..." en lieu et place de "A...", parce que "Z..." a été le
premier nom saisi.
Est-ce normal?
Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur ce
champ me renvoient des résultats selon l'ordre de saisie des noms et non
selon leur ordre d'affichage dans la requête R1. Par exemple, DFirst me
renvoie "Z..." en lieu et place de "A...", parce que "Z..." a été le
premier nom saisi.
Est-ce normal?
Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur ce
champ me renvoient des résultats selon l'ordre de saisie des noms et non
selon leur ordre d'affichage dans la requête R1. Par exemple, DFirst me
renvoie "Z..." en lieu et place de "A...", parce que "Z..." a été le
premier nom saisi.
Est-ce normal?
Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur ce
champ me renvoient des résultats selon l'ordre de saisie des noms et non
selon leur ordre d'affichage dans la requête R1. Par exemple, DFirst me
renvoie "Z..." en lieu et place de "A...", parce que "Z..." a été le
premier nom saisi.
Est-ce normal?
Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur ce
champ me renvoient des résultats selon l'ordre de saisie des noms et non
selon leur ordre d'affichage dans la requête R1. Par exemple, DFirst me
renvoie "Z..." en lieu et place de "A...", parce que "Z..." a été le
premier nom saisi.
Est-ce normal?
See http://support.microsoft.com/kb/103403
"Léila" wrote in message
news:Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur ce
champ me renvoient des résultats selon l'ordre de saisie des noms et
non selon leur ordre d'affichage dans la requête R1. Par exemple,
DFirst me renvoie "Z..." en lieu et place de "A...", parce que
"Z..." a été le premier nom saisi.
Est-ce normal?
See http://support.microsoft.com/kb/103403
"Léila" <sav_prof.abc@yahoo.fr> wrote in message
news:OXw9wdfbKHA.5608@TK2MSFTNGP05.phx.gbl...
Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur ce
champ me renvoient des résultats selon l'ordre de saisie des noms et
non selon leur ordre d'affichage dans la requête R1. Par exemple,
DFirst me renvoie "Z..." en lieu et place de "A...", parce que
"Z..." a été le premier nom saisi.
Est-ce normal?
See http://support.microsoft.com/kb/103403
"Léila" wrote in message
news:Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur ce
champ me renvoient des résultats selon l'ordre de saisie des noms et
non selon leur ordre d'affichage dans la requête R1. Par exemple,
DFirst me renvoie "Z..." en lieu et place de "A...", parce que
"Z..." a été le premier nom saisi.
Est-ce normal?
Merci infiniment Sylvain.
Je vais voir ça de près.
Sylvain Lafontaine wrote:See http://support.microsoft.com/kb/103403
"Léila" wrote in message
news:Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur
ce champ me renvoient des résultats selon l'ordre de saisie des
noms et non selon leur ordre d'affichage dans la requête R1. Par
exemple, DFirst me renvoie "Z..." en lieu et place de "A...", parce
que "Z..." a été le premier nom saisi.
Est-ce normal?
Merci infiniment Sylvain.
Je vais voir ça de près.
Sylvain Lafontaine wrote:
See http://support.microsoft.com/kb/103403
"Léila" <sav_prof.abc@yahoo.fr> wrote in message
news:OXw9wdfbKHA.5608@TK2MSFTNGP05.phx.gbl...
Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur
ce champ me renvoient des résultats selon l'ordre de saisie des
noms et non selon leur ordre d'affichage dans la requête R1. Par
exemple, DFirst me renvoie "Z..." en lieu et place de "A...", parce
que "Z..." a été le premier nom saisi.
Est-ce normal?
Merci infiniment Sylvain.
Je vais voir ça de près.
Sylvain Lafontaine wrote:See http://support.microsoft.com/kb/103403
"Léila" wrote in message
news:Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur
ce champ me renvoient des résultats selon l'ordre de saisie des
noms et non selon leur ordre d'affichage dans la requête R1. Par
exemple, DFirst me renvoie "Z..." en lieu et place de "A...", parce
que "Z..." a été le premier nom saisi.
Est-ce normal?
J'ai regardé mais le code ne fonctionne pas.
Pour la fonction DStart par exemple, voici le code:
Option Compare Database
Option Explicit
'--------------------------------------
' Use DStart()instead of DFirst() to return
' the first sorted record in a domain.
'--------------------------------------
Function DStart(FieldName As String, DomainName As String, Criteria As
String)
Dim MyDB As Database, Myset As Dynaset
' ERROR OUT IF THERE IS NO FIELDNAME SENT.
If Len(FieldName) = 0 Then
MsgBox "You Must Specify a Field name", , "DStart"
Exit Function
End If
' ERROR OUT IF THERE IS NO DOMAIN SENT.
If Len(DomainName) = 0 Then
MsgBox "You Must Specify a Domain name", , "DStart"
Exit Function
End If
Set MyDB = CurrentDb()
Set Myset = MyDB.CreateDynaset(DomainName)
If Len(Criteria) > 0 Then
Myset.Filter = Criteria
Set Myset = Myset.CreateDynaset()
End If
' IF THERE ARE NO RECORDS, RETURN THE NULL, ELSE RETURN THE VALUE
' OF THE FIRST RECORD.
If Myset.EOF Then
DStart = Null
Else
Myset.MoveFirst
DStart = Myset(FieldName)
End If
Myset.Close
MyDB.Close
End Function
Il y a le message d'erreur suivant:
Type défini par l'utilisateur non défini.
Dans la fenêtre de code, il est surligné en bleu l'expression "Myset As
Dynaset".
Léila wrote:Merci infiniment Sylvain.
Je vais voir ça de près.
Sylvain Lafontaine wrote:See http://support.microsoft.com/kb/103403
"Léila" wrote in message
news:Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur
ce champ me renvoient des résultats selon l'ordre de saisie des
noms et non selon leur ordre d'affichage dans la requête R1. Par
exemple, DFirst me renvoie "Z..." en lieu et place de "A...", parce
que "Z..." a été le premier nom saisi.
Est-ce normal?
J'ai regardé mais le code ne fonctionne pas.
Pour la fonction DStart par exemple, voici le code:
Option Compare Database
Option Explicit
'--------------------------------------
' Use DStart()instead of DFirst() to return
' the first sorted record in a domain.
'--------------------------------------
Function DStart(FieldName As String, DomainName As String, Criteria As
String)
Dim MyDB As Database, Myset As Dynaset
' ERROR OUT IF THERE IS NO FIELDNAME SENT.
If Len(FieldName) = 0 Then
MsgBox "You Must Specify a Field name", , "DStart"
Exit Function
End If
' ERROR OUT IF THERE IS NO DOMAIN SENT.
If Len(DomainName) = 0 Then
MsgBox "You Must Specify a Domain name", , "DStart"
Exit Function
End If
Set MyDB = CurrentDb()
Set Myset = MyDB.CreateDynaset(DomainName)
If Len(Criteria) > 0 Then
Myset.Filter = Criteria
Set Myset = Myset.CreateDynaset()
End If
' IF THERE ARE NO RECORDS, RETURN THE NULL, ELSE RETURN THE VALUE
' OF THE FIRST RECORD.
If Myset.EOF Then
DStart = Null
Else
Myset.MoveFirst
DStart = Myset(FieldName)
End If
Myset.Close
MyDB.Close
End Function
Il y a le message d'erreur suivant:
Type défini par l'utilisateur non défini.
Dans la fenêtre de code, il est surligné en bleu l'expression "Myset As
Dynaset".
Léila wrote:
Merci infiniment Sylvain.
Je vais voir ça de près.
Sylvain Lafontaine wrote:
See http://support.microsoft.com/kb/103403
"Léila" <sav_prof.abc@yahoo.fr> wrote in message
news:OXw9wdfbKHA.5608@TK2MSFTNGP05.phx.gbl...
Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur
ce champ me renvoient des résultats selon l'ordre de saisie des
noms et non selon leur ordre d'affichage dans la requête R1. Par
exemple, DFirst me renvoie "Z..." en lieu et place de "A...", parce
que "Z..." a été le premier nom saisi.
Est-ce normal?
J'ai regardé mais le code ne fonctionne pas.
Pour la fonction DStart par exemple, voici le code:
Option Compare Database
Option Explicit
'--------------------------------------
' Use DStart()instead of DFirst() to return
' the first sorted record in a domain.
'--------------------------------------
Function DStart(FieldName As String, DomainName As String, Criteria As
String)
Dim MyDB As Database, Myset As Dynaset
' ERROR OUT IF THERE IS NO FIELDNAME SENT.
If Len(FieldName) = 0 Then
MsgBox "You Must Specify a Field name", , "DStart"
Exit Function
End If
' ERROR OUT IF THERE IS NO DOMAIN SENT.
If Len(DomainName) = 0 Then
MsgBox "You Must Specify a Domain name", , "DStart"
Exit Function
End If
Set MyDB = CurrentDb()
Set Myset = MyDB.CreateDynaset(DomainName)
If Len(Criteria) > 0 Then
Myset.Filter = Criteria
Set Myset = Myset.CreateDynaset()
End If
' IF THERE ARE NO RECORDS, RETURN THE NULL, ELSE RETURN THE VALUE
' OF THE FIRST RECORD.
If Myset.EOF Then
DStart = Null
Else
Myset.MoveFirst
DStart = Myset(FieldName)
End If
Myset.Close
MyDB.Close
End Function
Il y a le message d'erreur suivant:
Type défini par l'utilisateur non défini.
Dans la fenêtre de code, il est surligné en bleu l'expression "Myset As
Dynaset".
Léila wrote:Merci infiniment Sylvain.
Je vais voir ça de près.
Sylvain Lafontaine wrote:See http://support.microsoft.com/kb/103403
"Léila" wrote in message
news:Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans l'ordre
croissant. Curieusement, les fonctions DFirst et DLast portant sur
ce champ me renvoient des résultats selon l'ordre de saisie des
noms et non selon leur ordre d'affichage dans la requête R1. Par
exemple, DFirst me renvoie "Z..." en lieu et place de "A...", parce
que "Z..." a été le premier nom saisi.
Est-ce normal?
Cette référence est seulement pour vous expliquer que contrairement à
ce que l'on pourrait penser de prime abord, les fonctions DFirst et
DLast ne renvoient aucunement un résultat selon l'ordre d'affichage
d'une requête et que le résultat que vous obtenez présentement - mais
qui vous semble curieux - est conforme à leur description.
Si vous voulez obtenir la tête de file ou la tête de queue de votre
requête selon la clause Order By, vous devez soit utiliser TOP 1,
soit lire la première ligne de résultat.
"Léila" wrote in message
news:J'ai regardé mais le code ne fonctionne pas.
Pour la fonction DStart par exemple, voici le code:
Option Compare Database
Option Explicit
'--------------------------------------
' Use DStart()instead of DFirst() to return
' the first sorted record in a domain.
'--------------------------------------
Function DStart(FieldName As String, DomainName As String,
Criteria As String)
Dim MyDB As Database, Myset As Dynaset
' ERROR OUT IF THERE IS NO FIELDNAME SENT.
If Len(FieldName) = 0 Then
MsgBox "You Must Specify a Field name", , "DStart"
Exit Function
End If
' ERROR OUT IF THERE IS NO DOMAIN SENT.
If Len(DomainName) = 0 Then
MsgBox "You Must Specify a Domain name", , "DStart"
Exit Function
End If
Set MyDB = CurrentDb()
Set Myset = MyDB.CreateDynaset(DomainName)
If Len(Criteria) > 0 Then
Myset.Filter = Criteria
Set Myset = Myset.CreateDynaset()
End If
' IF THERE ARE NO RECORDS, RETURN THE NULL, ELSE RETURN THE
VALUE ' OF THE FIRST RECORD.
If Myset.EOF Then
DStart = Null
Else
Myset.MoveFirst
DStart = Myset(FieldName)
End If
Myset.Close
MyDB.Close
End Function
Il y a le message d'erreur suivant:
Type défini par l'utilisateur non défini.
Dans la fenêtre de code, il est surligné en bleu l'expression "Myset
As Dynaset".
Léila wrote:Merci infiniment Sylvain.
Je vais voir ça de près.
Sylvain Lafontaine wrote:See http://support.microsoft.com/kb/103403
"Léila" wrote in message
news:Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans
l'ordre croissant. Curieusement, les fonctions DFirst et DLast
portant sur ce champ me renvoient des résultats selon l'ordre de
saisie des noms et non selon leur ordre d'affichage dans la
requête R1. Par exemple, DFirst me renvoie "Z..." en lieu et
place de "A...", parce que "Z..." a été le premier nom saisi.
Est-ce normal?
Cette référence est seulement pour vous expliquer que contrairement à
ce que l'on pourrait penser de prime abord, les fonctions DFirst et
DLast ne renvoient aucunement un résultat selon l'ordre d'affichage
d'une requête et que le résultat que vous obtenez présentement - mais
qui vous semble curieux - est conforme à leur description.
Si vous voulez obtenir la tête de file ou la tête de queue de votre
requête selon la clause Order By, vous devez soit utiliser TOP 1,
soit lire la première ligne de résultat.
"Léila" <sav_prof.abc@yahoo.fr> wrote in message
news:ezggBCtbKHA.2164@TK2MSFTNGP02.phx.gbl...
J'ai regardé mais le code ne fonctionne pas.
Pour la fonction DStart par exemple, voici le code:
Option Compare Database
Option Explicit
'--------------------------------------
' Use DStart()instead of DFirst() to return
' the first sorted record in a domain.
'--------------------------------------
Function DStart(FieldName As String, DomainName As String,
Criteria As String)
Dim MyDB As Database, Myset As Dynaset
' ERROR OUT IF THERE IS NO FIELDNAME SENT.
If Len(FieldName) = 0 Then
MsgBox "You Must Specify a Field name", , "DStart"
Exit Function
End If
' ERROR OUT IF THERE IS NO DOMAIN SENT.
If Len(DomainName) = 0 Then
MsgBox "You Must Specify a Domain name", , "DStart"
Exit Function
End If
Set MyDB = CurrentDb()
Set Myset = MyDB.CreateDynaset(DomainName)
If Len(Criteria) > 0 Then
Myset.Filter = Criteria
Set Myset = Myset.CreateDynaset()
End If
' IF THERE ARE NO RECORDS, RETURN THE NULL, ELSE RETURN THE
VALUE ' OF THE FIRST RECORD.
If Myset.EOF Then
DStart = Null
Else
Myset.MoveFirst
DStart = Myset(FieldName)
End If
Myset.Close
MyDB.Close
End Function
Il y a le message d'erreur suivant:
Type défini par l'utilisateur non défini.
Dans la fenêtre de code, il est surligné en bleu l'expression "Myset
As Dynaset".
Léila wrote:
Merci infiniment Sylvain.
Je vais voir ça de près.
Sylvain Lafontaine wrote:
See http://support.microsoft.com/kb/103403
"Léila" <sav_prof.abc@yahoo.fr> wrote in message
news:OXw9wdfbKHA.5608@TK2MSFTNGP05.phx.gbl...
Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans
l'ordre croissant. Curieusement, les fonctions DFirst et DLast
portant sur ce champ me renvoient des résultats selon l'ordre de
saisie des noms et non selon leur ordre d'affichage dans la
requête R1. Par exemple, DFirst me renvoie "Z..." en lieu et
place de "A...", parce que "Z..." a été le premier nom saisi.
Est-ce normal?
Cette référence est seulement pour vous expliquer que contrairement à
ce que l'on pourrait penser de prime abord, les fonctions DFirst et
DLast ne renvoient aucunement un résultat selon l'ordre d'affichage
d'une requête et que le résultat que vous obtenez présentement - mais
qui vous semble curieux - est conforme à leur description.
Si vous voulez obtenir la tête de file ou la tête de queue de votre
requête selon la clause Order By, vous devez soit utiliser TOP 1,
soit lire la première ligne de résultat.
"Léila" wrote in message
news:J'ai regardé mais le code ne fonctionne pas.
Pour la fonction DStart par exemple, voici le code:
Option Compare Database
Option Explicit
'--------------------------------------
' Use DStart()instead of DFirst() to return
' the first sorted record in a domain.
'--------------------------------------
Function DStart(FieldName As String, DomainName As String,
Criteria As String)
Dim MyDB As Database, Myset As Dynaset
' ERROR OUT IF THERE IS NO FIELDNAME SENT.
If Len(FieldName) = 0 Then
MsgBox "You Must Specify a Field name", , "DStart"
Exit Function
End If
' ERROR OUT IF THERE IS NO DOMAIN SENT.
If Len(DomainName) = 0 Then
MsgBox "You Must Specify a Domain name", , "DStart"
Exit Function
End If
Set MyDB = CurrentDb()
Set Myset = MyDB.CreateDynaset(DomainName)
If Len(Criteria) > 0 Then
Myset.Filter = Criteria
Set Myset = Myset.CreateDynaset()
End If
' IF THERE ARE NO RECORDS, RETURN THE NULL, ELSE RETURN THE
VALUE ' OF THE FIRST RECORD.
If Myset.EOF Then
DStart = Null
Else
Myset.MoveFirst
DStart = Myset(FieldName)
End If
Myset.Close
MyDB.Close
End Function
Il y a le message d'erreur suivant:
Type défini par l'utilisateur non défini.
Dans la fenêtre de code, il est surligné en bleu l'expression "Myset
As Dynaset".
Léila wrote:Merci infiniment Sylvain.
Je vais voir ça de près.
Sylvain Lafontaine wrote:See http://support.microsoft.com/kb/103403
"Léila" wrote in message
news:Bonjour.
J'ai une requête R1 avec un champ "NomEtPrenoms" rangé dans
l'ordre croissant. Curieusement, les fonctions DFirst et DLast
portant sur ce champ me renvoient des résultats selon l'ordre de
saisie des noms et non selon leur ordre d'affichage dans la
requête R1. Par exemple, DFirst me renvoie "Z..." en lieu et
place de "A...", parce que "Z..." a été le premier nom saisi.
Est-ce normal?
... Il me semble d'ailleurs qu'elles ont été faites au
départ pour Access 95 et access 97.
Si quelqu'un pouvait les réadapter pour
qu'elles fonctionnent avec les versions actuelles d'access, je crois que ce
serait profitable à plus d'un.
... Il me semble d'ailleurs qu'elles ont été faites au
départ pour Access 95 et access 97.
Si quelqu'un pouvait les réadapter pour
qu'elles fonctionnent avec les versions actuelles d'access, je crois que ce
serait profitable à plus d'un.
... Il me semble d'ailleurs qu'elles ont été faites au
départ pour Access 95 et access 97.
Si quelqu'un pouvait les réadapter pour
qu'elles fonctionnent avec les versions actuelles d'access, je crois que ce
serait profitable à plus d'un.
Bonjour Léila,
Ça doit être du genre :
Option Compare Database
Option Explicit
'--------------------------------------
' Use DStart()instead of DFirst() to return
' the first sorted record in a domain.
' >>> Use the DAO 3.x Object Library
'--------------------------------------
Function DStart(FieldName As String, DomainName As String, _
Optional Criteria As String)
Dim MyDB As Database, Myset As DAO.Recordset
' ERROR OUT IF THERE IS NO FIELDNAME SENT.
If Len(FieldName) = 0 Then
MsgBox "You Must Specify a Field name", , "DStart"
End
End If
' ERROR OUT IF THERE IS NO DOMAIN SENT.
If Len(DomainName) = 0 Then
MsgBox "You Must Specify a Domain name", , "DStart"
Exit Function
End If
Set MyDB = CurrentDb()
Set Myset = MyDB.OpenRecordset(DomainName)
'
If Len(Criteria) > 0 Then
Myset.Filter = Criteria
Set Myset = Myset.OpenRecordset()
End If
' IF THERE ARE NO RECORDS, RETURN THE NULL, ELSE RETURN THE
VALUE ' OF THE FIRST RECORD.
If Myset.EOF Then
DStart = Null
Else
Myset.MoveFirst
DStart = Myset(FieldName)
End If
Set Myset = Nothing
Set MyDB = Nothing
End Function
'-------------------------------------------
'Use DEnd()instead of DLast() to return
' the last sorted record in a domain.
' >>> Use the DAO 3.x Object Library
'--------------------------------------
Function DEnd(FieldName As String, DomainName As String, _
Optional Criteria As String)
Dim MyDB As Database, Myset As DAO.Recordset
' ERROR OUT IF THERE IS NO FIELDNAME SENT.
If Len(FieldName) = 0 Then
MsgBox "You Must Specify a Field name", , "DEnd"
Exit Function
End If
' ERROR OUT IF THERE IS NO DOMAINNAME SENT.
If Len(DomainName) = 0 Then
MsgBox "You Must Specify a Domain name", , "DEnd"
Exit Function
End If
Set MyDB = CurrentDb()
Set Myset = MyDB.OpenRecordset(DomainName)
If Len(Criteria) > 0 Then
Myset.Filter = Criteria
Set Myset = Myset.OpenRecordset()
End If
If Myset.EOF Then
DEnd = Null
Else
Myset.MoveLast
DEnd = Myset(FieldName)
End If
Set Myset = Nothing
Set MyDB = Nothing
End Function
Rem : Les dynaset, createdynaset ça me fait penser plutôt à de
l'Access 1.1 ou 2
Léila a écrit :... Il me semble d'ailleurs qu'elles ont été faites au
départ pour Access 95 et access 97.
Si quelqu'un pouvait les réadapter pour
qu'elles fonctionnent avec les versions actuelles d'access, je crois
que ce serait profitable à plus d'un.
Bonjour Léila,
Ça doit être du genre :
Option Compare Database
Option Explicit
'--------------------------------------
' Use DStart()instead of DFirst() to return
' the first sorted record in a domain.
' >>> Use the DAO 3.x Object Library
'--------------------------------------
Function DStart(FieldName As String, DomainName As String, _
Optional Criteria As String)
Dim MyDB As Database, Myset As DAO.Recordset
' ERROR OUT IF THERE IS NO FIELDNAME SENT.
If Len(FieldName) = 0 Then
MsgBox "You Must Specify a Field name", , "DStart"
End
End If
' ERROR OUT IF THERE IS NO DOMAIN SENT.
If Len(DomainName) = 0 Then
MsgBox "You Must Specify a Domain name", , "DStart"
Exit Function
End If
Set MyDB = CurrentDb()
Set Myset = MyDB.OpenRecordset(DomainName)
'
If Len(Criteria) > 0 Then
Myset.Filter = Criteria
Set Myset = Myset.OpenRecordset()
End If
' IF THERE ARE NO RECORDS, RETURN THE NULL, ELSE RETURN THE
VALUE ' OF THE FIRST RECORD.
If Myset.EOF Then
DStart = Null
Else
Myset.MoveFirst
DStart = Myset(FieldName)
End If
Set Myset = Nothing
Set MyDB = Nothing
End Function
'-------------------------------------------
'Use DEnd()instead of DLast() to return
' the last sorted record in a domain.
' >>> Use the DAO 3.x Object Library
'--------------------------------------
Function DEnd(FieldName As String, DomainName As String, _
Optional Criteria As String)
Dim MyDB As Database, Myset As DAO.Recordset
' ERROR OUT IF THERE IS NO FIELDNAME SENT.
If Len(FieldName) = 0 Then
MsgBox "You Must Specify a Field name", , "DEnd"
Exit Function
End If
' ERROR OUT IF THERE IS NO DOMAINNAME SENT.
If Len(DomainName) = 0 Then
MsgBox "You Must Specify a Domain name", , "DEnd"
Exit Function
End If
Set MyDB = CurrentDb()
Set Myset = MyDB.OpenRecordset(DomainName)
If Len(Criteria) > 0 Then
Myset.Filter = Criteria
Set Myset = Myset.OpenRecordset()
End If
If Myset.EOF Then
DEnd = Null
Else
Myset.MoveLast
DEnd = Myset(FieldName)
End If
Set Myset = Nothing
Set MyDB = Nothing
End Function
Rem : Les dynaset, createdynaset ça me fait penser plutôt à de
l'Access 1.1 ou 2
Léila a écrit :
... Il me semble d'ailleurs qu'elles ont été faites au
départ pour Access 95 et access 97.
Si quelqu'un pouvait les réadapter pour
qu'elles fonctionnent avec les versions actuelles d'access, je crois
que ce serait profitable à plus d'un.
Bonjour Léila,
Ça doit être du genre :
Option Compare Database
Option Explicit
'--------------------------------------
' Use DStart()instead of DFirst() to return
' the first sorted record in a domain.
' >>> Use the DAO 3.x Object Library
'--------------------------------------
Function DStart(FieldName As String, DomainName As String, _
Optional Criteria As String)
Dim MyDB As Database, Myset As DAO.Recordset
' ERROR OUT IF THERE IS NO FIELDNAME SENT.
If Len(FieldName) = 0 Then
MsgBox "You Must Specify a Field name", , "DStart"
End
End If
' ERROR OUT IF THERE IS NO DOMAIN SENT.
If Len(DomainName) = 0 Then
MsgBox "You Must Specify a Domain name", , "DStart"
Exit Function
End If
Set MyDB = CurrentDb()
Set Myset = MyDB.OpenRecordset(DomainName)
'
If Len(Criteria) > 0 Then
Myset.Filter = Criteria
Set Myset = Myset.OpenRecordset()
End If
' IF THERE ARE NO RECORDS, RETURN THE NULL, ELSE RETURN THE
VALUE ' OF THE FIRST RECORD.
If Myset.EOF Then
DStart = Null
Else
Myset.MoveFirst
DStart = Myset(FieldName)
End If
Set Myset = Nothing
Set MyDB = Nothing
End Function
'-------------------------------------------
'Use DEnd()instead of DLast() to return
' the last sorted record in a domain.
' >>> Use the DAO 3.x Object Library
'--------------------------------------
Function DEnd(FieldName As String, DomainName As String, _
Optional Criteria As String)
Dim MyDB As Database, Myset As DAO.Recordset
' ERROR OUT IF THERE IS NO FIELDNAME SENT.
If Len(FieldName) = 0 Then
MsgBox "You Must Specify a Field name", , "DEnd"
Exit Function
End If
' ERROR OUT IF THERE IS NO DOMAINNAME SENT.
If Len(DomainName) = 0 Then
MsgBox "You Must Specify a Domain name", , "DEnd"
Exit Function
End If
Set MyDB = CurrentDb()
Set Myset = MyDB.OpenRecordset(DomainName)
If Len(Criteria) > 0 Then
Myset.Filter = Criteria
Set Myset = Myset.OpenRecordset()
End If
If Myset.EOF Then
DEnd = Null
Else
Myset.MoveLast
DEnd = Myset(FieldName)
End If
Set Myset = Nothing
Set MyDB = Nothing
End Function
Rem : Les dynaset, createdynaset ça me fait penser plutôt à de
l'Access 1.1 ou 2
Léila a écrit :... Il me semble d'ailleurs qu'elles ont été faites au
départ pour Access 95 et access 97.
Si quelqu'un pouvait les réadapter pour
qu'elles fonctionnent avec les versions actuelles d'access, je crois
que ce serait profitable à plus d'un.