Vraag : Waarom ik geen gegevensbestand bij gebeurtenis kan opnieuw openen Worksheet_Change

Hallo, heeft
I een vraag over waarom ik niet open gegevensbestand opnieuw in Worksheet_Change event
MsgBox rst.RecordCount kan, kon het terugkeer -1

anyone helpen?
Thank u!
Francis SZE
" codeBody "
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:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
Private SubWorksheet_Activate ()
Vraag sub1
Sub van het eind

Privé Subsub1 ()
  
Schemerige wb als Werkboek
Schemerige ws als Aantekenvel, ws2 als Aantekenvel

Vastgesteld wb = ThisWorkbook
Vastgesteld ws = wb. Aantekenvellen („Sheet1“)

Schemerige cnn als ADODB.Connection
Schemerige rst als ADODB.Recordset
Schemerige lst als Koord
Schemerige I zoals lang

Reeks cnn = Nieuwe ADODB.Connection
Reeks rst = Nieuwe ADODB.Recordset


cnn. Open „kennamora“, „kennam“, „kennam007“
rst.ActiveConnection = cnn
rst.CursorLocation = adUseServer

rst. De bron = „SELECTEERT * UIT klanten“
rst. Open

Terwijl niet rst.EOF
    lst = lst & rst. Gebieden („com_address“). Waarde &“: „& rst. Gebieden („tid“). Waarde &“, „
    rst.MoveNext
Wend

rst. Sluit

Plaats rst = niets
Plaats cnn = niets

Op Fout GoTo n1
    Met ws. Waaier („F9“). Bevestiging
        . Schrap
        . Voeg Type toe: =xlValidateList, AlertStyle: =xlValidAlertStop, Exploitant: =xlBetween, Formula1: = "" & lst
        .IgnoreBlank = Waar
        .InCellDropdown = Waar
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = „gelieve te selecteren uit dropdown lijst.“
        .ShowInput = Waar
        .ShowError = Waar
    Eind met

Sub van de uitgang
n1:

MsgBox Err.Description
Sub van het eind

Privé SubWorksheet_Change (Doel ByVal als Waaier)
    
    Als Target.Address = „$F$9“ toen
'Waaier MsgBox („F9“). Waarde
        spitted = verdelen (Waaier („F9“). Waarde,“: „)
'MsgBox spitted (1)

        Schemerige cnn als ADODB.Connection
        Schemerige rst als ADODB.Recordset
        
        Reeks cnn = Nieuwe ADODB.Connection
        Reeks rst = Nieuwe ADODB.Recordset
        
        cnn. Open „kennamora“, „kennam“, „kennam007“
        rst.ActiveConnection = cnn
        rst.CursorLocation = adUseServer
        
        
        rst. De bron = „SELECTEERT * UIT customer_produces waar com_id=“ & spitted (1)
        rst. Open
        
        MsgBox rst.RecordCount
        
        
        
        rst. Sluit

        Plaats rst = niets
        Plaats cnn = niets


    Beëindig als
Beëindig Sub

Antwoord : Waarom ik geen gegevensbestand bij gebeurtenis kan opnieuw openen Worksheet_Change

langs opgelost droevig
rst.ActiveConnection = cnn
rst.CursorLocation = adUseClient
rst.CursorType = adOpenStatic
rst.LockType = adLockBatchOptimistic
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:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
Privé SubWorksheet_Activate ()
Vraag sub1
Sub van het eind

Privé Subsub1 ()
  
Schemerige wb als Werkboek
Schemerige ws als Aantekenvel

Vastgesteld wb = ThisWorkbook
Vastgesteld ws = wb. Aantekenvellen („Sheet1“)

Schemerige cnn als ADODB.Connection
Schemerige rst als ADODB.Recordset
Schemerige lst als Koord

Reeks cnn = Nieuwe ADODB.Connection
Reeks rst = Nieuwe ADODB.Recordset


cnn. Open „kennamora“, „kennam“, „kennam007“
rst.ActiveConnection = cnn
rst.CursorLocation = adUseClient
rst.CursorType = adOpenStatic
rst.LockType = adLockBatchOptimistic

rst. De bron = „SELECTEERT * UIT klanten  “
rst. Open

Terwijl niet rst.EOF
    lst = lst & rst. Gebieden („com_address“). Waarde &“: „& rst. Gebieden („tid“). Waarde &“, „
    rst.MoveNext
Wend

rst. Sluit
cnn. Sluit

Plaats rst = niets
Plaats cnn = niets

Op Fout GoTo n1
    Met ws. Waaier („F9“). Bevestiging
        . Schrap
        . Voeg Type toe: =xlValidateList, AlertStyle: =xlValidAlertStop, Exploitant: =xlBetween, Formula1: = "" & lst
        .IgnoreBlank = Waar
        .InCellDropdown = Waar
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = „gelieve te selecteren uit dropdown lijst.“
        .ShowInput = Waar
        .ShowError = Waar
    Eind met

Sub van de uitgang
n1:

MsgBox Err.Description
Sub van het eind

Privé SubWorksheet_Change (Doel ByVal als Waaier)
    
    Als Target.Address = „$F$9“ toen
'        Waaier MsgBox („F9“). Waarde
        spitted = verdelen (Waaier („F9“). Waarde,“: „)
'        MsgBox spitted (1)

        Schemerige cnn als ADODB.Connection
        Schemerige rst als ADODB.Recordset
        
        Reeks cnn = Nieuwe ADODB.Connection
        Reeks rst = Nieuwe ADODB.Recordset
        
        cnn. Open „kennamora“, „kennam“, „kennam007“
        rst.ActiveConnection = cnn
'        rst.CursorLocation = adUseServer
        rst.CursorLocation = adUseClient
        rst.CursorType = adOpenStatic
        rst.LockType = adLockBatchOptimistic
        
        
        rst. De bron = „SELECTEERT * UIT customer_produces waar com_id=“ & spitted (1)
        rst. Open
        
        MsgBox rst.RecordCount
        
        
        
        rst. Sluit
        cnn. Sluit
        
        Plaats rst = niets
        Plaats cnn = niets


    Beëindig als
Beëindig Sub
Andere oplossingen  
 
programming4us programming4us