PromiseYou Geschrieben 15. September 2010 Teilen Geschrieben 15. September 2010 (bearbeitet) Hallo zusammen diesmal hab ich nen Prob, wo ich nicht weiß, ob es dafür wirklich ne Lösung gibt. Mein Problem: Ich habe ein Frame mit verschiedenen Elementen (Label, Picture, Textbox und CommandButton). Dieses Auflistung möchte ich nun durchlaufen und jedem dieser Elemente etwas aus der Datenbank zuweisen (außer den Buttons) Es gibt also immer ein zusammengehöriges Set bestehend aus ImageBox, Label und TextBox Wenn ich nun die Controls durchlaufe ist leider die Reihenfolge leider nicht "sortiert" (siehe unten). Wie kann ich nun erreichen, dass die Controls in einer benutzerdefinierten Reihenfolge abgefragt (durchlaufen) werden? Ich habe mir die Reihenfolge mal im Direktfenster ausgegeben. Danach habe ich gedacht, ich könnte es mit dem Tabulator ändern, habe jedem Element einen neuen TabIndex gegeben, leider jedoch ohne Änderung der Ausgabe. Gibt es einen Weg, die Reihenfolge so zu ändern, dass wenn ich die Controls durchlaufe, ich bei lblFoto1 anfange, über imgFoto1 zum txtFoto1Bem komme. Wann die Button kommen ist mir schnurz, die werden eh rausgefiltert beim füllen. Der Erfolg soll sein, dass ich nicht bei jedem Control.Element den Courser in der Datenbank neu positionieren muß, sondern erst nach dem eintrag der 3 relevanten Daten. Im zweitem Fenster ist der Code aus meinem Projekt For Each Element In userform1.frameFotos.Controls() : ? element.name : next lblFoto1 imgFoto1 cmdFotoVor cmdFotoZurück cmdNeuFoto imgFoto2 imgFoto3 imgFoto4 imgFoto5 imgFoto6 lblFoto5 lblFoto3 lblFoto4 lblFoto6 lblFoto2 txtFoto1Bem txtFoto2Bem txtFoto3Bem txtFoto4Bem txtFoto5Bem txtFoto6Bem Private Sub BilderZuweisen() Dim i As Integer Dim Label As String Dim Element As Object frameFotos.Visible = False For Each Element In frameFotos.Controls If Left$(Element.Name, 3) = "img" Then If Not rstFotos.EOF And Not rstFotos.BOF Then Element.Picture = LoadPicture(CurrentProject.Path & "\Bilder\" & rstFotos!LinkAdr) rstFotos.MoveNext Else Element.Picture = LoadPicture("") End If ElseIf Left$(Element.Name, 3) = "lbl" Then If Not rstFotos.EOF And Not rstFotos.BOF Then Element.Caption = rstFotos!Bemerkung rstFotos.MoveNext End If End If Next ' Datensatzsteuerung einstellen If rstFotos.AbsolutePosition > 5 And rstFotos.AbsolutePosition < rstFotos.RecordCount Or rstFotos.BOF Then cmdFotoVor.Enabled = True Else cmdFotoVor.Enabled = False End If If rstFotos.AbsolutePosition > 6 Or rstFotos.EOF Then cmdFotoZurück.Enabled = True Else cmdFotoZurück.Enabled = False End If frameFotos.Visible = True End Sub lblFoto1 imgFoto1 txtFoto1Bem lblFoto2 imgFoto2 txtFoto2Bem lblFoto3 imgFoto3 txtFoto3Bem lblFoto4 imgFoto4 txtFoto4Bem lblFoto5 imgFoto5 txtFoto5Bem lblFoto6 imgFoto6 txtFoto6Bem edith sagt: Access Version 2000 (Vers 9 ) mit ExcelForms (also nicht die "StandartForms" aus Access) Bearbeitet 15. September 2010 von PromiseYou Accessversion vergessen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PromiseYou Geschrieben 20. September 2010 Autor Teilen Geschrieben 20. September 2010 Hab ne Lösung gefunden. Habe jeweils die drei Steuerelemente (txt, lbl und img) als Gruppe zusammengefasst und dann via Tag einzeln durchnummerriert. Nun fange ich den Tag ab und positioniere entsprechend den Cursor im Recordset. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.