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.

Nach Suche das Feld als SetFocus klappt nicht
#1
Code:
Private Sub Kunde_Partner_AfterUpdate() 'ComboBox um Partner zu suchen zum Kunden
 Dim rst As DAO.Recordset
 
 Set rst = Me.RecordsetClone
 rst.FindFirst "KNR = '" & Me!Kunde_Partner.Column(1) & "'" 'KNR = Kundennummer
 Me.Bookmark = rst.Bookmark
 rst.Close
 
 Set rst = Me!Partner.Form.RecordsetClone
 rst.FindFirst "Nachname = '" & Me!Kunde_Partner.Column(2) & "'"
 Me!Partner.Form.Bookmark = rst.Bookmark
 
 Me.Kunde_Partner.Width = 1000
 'Me.Partner.Form.Nachname.SetFocus
 Me.Ansprechpartner.SetFocus 'Focus auf das UF Ansprechpartner setzen.
 rst.FindFirst "Nachname = '" & Me!Kunde_Partner.Column(2) & "'"
 rst.Close
 Set rst = Nothing
End Sub

Mit diesem Code kann ich den umgekehrten Weg gehen,
also den Namen des Partners eingeben und den Stammdatensatz des Kunden finden.
Beispiel: Name = Meier....Kunde = Mustermann GmbH.
Ich gebe MÜLLER als Suchbegriff vor und als Resultat wird der Stammdatensatz der Firma MUSTERMANN GmbH gefunden.
Das funktioniert prima.

Aber mein UF Ansprechpartner zeigt mir maximal 4 DS an. Größer geht nicht.
Wenn aber der Kunde 30 Ansprechpartner hat und der Name MÜLLER erst an 17. Stelle steht,
dann wird zwar der Kunde MUSTERMANN GmbH ebenso gefunden wie der Name MÜLLER,
aber nicht automatisch an diese Stelle gescrollt.

Ich muss jetzt immer manuell runterscrollen bis zu Herrn MÜLLER.
Es muss doch machbar sein, dass der Herr MÜLLER jetzt automatisch sichtbar ist.

Da muss ich doch bestimmt nur eine Kleinigkeit am Code ändern....
Aber was?
Ich hoffe, dass ich es einigermaßen verständlich beschrieben habe.

Kann mir ja jemand einen Tipp geben?
Danke, Gruß Achim
Antworten Top
#2
Hallöchen,

im Prinzip
Code:
ComboBox1.ListIndex = 7
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo Andre,

danke für die Antwort,
aber kann es sein, dass du dich vertan hast und die Antwort zu einem ganz anderen Thread gehört?

Ich habe hier ein ACCESS Problem, nicht EXCEL.
Gruß Achim
Antworten Top
#4
Hallo Achim
gibt es denn im Access in der ComboBox keinen ListIndex?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hi Andre,

doch, es gibt für das Kombinationsfeld auch einen Listindex.
Aber das nützt mir hier nicht viel.

Ich versuche mein Anliegen nochmal etwas besser zu erklären.
Das HF heißt "Kunden".
Das UF heißt "Ansprechpartner". Das Datenfeld im UF Ansprechpartner heißt "Nachname".

Das Kombinationsfeld heißt "Kunde_Partner". In der Datzensatzherkunft dieses Kombinationsfeldes steht
Code:
SELECT partner.id, partner.knr, partner.nachname, Kunden.Kunde FROM Kunden INNER JOIN Partner ON kunden.knr=partner.knr ORDER BY partner.nachname, kunden.kunde;

Ich öffne das Kombinationsfeld "Kunde_Partner" und wähle jetzt den Namen eines Ansprechpartners.
Jetzt wird im Stammdatensatz der dazugehörige Kunde gesucht, gefunden, angezeigt.
Klappt echt gut.

Der Cursor steht jetzt zwar im Datenfeld "Nachname", aber NICHT im gesuchten Datensatz, sondern immer ganz oben beim ersten Namen.

Beispiel:
Der Kunde MUSTERMANN GmbH hat 22 Ansprechpartner. Der Herr Müller steht alphabetisch irgendwo weiter hinten.
Jetzt wähle ich in meinem Kombinationsfeld den Namen MÜLLER, Dieser wird gefunden, der Stammdatensatz steht jetzt auf MUSTERMANN GmbH. Alles super.... Aber der Cursor steht im UF der Ansprechpartner NICHT bei Müller, sondern oben im ersten Eintrag der ganzen Namen.

Ich weiß, dass ich ganz kurz davor bin, das zu lösen..... Vielleicht sehe ich den Wald vor lauter Bäumen nicht.... Huh
Gruß Achim
Antworten Top
#6
Hallo Achim,

probier es doch einfach mal aus, dann kommst Du eventuell auf die Lichtung Smile

Nach der letzten Beschreibung ist für mich die Frage, was Du mit "Cursor" meinst. Am Anfang klang es für mich so, als ob Du in einer Combobox den entsprechenden Eintrag angezeigt haben willst. Allerdings gibt es ja auch einen "Cursor" in der Datenbank. Du stehst damit sozusagen im Hintergrund auf einem bestimmten Datensatz in der Datenbank und nicht in der "Oberfläche", die der Nutzer sieht.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Nein, nein.
Zitat:in einer Combobox den entsprechenden Eintrag angezeigt haben
Das definitiv nicht.
Mit Cursor meinte ich halt, das dieser im Feld NACHNAME und des richtigen DATENSATZ steht....
Code:
Me.Ansprechpartner.SetFocus 'Focus auf das UF Ansprechpartner setzen.
 rst.FindFirst "Nachname = '" & Me!Kunde_Partner.Column(2) & "'"
 rst.Close
 Set rst = Nothing
Der Code enthält keinen Fehler, wird aber durchlaufen....

Gruß Achim
Antworten Top


Gehe zu:


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