vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
seltsames Phänomen bei ComboBox.Requery 
Autor: Prian0815
Datum: 12.10.05 16:42

Hi An Alle.
Ein äußerst seltsames Verhalten zeigt VBA in Access. Mit folgendem Code ermittle ich bestimmte Einträge in Tabellen, welche dann anschließend in einem Kombinationsfeld angezeigt werden sollen. Die Datenherkunft des CBO ist eine Abfrage deren KriteriumsAusdruck so lautet: Wie [Formulare]![frmAuswahl_Mitarbeiter_bearbeiten_löschen]![txtMitName_seek]

Der Code funktioniert bislang einwandfrei. Nur habe ich heute festgestellt, dass bei Eingabe von 'wei' der Code verrückt spielt. Der Eintrag in Tabelle Mitarbeiter welcher mit 'wei' beginnt wird gefunden. Doch sobald der Befehl cboMitarbeiter_Name.requery ausgeführt wird, ändert sich der eingegebene Text 'wei' in meinem Textfeld in 'wie' und die Prozedur beginnt von vorne, findet dann aber natürlich keinen passenden Eintrag mehr in meiner Mitarbeiter-Tabelle, und zusätzlich krieg ich nach dem wegklicken der MsgBox noch die Fehlermeldung: "2110 - Microsoft Access kann den Fokus nicht auf das Steuerelement cboMitarbeiter:_Name verschieben", obwohl nirgends im Else-Zweig der Fokus dortrthin verschoben wird(Dies passiert immer beim Befehl: 'Set rs = nothing'). Kann mir irgendjemand dieses seltsame Phänomen erklären?
Hier mein Code:

Private Sub txtName_Change()
On Error GoTo Err_txtName_Change
hAnz = 0
txtName.SetFocus
hAnz = Len(txtName.Text) ' Länge des eingegebenen Strings ermitteln
If hAnz = 3 Then ' Nach drei eingegebenen Buchstaben entsprechende PcNamen suchen.
stseek = txtName.Text 'Suchkriterium für SQL - Select füllen
txtMitName_seek.Value = stseek & "*" 'Textvariable für Dynamische Abfrage füllen
' und mit Wildcard(*) versorgen
stseek = stseek & "%" 'Suchkriterium für SQL - Select mit Wildcard(%) versorgen
' jetzt wird der SQL - Select aufgebaut
stSQL = ""
stSQL = "SELECT COUNT (*) AS hAnz FROM Mitarbeiter " _
& "HAVING (((Mitarbeiter.MitName) Like '" & stseek & "'));"
Set rs = New ADODB.Recordset
rs.Open stSQL, con, adOpenStatic, adLockOptimistic
hAnz = 0
hAnz = rs!hAnz ' Anzahl der gefundenen Namen ermitteln
If hAnz >= 1 Then ' Kombinationsfeld aktualisieren
cboMitarbeiter_Name.Visible = True
cboMitarbeiter_Name_alle.Visible = False
cboMitarbeiter_Name.Locked = False
cboMitarbeiter_Name.SetFocus
cboMitarbeiter_Name.Requery
Me!cboMitarbeiter_Name.Dropdown
Else
cboMitarbeiter_Name_alle.Visible = True
cboMitarbeiter_Name.Visible = False
cboMitarbeiter_Name_alle.Locked = False
Mldg = "Es wurde kein Mitarbeiter gefunden!"
Titel = "Kein Mitarbeiter gefunden!"
MsgBox Mldg, Stil_ok, Titel
End If
rs.Close
Set rs = Nothing
End If

Err_txtName_Change:
If Err.Number <> 0 Then
MsgBox Err.Number & " " & Err.Description
Resume Exit_txtName_Change
End If

Exit_txtName_Change:
Exit Sub


Gruß Armin

P.S.: always look on the bright side of Life!
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
seltsames Phänomen bei ComboBox.Requery805Prian081512.10.05 16:42
Re: seltsames Phänomen bei ComboBox.Requery453radler12.10.05 20:17
Re: seltsames Phänomen bei ComboBox.Requery463Prian081513.10.05 08:51

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel