Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Verständnisfrage zu einer Collection

Mitglied: Aximand

Aximand (Level 1) - Jetzt verbinden

25.06.2018 um 14:26 Uhr, 1515 Aufrufe, 6 Kommentare

Hallo zusammen, ich hoffe ihr könnt mir mal wieder etwas helfen.

Kann ich eine Collection verschachtelt durchlaufen, bzw. aufrufen? oder würde aufgrund des ersten Next irgendwas durcheinander kommen? Ich versuche mal zu schreiben was ich meine:


For each oDetail in oArtikelDetail

if Treffer then
For each oDetail in oArtikel
such irgendwas
next oDetail

next oDetail



Mitglied: SeaStorm
25.06.2018 um 15:11 Uhr
warum benennst du das denn nicht einfach eindeutig? Dann gibts da auch keine Probleme.

Was willt du am Ende damit erreichen? Ich habe so das gefühl, als würdest du hier einen Lambda brauchen, um das zu erreichen, was du willst
Bitte warten ..
Mitglied: emeriks
25.06.2018 um 16:59 Uhr
Hi,
theoretisch geht das. Aber sowas würde ich mir gar nicht erst angewöhnen. In jedem Fall wäre nach der inneren Schleife die Referenz auf das Objekt der äußeren Schleife weg. Du könntest also in der äußeren Schleife nicht mehr mit dieser Variable oDetail arbeiten, es sei denn, es ist gewünscht hier mit dem letzten geladenen Wert/Referenz der inneren Schleife zu arbeiten. So oder so: Das ist Murks. Nimm für die 2. Schleife eine eigene Laufvariable und gut ist.

E.
Bitte warten ..
Mitglied: Aximand
26.06.2018 um 07:22 Uhr
Ah danke! Genau dieses Verhalten hatte ich beobachtet. Springe ich aus der 2. Schleife (Sub) raus zurück in die erste, kommt die Fehlermeldung.
Was ich erreichen will?
Ich habe im SQL-Server einen passenden View erstellt und möchte nun diese für mich relevanten Datensätze in eine Art Array holen. Dafür wollte ich zum ersten mal die Collection ausnutzen.
Enthalten ist z.B. die Artikelnummer
Daraus möchte ich dann folgendes realisieren: Wenn es noch kein Tabellenblatt mit der Artikelnummer gibt, dann leg es an und benenne es "Artikelnummer". Ist der Artikel "inaktiv (0/-1)", dann blende das Tabellenblatt aus. Genutzt dafür wird die Variable oDetail.strArtikelnummer und oDetail.bAktiv aus dem Objekt oArtikelDetail.

Zu jeder Artikelnummer gibt es mehrere Varianten mit passenden Lagerbeständen.
Nachdem also nun jedes Tabellenblatt erstellt wurde, möchte ich in jedem Tabellenblatt die passenden Varianten des Artikels mit den Lagerbeständen auflisten. Genutzt wird oDetail.lngVariantenID und oDetail.lngBestand.

Das Problem:
Ich will "for each oDetail in oArtikelDetail" durchlaufen um erst einmal die Tabellenblätter anlegen zu können und würde jetzt gerne bei der Anlage des Tabellenblattes in ein Sub "fülle Daten" springen und dieses Tabellenblat mit oDetail.lngVariantenIR und oDetail.lngBestnad befüllen.
Dann raus aus der Sub und das nächste oDetail.

Wenn ich oDetail auf Public stelle, dann sind die Variablen sicherlich global verfügbar. Wie komme ich aber dann an die Werte von sinngemäß
Zeige jedes oDetail.VariantenID und oDetail.Bestand wenn oDetail.Artikelnummer = Tabellenblattname

Mir ist im Grunde nicht ganz klar, wie ich die einzelnen Items abgreifen kann die in dieser Collection liegen.
Bitte warten ..
Mitglied: emeriks
26.06.2018, aktualisiert um 08:01 Uhr
Sehr verwirrend. Fangen wir hinten an.
Mir ist im Grunde nicht ganz klar, wie ich die einzelnen Items abgreifen kann die in dieser Collection liegen.
Das hast Du doch schon herausgefunden. Mit dem
rufst Du doch schon Element für Element der Collection auf.
und würde jetzt gerne bei der Anlage des Tabellenblattes in ein Sub "fülle Daten" springen
Dein eingangs genannter Code nutzt aber keine Sub. Da hast Du nur 2 verschachtelte For-Next-Schleifen. Mit Sub geht das in etwa so
Bitte warten ..
Mitglied: Aximand
26.06.2018 um 09:07 Uhr
Danke.

Ich möchte ja nicht for each Detail sondern die Details eines Datensatzes bezogen auf das Filterkriterium sehen.

Ich habe doch jeweils einen Datensatz in dem
oDetail.A bis oDetail.Z enthalten sind?

Genau diesen einen Datensatz möchte ich abgreifen wenn eine Bedingung erfüllt ist, zb oDetail.Z = "test"

ob ich das verständlich rüberbringen kann, keine Ahnung
Bitte warten ..
Mitglied: emeriks
26.06.2018 um 10:26 Uhr
Ich denke schon dass ich Dich verstehe, nur schreibst/fragst Du jedes Mal auch irgendwie irgendwas anderes.

Du redest immer von "Datensatz". Wohjer komnmt denn dieser? Aus einer SQL- oder Access-DB oder woher? Falls eine DB, dann filtert man am einfachsten schon bei der Abfrage der DB. Also in der Select-Anweisung.

Ich habe doch jeweils einen Datensatz in dem oDetail.A bis oDetail.Z enthalten sind?
Du hast offenbar "eine Collection von Datensätzen". Ein Datesatz hat i.A. Spalten (Felder).

Genau diesen einen Datensatz möchte ich abgreifen wenn eine Bedingung erfüllt ist, zb oDetail.Z = "test"
Ohne zu wissen, was das für "Datensätze" sind, kann man dazu nichts sagen. LINQ kenn VBA nicht. Wenn die Daten schon im VBA als Objekte vorliegen, welche Elemete einer Collection sind, dann kannst Du in VBA nur diese Elemente der Reihe nach durchlaufen und mit IF die einzelnen Eigenschaften der Objekte vergleichen. Und bei Treffer mit diesem Objekt etwas machen. Aber dieses Prinzip hattest Du doch schon erkannt ...
Warum fragst Du also noch danach?
Bitte warten ..
Ähnliche Inhalte
Windows Server
RDSH fehlerhafte Anzeige in Collection
Frage von agowa338Windows Server

Hi, habe hier aktuell das Problem, dass mir in einer 2016er RD session collection keine hosts mehr angezeigt werden. ...

Windows Server

Remote Desktop Services - Collection - Applikationen freigeben

gelöst Frage von MiljanCHWindows Server7 Kommentare

Hallo zusammen, Wir haben eine Collection am laufen auf einem Windows Server 2012 R2 Server. Eigentlich bestehen keine Probleme ...

Microsoft

Windows 10 - TAPI Callbridge Collection v2 R3.14.0. "Ein anderes Programm verwendet gerade das ausgewählte Telefongerät."

Frage von blackandwhiteMicrosoft12 Kommentare

Hallo zusammen, TAPI Treiber: Callbridge Collection v2 R3.14.0 TK Anlage: Siemens(Unify) Openscape Office MX V3 Telefon: Siemens(Unify) OpenStage HFA ...

Neue Wissensbeiträge
Exchange Server

ACHTUNG: Ungepatchte Exchange Server aktuell im Visier von Angreifern!

Tipp von vibrations vor 4 StundenExchange Server

Wer es noch nicht mitbekommen haben sollte: Exchange-Server Systeme werden gerade vermehrt auf eine Sicherheitslücke mit der sich das ...

Microsoft Office

Office 365 Makro Schutz nicht immer per GPO möglich

Information von sabines vor 3 TagenMicrosoft Office5 Kommentare

Der zum Schutz gegen Verschlüsselungstrojaner wichtige Makroschutz lässt sich wohl in Office 365 nicht immer per GPO einstellen. Für ...

Netzwerkmanagement
How To Mikrotik Netinstall
Erfahrungsbericht von areanod vor 5 TagenNetzwerkmanagement

Jedes Mal wenn ich Netinstall längere Zeit nicht benutzt habe stolpere ich über die „Besonderheiten“ dieser Software. Das ist ...

Microsoft
Microsoft: LDAPS per Update als Default
Information von em-pie vor 5 TagenMicrosoft2 Kommentare

Hallo, Microsoft wird mit einem der zukünftigen Updates LDAP auf LDAPS per Default umstellen. Admins von angebundenen Systemen die ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Reichweite bei Netzwerkdruckern mit Kupfer
gelöst Frage von OIOOIOOIOIIOOOIIOIIOIOOONetzwerkgrundlagen41 Kommentare

Guten Tag, aus gegebenem Anlass, möchte ich euch fragen, was aus eurer Sicht, eine akzeptable Reichweite bei einem Netzwerkdrucker ...

DSL, VDSL
Gigabit Leitung - niedrige Geschwindigkeit
Frage von Ghost108DSL, VDSL26 Kommentare

Hallo zusammen, ich bin vor kurzem auf den Tarif Vodafone Cable Max 1000 umgestiegen. Techniker war vor Ort und ...

Visual Studio
Aufgabenplaner führt Programm inkorrekt aus
gelöst Frage von TallerBiskusVisual Studio23 Kommentare

Hallo Leute :) Ich habe ein sehr seltsames Phänomen. Folgende Gegebenheiten : Wir haben einen Windows Server 2012 R2 ...

Hardware
Stromausfalllogger
Frage von certifiedit.netHardware21 Kommentare

Guten Nachmittag, welche Geräte könnt Ihr empfehlen um Stromausfälle, optimalerweise auch Frequenzstörungen zu loggen? Geht hier um keinen konkreten ...