![]() |
|
|||||||
| Newsgroup microsoft.public.de.access Forum microsoft.public.de.access |
![]() |
|
|
Themen-Optionen | Ansicht |
|
#1
|
|||
|
|||
|
Hallo zusammen,
in meinem Listenfeld lf_Kunde passe ich die Datengrundlage des Feldes an, indem ich über die Keypress-Eigenschaft den SQL-Code ändere, der die Datengrundlage des Listenfeldes bildet. (Den vollständigen Code hänge ich unten an [1]) Das funktioniert bei mir unter Access 2003 (im Speicherformat Access 200) sehr gut. Unter Access 2000 tritt nun der Fehler 2118 "Sie müssen das aktuelle Feld speichern, bevor Sie die Aktion AktualisierenDaten ausführen können" auf, über den ich schon einiges im Netz finden konnte. Der Debugger markiert bei Ausstieg die Zeile: Me!lf_Kunde.RowSource = t -> Me!lf_Kunde.Requery Me!lf_Kunde.Selected(0) = True Folgende Änderungen beheben zwar das Problem, bringen aber ungeliebte Nebenwirkungen: 1. Forms!f_fehlendeHandzeichen_erfassen.Recalc Ehrlich gesagt: An welcher Stelle *genau* das hilft, weiß ich gar nicht. Es wird das Formular neu angezeigt, was zu einem hässlichen Flackern bei jeder Eingabe führt. 2. Die Code-Zeile Me!lf_Kunde.Selected(0) = True auskommentiert behebt das Problem ebenfalls. Ich benötige aber einen (und zwar den ersten) Eintrag automatisch ausgewählt, damit die nötige Bedien- Performance vorhanden ist, die hier zwingend gefragt ist. Der Eintrag kann auch nicht zu anderem Zeitpunkt, also bei einem anderen Ereignis, ausgewählt werden, weil die Möglichkeit der Mausauswahl bleiben muss. Meine Fragen: - Kennt ihr eine bessere Lösung als 1.? - Kennt jemand eine Lösung mit der Variante 2., die aber auch eine automatische Auswahl des ersten Eintrags bewirkt - Gibt es einen Grund dafür, dass das Problem bei Access 2003 nicht auftritt? Danke für eure Hilfe unf viele Grüße helge aus Hamburg [1] Private Sub lf_Kunde_KeyPress(KeyAscii As Integer) Dim q As String Dim t As String q = """" If KeyAscii > 64 And KeyAscii < 123 Then strSuchwort = strSuchwort & Chr(KeyAscii) t = "SELECT t_Kunden.ID, t_Kunden.Name & " & q & ", " & q & " & [Vorname] AS Kunde FROM t_Kunden WHERE t_Kunden.aktiv AND left (t_Kunden.Name, len(" & q & strSuchwort & q & ")) = " & q & strSuchwort & q & " ORDER BY t_Kunden.Name & " & q & ", " & q & " & [Vorname];" ElseIf KeyAscii > 222 And KeyAscii < 253 Then strSuchwort = strSuchwort & Chr(KeyAscii) t = "SELECT t_Kunden.ID, t_Kunden.Name & " & q & ", " & q & " & [Vorname] AS Kunde FROM t_Kunden WHERE t_Kunden.aktiv AND left (t_Kunden.Name, len(" & q & strSuchwort & q & ")) = " & q & strSuchwort & q & " ORDER BY t_Kunden.Name & " & q & ", " & q & " & [Vorname];" ElseIf KeyAscii = 127 Or KeyAscii = 27 Then strSuchwort = "" t = "SELECT t_Kunden.ID, t_Kunden.Name & " & q & ", " & q & " & [Vorname] AS Kunde FROM t_Kunden WHERE t_Kunden.aktiv ORDER BY t_Kunden.Name & " & q & ", " & q & " & [Vorname];" ElseIf KeyAscii = 8 Then If Len(strSuchwort) = 0 Then Exit Sub End If strSuchwort = Left(strSuchwort, Len(strSuchwort) - 1) t = "SELECT t_Kunden.ID, t_Kunden.Name & " & q & ", " & q & " & [Vorname] AS Kunde FROM t_Kunden WHERE t_Kunden.aktiv AND left (t_Kunden.Name, len(" & q & strSuchwort & q & ")) = " & q & strSuchwort & q & " ORDER BY t_Kunden.Name & " & q & ", " & q & " & [Vorname];" Else Exit Sub End If Me!lf_Kunde.RowSource = t Me!lf_Kunde.Requery Me!lf_Kunde.Selected(0) = True End Sub -- http://www.gebaeudefoto.de |
|
|
||||
|
||||
|
|
|
#2
|
|||
|
|||
|
Helge Ogan wrote:
> ... > Unter Access 2000 tritt nun der Fehler 2118 "Sie müssen das > aktuelle Feld speichern, bevor Sie die Aktion AktualisierenDaten > ausführen können" auf, über den ich schon einiges im Netz finden > konnte. Der Debugger markiert bei Ausstieg die Zeile: > > Me!lf_Kunde.RowSource = t > -> Me!lf_Kunde.Requery > Me!lf_Kunde.Selected(0) = True > ... > Die Code-Zeile > Me!lf_Kunde.Selected(0) = True > auskommentiert behebt das Problem ebenfalls. Ich benötige aber > einen (und zwar den ersten) Eintrag automatisch ausgewählt, > ... Teste mal mit der Markiertechnik von www.donkarl.com?FAQ4.12. -- Servus Karl ********* Ich beantworte keine Access-Fragen per Email. ********* Access-FAQ: http://www.donkarl.com |
|
#3
|
|||
|
|||
|
"Karl Donaubauer" <NoSpam*donkarl.com> hat geschrieben news:7lkvmpF38aah9U1
*mid.individual.net: > Helge Ogan wrote: >> ... >> Unter Access 2000 tritt nun der Fehler 2118 "Sie müssen das >> aktuelle Feld speichern, bevor Sie die Aktion AktualisierenDaten >> ausführen können" auf > > Teste mal mit der Markiertechnik von www.donkarl.com?FAQ4.12. Das hilft, herzlichen Dank! helge aus Hamburg -- http://www.gebaeudefoto.de |
|
|
|
|
![]() |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| [Frage] Im Serienbrief Feld nur Anzeigen wenn das Feld nicht gleich "Dres." ist | Markus Bodmann | Newsgroup microsoft.public.de.word | 1 | 09-03-2009 10:40 PM |
| Ergänzung: Re: Fehler beim Speichern: "Visual Basic - ungültiges Bild" | Heinrich.Baumgartner\(onlinehome.de\) | Newsgroup microsoft.public.de.excel | 0 | 11-14-2008 09:03 PM |
| die fehler meldung lautet: "fehler beim ausführen der operation"n | pesal | Newsgroup microsoft.public.de.german.office | 1 | 09-05-2008 05:01 PM |
| Rueckfragen beim Speichern/ Schliessen als "Fremdformat" unterbinden | Andreas Borutta | Newsgroup de.comp.office-pakete.staroffice.misc | 9 | 08-18-2007 08:33 AM |
| Makro für "Inhaltsverzeichnis aktualisieren" damit es beim Ereignis "Speichern" ausgeführt wird | Andreas Borutta | Newsgroup de.comp.office-pakete.staroffice.writer | 22 | 02-10-2004 12:51 AM |