Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Suchergebnisse mehrspaltig anzeigen und merken
#1
Hallo Zusammen,

ich erstelle aktuell eine Datenbank (DB) und möchte die Suchergebnisse in einer Listbox mehrspaltig darstellen, um eine Auswahl zu treffen. Anschließend soll sich die Zeile gemerkt werden, um die Auswahl in einer Änderungsmaske auszugeben. 

Aktuell suche ich nach (Name, Vorname oder Personalnummer), wie folgt: Hier werden zwar alle Ergebnisse angezeigt, aber nur der Nachname bzw. die Personalnummer angezeigt, schön wäre eine Darstellung von "Name, Vorname, Personalnummer" pro Zeile.

Sub suchen_Person()
Dim lng As Long
Dim i As Integer

i = 0
ListBox1.Clear
Sheets("DB").Activate

 If TextBox_Name.Value = "" Then
   
    
   suchen_vorname
    
    Else

For lng = 2 To ActiveSheet.UsedRange.Rows.Count + 1
If InStr(LCase(Cells(lng, 1).Value), LCase(TextBox_Name.Value)) > 0 Then
  ListBox1.AddItem Cells(lng, 1).Value
  ListBox1.Column(1, i) = Cells(lng, 2).Value
  ListBox1.Column(2, i) = Cells(lng, 3).Value
  ListBox1.Column(3, i) = Cells(lng, 2).Row

  i = i + 1
  zeile = lng
 Else
 End If
Next lng

End If
End Sub

... sub Vorname und Sub Personalnummer.... s.o.

Die Auswahl erfolgt über eine Listbox: Hier aktuell über die "Zeile" (Listindex 3) angegeben, auch hier hätte ich gerne sowohl Name, Vorname und Personalnummer um eine Verwechslung auszuschließen.

Private Sub ListBox1_Click()
With ListBox1

txt_Ausgabe = .List(ListBox1.ListIndex, 3)
End With
End Sub

Darstellung in der Änderungsmaske über: 

Private Sub UserForm_Initialize()

TextBox_Name = Cells(zeile, 1)
TextBox_Vorname = Cells(zeile, 2) 




Wer kann mir helfen? Bitte auch mit Erklärung, damit ich verstehe was ich tue und auch etwas dazu lerne. 
Vielen Dank im Voraus. 

PS: Datei kann ich leider vom Firmenrechner nicht hochladen...
Antworten Top
#2
Hallo,

setze die ColumnCount-Eigenschaft der ListBox auf 3. Wink

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • soldblub
Antworten Top
#3
manchmal ist die Lösung so nah...
Antworten Top
#4
So, habe das ein oder andere angepasst: 

Private Sub ListBox1_Click()   'Auswahl übernehmen und anzeigen lassen

TextBox2 = ListBox1.List(ListBox1.ListIndex, 3)
TextBox3 = ListBox1.List(ListBox1.ListIndex, 2)
TextBox4 = ListBox1.List(ListBox1.ListIndex, 1)

'es fehlt nun noch die Zeile wie vorher oben im sub suche_personen zu"merken"/definieren

End Sub

Da mir aufgefallen ist, das er immer die Zeile des letzten Ergebnisses gespeichert und in die Änderungsmaske übernommen hat(war ja an  der falschen Stelle "Personensuche"), ist nun die Frage, wie ich das in der Auswahl (Listbox1_Click) integriere?

Global zeile As Integer ist bereits im Modul definiert.
Antworten Top
#5
Hallo,

hinterlege die Zeilennummer doch in einer Spalte der Listbox. Die Spalte kann ja unsichtbar bleiben.

Gruß Uwe
Antworten Top
#6
Ohje, habe keine Ahnung wie ich das umsetze. 
Insbesondere wie ich dann auf die Zeile wieder zurückgreife... ?
Antworten Top
#7
Hallo,

ListBox1.Column(4, i) = lng

Gruß Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste