Question : Accès 2007 lent au lien à la base de données d'Oracle

Oh wisdomed le gourou d'accès sur la haute, le
I ont un certain code qui régénère ses liens de tables à une base de données d'oracle.  Pour quelque raison cela prend un moment très bon (3 à 5 minutes) d'accomplir un ou deux raccordements et est-ce que je me demande si n'importe qui pourrait jeter un coup d'oeil à mon code pour proposer un changement ou un coup sec ? class= " lineNumbers " >
1 de >

Ted
du

Many : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : 23 : 24 : 25 : fncRelink >Public " de
 0) alors
     Tableau reconnectant de Debug.Print « :  » et le TD. Nom
     le TD. Relier = tintement
     td.RefreshLink
  Finir si
Après

Debug.Print « reconnectent accompli. »

Quit_Handler :
Sortir la fonction

Err_Handler :
    MsgBox Err.Description, vbInformation, « reconnectent »
    Err.Number = 0
    Résumé Quit_Handler
Fonction de fin
class= > " clair " de 
class= de

Réponse : Accès 2007 lent au lien à la base de données d'Oracle

le manuscrit fonctionne par l'ANNONCE, obtient tous les groupes de distribution et pour chacun crée la feuille de travail séparée dedans excellent et énumèrent leurs membres.
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 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
Option explicite

Faible adoCommand, adoConnection, strBase, strFilter, strAttributes
Faible objRootDSE, strDNSDomain, strQuery, adoRecordset, strName, groupType, groupName, iRow
Faible objExcel, arrMembers, strMember

'Objets d'AGITATION d'installation.
Placer l'adoCommand = le CreateObject (« ADODB.Command »)
Placer l'adoConnection = le CreateObject (« ADODB.Connection »)
adoConnection.Provider = « ADsDSOObject »
adoConnection.Open « fournisseur actif d'annuaire »
adoCommand.ActiveConnection = adoConnection

'Domaine actif entier d'annuaire de recherche.
Placer l'objRootDSE = le GetObject (« LDAP : //RootDSE »)
strDNSDomain = objRootDSE.Get (« defaultNamingContext »)
strBase = ""

'Filtre sur des groupes de distribution.
strFilter = « (objectCategory=group) »

'Liste délimitée par virgule de valeurs d'attribut à rechercher.
strAttributes = « distinguishedName, membre, groupType, nom »

'Construire la question de syntaxe de LDAP.
strQuery = strBase et « ;  » et strFilter et « ;  » et strAttributes et « ; sous-arbre »
adoCommand.CommandText = strQuery
adoCommand.Properties (« taille de page ») = 100
adoCommand.Properties (« temps mort ») = 30
adoCommand.Properties (la « cachette résulte ») = faux

'Courir la question.
Placer l'adoRecordset = l'adoCommand.Execute

Placer l'objExcel = le CreateObject (« Excel.Application »)
Avec l'objExcel
.SheetsInNewWorkbook = 1
. Workbooks.Add
. Évident = rectifier

'Énumérer le recordset en résultant.
Faire jusqu'à adoRecordset.EOF
'Rechercher les valeurs et l'affichage.
strName = adoRecordset.Fields (« distinguishedName »). Valeur
groupType  = adoRecordset.Fields (« groupType »). Valeur
le groupName  = remplacent (adoRecordset.Fields (« nom »). Valeur, « CN= », "")

'obtenir seulement les groupes de distribution
si groupType=2 ou groupType=4 ou groupType=8 alors
	irow=1
	.ActiveWorkbook.Worksheets.Add
	groupName de .ActiveSheet.Name=
	arrMembers = adoRecordset.Fields (« membre »). Valeur

	Groupe de distribution de Wscript.Echo « :  » et strName
	S'IsNull (arrMembers) puis
		Wscript.Echo « --   »
	Autrement
		Pour chaque strMember dans les arrMembers
			Wscript.Echo « --  » et strMember
			Placer l'objRootDSE = le GetObject (« LDAP : /« &strMember)
			. Cellules (l'iRow, 1) = remplacent (objRootDSE.Name, « CN= », "")
			irow=irow + 1
		Après
	Finir si
Finir si
'Se déplacer au prochain disque dans le recordset.
adoRecordset.MoveNext
Boucle
. Colonnes (1).entirecolumn.autofit
Extrémité avec

'Nettoyer.
adoRecordset.Close
adoConnection.Close
Placer l'objExcel = rien
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us