Heren,
Ben nu al een kleine halve dag aan het speuren naar een oplossing hiervoor maar ik kom er gewoon niet achter wat er mis is. Waarschijnlijk een standaardgeval van tunnelvisie dus vandaar dat ik het maar even hier neergooi want misschien dat iemand hier de fout ziet.
De situatie:
Ben bezig met een access-database wat te automatiseren en gebruik hier VBA voor. Het draait om een volledig rapportageproces gebaseerd op access databases.
Hetgeen ik nu mee bezig ben is een formpje wat met behulp van een aantal knoppen een aantal andere databases opent om daar direct macros uit te kunnen voeren. Naast de knopjes bevat mijn form per uit te voeren database ook een tweetal checkboxjes welke aangeven of de database uitgevoerd is en of de output van de database verwerkt is (mail, papier etc).
Wat ik nu heb gedaan is een aparte klasse Databeest aangemaakt waarin ik mijn "databases" ga bewaren. In deze klasse zitten simpel een aantal variabelen waarin ik de betreffende objecten voor die database kan opslaan (de bijbehorende knop, checkboxjes en een aantal stringetjes).
Voor verdere verwerking wil ik deze Databeest-objecten opslaan in een Collection zodat ik er weer gemakkelijk bijkan. Op basis van een aantal criteria moeten sommige databases af en toe wel en af en toe niet uitgevoerd gaan worden vanaf dit form, en ik wil dit on-the-fly kunnen wijzigen, vandaar de collection.
Nu krijg ik hier dus een foutmelding op wat ik niet snap...
Op de regel "wwDatabases.Add(db)" krijg ik nu consequent een "438 Property or method not supported by object"
Ik kom oorspronkelijk vanuit de .NET-hoek waardoor ik met 99% zekerheid weet dat het niets uitmaakt daar wat er in gepropt wordt (alhoewel ik daar eerder met een arraylist had gewerkt maar ok). Vandaar dat ik dus niet snap wat hier nu fout gaat
Als ik overigens gewoon een string of Int aan de collection toevoeg gaat het wel goed, maar ik wil dus een object erin hebben omdat ik de properties van dit betreffende object verderop weer nodig heb.
PS: in het orgineel is de case select wat groter en staat er wat meer in, heb het ff gefilterd naar de kern
PS2:
De classmodule:
Ben nu al een kleine halve dag aan het speuren naar een oplossing hiervoor maar ik kom er gewoon niet achter wat er mis is. Waarschijnlijk een standaardgeval van tunnelvisie dus vandaar dat ik het maar even hier neergooi want misschien dat iemand hier de fout ziet.
De situatie:
Ben bezig met een access-database wat te automatiseren en gebruik hier VBA voor. Het draait om een volledig rapportageproces gebaseerd op access databases.
Hetgeen ik nu mee bezig ben is een formpje wat met behulp van een aantal knoppen een aantal andere databases opent om daar direct macros uit te kunnen voeren. Naast de knopjes bevat mijn form per uit te voeren database ook een tweetal checkboxjes welke aangeven of de database uitgevoerd is en of de output van de database verwerkt is (mail, papier etc).
Wat ik nu heb gedaan is een aparte klasse Databeest aangemaakt waarin ik mijn "databases" ga bewaren. In deze klasse zitten simpel een aantal variabelen waarin ik de betreffende objecten voor die database kan opslaan (de bijbehorende knop, checkboxjes en een aantal stringetjes).
Voor verdere verwerking wil ik deze Databeest-objecten opslaan in een Collection zodat ik er weer gemakkelijk bijkan. Op basis van een aantal criteria moeten sommige databases af en toe wel en af en toe niet uitgevoerd gaan worden vanaf dit form, en ik wil dit on-the-fly kunnen wijzigen, vandaar de collection.
Nu krijg ik hier dus een foutmelding op wat ik niet snap...
code:
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
| Dim DbNames As Collection
Dim wwDatabases As Collection
Function CheckActivation()
Dim i As Integer
Set DbNames = New Collection
DbNames.Add ("temp")
Set wwDatabases = New Collection
Dim db As Databeest
For i = 1 To DbNames.Count
Set db = New Databeest
'db.strDbCode = DbNames(i)
Select Case DbNames(i)
Case "temp"
db.strDbName = "TempDB"
Case Else
MsgBox "Onbekende database!?!?!"
End Select
wwDatabases.Add (db)
Next
End Function |
Op de regel "wwDatabases.Add(db)" krijg ik nu consequent een "438 Property or method not supported by object"
Ik kom oorspronkelijk vanuit de .NET-hoek waardoor ik met 99% zekerheid weet dat het niets uitmaakt daar wat er in gepropt wordt (alhoewel ik daar eerder met een arraylist had gewerkt maar ok). Vandaar dat ik dus niet snap wat hier nu fout gaat
Als ik overigens gewoon een string of Int aan de collection toevoeg gaat het wel goed, maar ik wil dus een object erin hebben omdat ik de properties van dit betreffende object verderop weer nodig heb.
PS: in het orgineel is de case select wat groter en staat er wat meer in, heb het ff gefilterd naar de kern
PS2:
De classmodule:
code:
1
2
3
4
5
6
7
8
| Option Explicit Public strDbName As String Public strDbCode As String Public strDbMacro As String Public chkExecuted As New CheckBox Public chkSent As New CheckBox Public btnKnop As New CommandButton |
[ Voor 6% gewijzigd door Ryceck op 12-09-2006 11:01 ]
If everything is working perfect, break something before someone else fucks up.