Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Frage zu: Collection und user defined types
zurück: alle Excel-Dateien (aus einer E-Mail geöffnet) schließen weiter: Computer und Logik?!?!? Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
catweasel
Im Profil kannst Du frei den Rang ändern


Verfasst am:
31. Dez 2009, 14:06
Rufname:

Frage zu: Collection und user defined types - Frage zu: Collection und user defined types

Nach oben
       Version: Office XP (2002)

Hi,

ich habe folgendes problem:

Ich habe einen Datentyp definiert und moechte von Diesem eine Collection anlegen.

das Problem ist nun: Ich bekomme eine Fehlermeldung welche besagt das dass was ich vorhabe nur mit public types geht... Hmmm. Aber ich deklariere doch schon alles public was nur irgendwie geht.

Es gibt ein worksheet mit Namen "datasheet" und darin befinden sich ab Zeile 2 Daten in den Spalten 2 bis 7.
Diese moechte ich nun in eine Collection einlesen:
Der code sieht so aus (steht in einem Modul, nicht in einem Worksheet oder dem Workbook):

Code:
Option Explicit

Public Type FolderInfo
    Name As Integer
    Count As String
    OldestDate As Date
    Country As String
    Status As String
    ItemType As String
End Type


Public temp As New Collection
Public container As FolderInfo


Sub ReadData()
Dim x As Long
Do While temp.Count > 0
  temp.Remove (1)
Loop
x = 2
Do While IsEmpty(datasheet.Cells(x, 2)) = False
  container.Name = datasheet.Cells(x, 2)
  container.Count = datasheet.Cells(x, 3)
  container.OldestDate = datasheet.Cells(x, 4)
  container.Country = datasheet.Cells(x, 5)
  container.Status = datasheet.Cells(x, 6)
  container.ItemType = datasheet.Cells(x, 7)
  temp.Add (container)    ' Hier tritt der Fehler auf
  x = x + 1
Loop
MsgBox (temp.Count)
End Sub



Die Fehlermeldung die ich bekommel autet:

Zitat:
Only user-defined types defined in public modules can be coerced to or from a variant or passed to late-bound functions


Eine Konsultation der Hilfe liefert:

Zitat:
This error has the following cause and solution:
You attempted to use a public user defined type as a parameter or return type for a public procedure of a class module, or as a field of a public user defined type. Only public user defined types that are defined in a public object module can be used in this manner.


Ich kapiers einfach nicht.... Confused

Ich moechte doch nur einen eigenen Datentyp definieren und dann eine dynamische Liste davon halten. (Arrays sind keine wirkliche Alternative, da man bei Collection so schoen Sachen aus der Mitte loeschen kann ohne zu redimensionieren).

Wie muss ich das deklarieren, kann mir da einer weiterhelfen?

Cheers,
Catweasel

_________________
-Pommes werden schneller fertig, wenn man sie vor dem Fritieren einige Minuten in siedendes Fett legt-
Nepumuk
VB / VBA Programmierer


Verfasst am:
31. Dez 2009, 19:18
Rufname: Max
Wohnort: Dusseldoof


AW: Frage zu: Collection und user defined types - AW: Frage zu: Collection und user defined types

Nach oben
       Version: Office XP (2002)

Hallo Catweasel,

das geht so nicht. Es gibt kein Objekt, welches einen benutzerdefinierten Datentyp aufnehmen kann.

Du könntest dir eine Klasse des Typs anlegen, die kann jede Art von Daten aufnehmen. Die Verwaltung kannst du in der Klasse erledigen. Schau mal hier:

http://www.office-loesung.de/ftopic255180_0_0_asc.php

_________________
De fontibus non est disputandum

Gruß
Nepumuk Cool
Phelan XLPH
Fortgeschritten


Verfasst am:
31. Dez 2009, 23:32
Rufname: Phelan

AW: Frage zu: Collection und user defined types - AW: Frage zu: Collection und user defined types

Nach oben
       Version: Office XP (2002)

Oder etwas unkonventionelles:
_________________
Was vorstellbar ist, ist auch machbar. - Albert Einstein



DatensatzVerwaltenMitDictionary.xls
 Beschreibung:

Download
 Dateiname:  DatensatzVerwaltenMitDictionary.xls
 Dateigröße:  48.5 KB
 Heruntergeladen:  50 mal

catweasel
Im Profil kannst Du frei den Rang ändern


Verfasst am:
10. Feb 2010, 14:48
Rufname:


AW: Frage zu: Collection und user defined types - AW: Frage zu: Collection und user defined types

Nach oben
       Version: Office XP (2002)

Hi,

Danke fuer die Antworten.
Hatt erst jetet Zeit mich mal wieder darum zu kuemmern. Mann kennt das ja: Staendig kommt was dazwischen....

@Glücksritter76 :

Ich hab mir das mal angesehen. Soweit ich dassehe laeuft es auf eine Darstellung desd "records" als String da mit einem Delimiterzeichen. Das geht aber nicht ohne das Alphabet einzuschraenken:
Das Problem dabei ist das bei dieser Art der Codierung mit Terminalzeichen eben dieses Zeichen dem Eingabalphabet entzogen ist. (Semikolon darf also nicht in den Daten vorkommen).
Man kann jetzt natuerlich sagen: "Dann codiere das Semikolon doch einfach um wenn es in den Daten vorkommt, zb als: $; . Aber damit wuerde ich ja das Alphabet um ein Zeichen erweitern (Das Zeichen "$;")


@Nepomuk :

Ich denke das mit den Klassen ist in diesem Fall die Beste Loesung.
Eine Klasse die den record darstellt und eine Klasse um eine Liste dieser "Recordklassen" zu halten...

Was auf den zweiten Blick gar nicht so uebel ist. Validierung kann die Listenklasse uebernehmen. Und in der recordklasse kann man sogar noch "calculated fields" implementieren.

Ist nur am Anfabg etwas ungewoehnlich und mutet nach viel Schreibarbeit wenn man aus der Delphi Welt kommt Smile

Also nochmal: Besten Dank,

Cheers,
Catweasel

_________________
-Pommes werden schneller fertig, wenn man sie vor dem Fritieren einige Minuten in siedendes Fett legt-
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Frage zu Gültigkeit in Verbindung mit Sverweis von Peter 3 ds17 808 04. Sep 2006, 15:27
< Peter > Frage zu Gültigkeit in Verbindung mit Sverweis von Peter
Keine neuen Beiträge Excel Formeln: Frage zu Summeprodukt, Uhrzeit zählen 10 Flohh 3252 20. März 2006, 12:11
Flohh Frage zu Summeprodukt, Uhrzeit zählen
Keine neuen Beiträge Excel Formeln: Frage zu SVERWEIS ??? 2 dan123 818 13. Jan 2006, 15:20
dan123 Frage zu SVERWEIS ???
Keine neuen Beiträge Excel Formeln: Frage zu einer Tabellenerstellung 10 iceman1981 814 28. Dez 2005, 11:30
ae Frage zu einer Tabellenerstellung
Keine neuen Beiträge Excel Formeln: Frage zu Kombination von "WENN" und SVERWEIS-Funkt 4 ghostrider - gast 991 17. Nov 2005, 23:43
ghostrider-gast Frage zu Kombination von "WENN" und SVERWEIS-Funkt
Keine neuen Beiträge Excel Formeln: Frage zur Formel: Häufigkeit oder ähnlich Formel 9 tomek_9 3757 12. Apr 2005, 00:21
Hübi Frage zur Formel: Häufigkeit oder ähnlich Formel
Keine neuen Beiträge Excel Formeln: Frage zu Excel 2000 "Summe abrunden" 3 Benjamin22 1616 22. März 2005, 15:10
fl618 Frage zu Excel 2000 "Summe abrunden"
Keine neuen Beiträge Excel Formeln: FRAGE:daten in ein andres Tabellenblatt übernehmen?register? 1 maniwahn 1630 18. März 2005, 19:21
Hübi FRAGE:daten in ein andres Tabellenblatt übernehmen?register?
Keine neuen Beiträge Excel Formeln: Frage zu Rekursion in Excel ... 1 Gast 3622 04. März 2005, 14:43
Gast Frage zu Rekursion in Excel ...
Keine neuen Beiträge Excel Formeln: Frage - Fehler: [ODBC_Microsoft_Access_driver]... 0 diggler05 471 08. Feb 2005, 12:12
diggler05 Frage - Fehler: [ODBC_Microsoft_Access_driver]...
Keine neuen Beiträge Excel Formeln: Frage für eine Formel Arbeitstage zählen. 2 Brösel 1014 16. Dez 2004, 20:08
Gast Frage für eine Formel Arbeitstage zählen.
Keine neuen Beiträge Excel Formeln: User Form bei Blattkopie schließen 25 phil1982 1194 12. Nov 2004, 09:25
phil1982 User Form bei Blattkopie schließen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks