Je dois comptabiliser certains éléments sur l' AD mais le traitement est un peu long avec le RecordCount. N'est-il pas possible de passer par une comptabilisation au sein de la requête (un peu comme sur les BDD classiques)?
= > Anomalie sur :
objCommand.CommandText = "SELECT Count(*) FROM 'LDAP://" &
strChemin & "' WHERE objectCategory='" & strCategorie & "'"
Script actuel fonctionnant:
Function Calcul(strChemin,strCategorie)
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider= ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 100000
objCommand.CommandText = "SELECT * FROM 'LDAP://" & strChemin & "' WHERE objectCategory='" & strCategorie & "'"
Set objRecordSet = objCommand.Execute
[...]
Calcul = objRecordSet .RecordCount
Bon en fait le réel problème de lenteur provient des contrôles sur les données du Recordset que j'effectue parla suite.
J' inclue donc des conditions plus restrictives dans mon WHERE et effectue plusieurs
objCommand.Execute.
Par contre, j'aimerai y rajouter quelques chose comme :
objCommand.CommandText = "SELECT [...]
where [...] and not Mid(sAMAccountName,1,4)='adm-' "
Mais cela n'est pas interprété par l' AD auriez vous une idée de la syntaxe à appliquer dans le cas ou cela est possible?