Vraag : de toegangsprestaties van het verhogingsgegevensbestand - MS-Access

Ik heb een code [in bijlage] die twee lijsten in een tijd van een toegangsgegevensbestanden neemt, waarden voor elke rij en kolom vergelijk en als het om het even welke verschillen vindt het aan user.

Unfortunately meldt het langzamer en langzamer wordt aangezien het gegevensbestand grow.

I het werkelijk snel wil en ik geen wat om weet te doen. gebruiken indien ik het Inpassen. Ik heb showDifferences van de code

Openbare Functie/>Anthony

nection) als Boolean
Schemerig z vastgemaakt aangezien Integer
Schemerig v, p, vname als String

z = 0

showDifferences = False
'er verscheidene lijsten zijn en één tegelijkertijd zij is in de lijst tblRecords
'b.v. vergelijkt waarden in lijst [meester] tegen die in lijst [vmaster]

voor t zoals lang = 0 bij tblRecords.Rows.Count plukt - 1
Application.DoEvents ()
„sluiten deze tables
uit als sectionsToEculude (tblRecords. Columns („recname" ) .ColumnName) = Waar zet dan For
voort als Versiering (mainver). De lengte = 0 Then
tstr = „SELECTEERT * VAN [“ & tblRecords.Rows (t) („recname“) &“] „& SELECTEERT ds
Else
tstr = „* VAN [“ & mainver & tblRecords.Rows (t) („recname“) &“] „& ds
Eind If

cm = Nieuwe OleDb.OleDbCommand
cm.CommandText = tstr
cm. Verbinding =/> Dr. co
als dr.HasRows Then
terwijl Dr. De criteria van Read
=/> „concept ""
criteria = Medio Versiering ((ds, 1, ds. Lengte - 1)) &“ en „
voor I als Int16 = 1 aan tblRecords.Rows (t) („nid“)
als niet IsDBNull (Dr. (tblRecords.Rows (t) („identiteitskaart“ & (I - 1) .ToString))) Then
als niet IsNumeric (Dr. (tblRecords.Rows (t) („identiteitskaart " & (I - 1) .ToString))) De criteria van Then
= criteria & tblRecords.Rows (t) („identiteitskaart“ & I - 1) & „=““ & Dr. (tblRecords.Rows (t) („identiteitskaart " & (I - 1) .ToString)) &““ en „
Else
criteria = criteria & tblRecords.Rows (t) („identiteitskaart“ & I - 1) & „=“ & Dr. (tblRecords.Rows (t) („identiteitskaart " & (I - 1) .ToString)) &“ en „/> de criteria van If
Else
= zijn de criteria & tblRecords.Rows (t) („identiteitskaart“ & I - 1) &“ ongeldig en „/> de criteria van If
Next
= Medio (criteria, 1, criteria. Lengte - 5)

als Versiering (mainver). De lengte = 0 Then
tstr = „SELECTEERT * VAN [v“ & tblRecords.Rows (t) („recname“) &“] „& criteria &“; „
Else
tstr = „SELECTEERT * VAN [“ & tblRecords.Rows (t) („recname“) &“] „& criteria &“; „
Eind If

'heb ik nu de volledige die SQL verklaring en de criteria aan it.

wordt toegevoegd cmd = Nieuwe OleDb.OleDbCommand
cmd.CommandText = tstr
cmd. De verbinding = co

Ddr = cmd.ExecuteReader
als houdt tblRecords.Rows (t) („recname“) = „hoofd“ toen recordExists = Vals 'niet in verification
'lezer [Dr.] waarden voor [hoofd]
'lezer lijst [Ddr] houdt waarden voor lijst [vmaster] bijvoorbeeld

als/> recordExists ddr.HasRows Then
'controle duplicates
dup1.Clear ()
dup2.Clear ()
terwijl Ddr. Read
'vergelijkt gebiedswaarde door gebiedswaarde
'als om het even welk [showDifferences] is true
'rapport
voor F als Int16 = idNames.Count aan dr.FieldCount - 1
vname = dr.GetName (F)
als IsDBNull verschillend is (Dr. (F)) Dan: v = niets: Anders: v = Versiering (Dr. (F)) : Eind If
als IsDBNull (Ddr (vname)) Dan: p = niets: Anders: p = Versiering (Ddr (vname)) : Eind If
als niet variablesToExclude (vname) Then
als v<> p Then
showDifferences = True
Ddr. Sluit ()
Ddr = Nothing
cmd. Schik ()/> het Eind van If
Next
/>/> While

Else
'vertellen gebruiker of wordt het verslag niet gevonden in [vmaster]
als „beheersen“ tblRecords.Rows (t) („recname“) = toen recordExists = False
Eind If
Ddr. Sluit ()
Ddr = Nothing
cmd. Schik (het Eind
While
Application.DoEvents () /> beëindig/> Dr. If Dr.
cm. Schik ()
Next
cmd. Schik ()
Eind Function

Antwoord : de toegangsprestaties van het verhogingsgegevensbestand - MS-Access

O.k. Aaaaahh… het probleem is dat u niet gegevenselement… allen moet verstrekken u bent aan procide de naam van de functie doet.
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:


	
		
	
	
		
	
	
	
	
	
	
		
			
		
	


Andere oplossingen  
 
programming4us programming4us