Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Kombinationsfeld automatisch ergänzen (InputBox)
zurück: Datensatz mit Werten unterschiedlichen Datums weiter: Sql-Abfrage als Steuerelementinhalt einer Textbox Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Haddrwaidaag
Access-Kenner (mit VBA)


Verfasst am:
23. März 2010, 09:51
Rufname:

Kombinationsfeld automatisch ergänzen (InputBox) - Kombinationsfeld automatisch ergänzen (InputBox)

Nach oben
       Version: Office 2003

Hallo liebe Forum-Mitglieder,

ich habe im Forum bereits eine Möglichkeit gefunden, ein Kombinationsfeld automatisch zu erweitern (NotInList-Eigenschaft). Dies funktioniert auch wunderbar und sogar mit einer Nachfrage einer MsgBox, ob der neue Eintrag in die Liste übernommen werden soll.

Dafür habe ich folgenden Code verwendet:

Private Sub cbo_Verlag_NotInList(NewData As String, Response As Integer)
If MsgBox("Der eingebene Verlag '" & NewData & "' steht nicht in der Auswahlliste. Soll dieser ergänzt werden?", vbYesNo) = vbYes Then
Response = acDataErrAdded
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Set DB = CurrentDb
Set rs = DB.OpenRecordset("SVZ_VERLAG", dbOpenDynaset)
rs.AddNew
rs!Verlag = NewData
rs.Update
rs.Close: Set rs = Nothing
Set DB = Nothing
Else
Response = acDataErrContinue
Me.cbo_Verlag.Undo
End If
End Sub

Ich möchte nun den Vorgang etwas komfortabler gestalten und zwar wie folgt:

1. Die MsgBox soll durch eine InputBox ersetzt werden; dieser soll der Wert "NewData" übergeben werden.

2. Entweder wird der bereits eingegebene Wert mit o. k. übernommen oder er wird vom Benutzer abgeändert und nur der abgeänderte Wert soll übernommen werden.

3. Der Benutzer kann als dritte Möglichkeit auf Abbrechen klicken und es soll wieder der bisher gültige Wert aus der Tabelle herangezogen werden.

Hat jemand eine Idee, wie man die o. g. Prozedur umbauen könnte?

Vielen Dank.

Gruß
gisiangel
Excel+VBA Access-Fortgeschrittener Anfänger


Verfasst am:
23. März 2010, 14:00
Rufname: Gisi
Wohnort: Duisburg


AW: Kombinationsfeld automatisch ergänzen (InputBox) - AW: Kombinationsfeld automatisch ergänzen (InputBox)

Nach oben
       Version: Office 2003

Hallo Haddrwaidaag,

mit der Anweisung
Code:
Test = NewData
Test = InputBox("Wie?", "Abfrage", Test)

wird in der Inputbox die Eingabe wiederholt. Und entsprechend der Neueingabe, ok oder abbrechen wird dann reagiert.

_________________
Gruß Gisi
Es wäre schön, wenn man erfahren könnte, ob man helfen konnte!
Haddrwaidaag
Access-Kenner (mit VBA)


Verfasst am:
23. März 2010, 15:54
Rufname:

AW: Kombinationsfeld automatisch ergänzen (InputBox) - AW: Kombinationsfeld automatisch ergänzen (InputBox)

Nach oben
       Version: Office 2003

Hallo Gisi,

ich habe den Code entsprechend abgeändert.

Wenn ich den ursprünglichen Wert sofort mit o.k. bestätige, dann funktionert es einwandfrei.

Sobald der Wert abgeändert wird, übernimmt er ihn zwar in die Auswahlliste, aber der ursprüngliche Wert steht noch im Kombinationsfeld. Access findet diesen aber nicht in der Auswahlliste und bringt dann die Fehlermeldung "Der von ihnen eigegebene Text ist nicht Element der Liste".

Man müsste also diesen "alten" Wert irgendwie vorher herauslöschen und erst dann den abgeänderten Wert reinschreiben.

Code:

Private Sub cbo_Verlag_NotInList(NewData As String, Response As Integer)
Dim Test As String
Test = NewData
Test = InputBox("Der eingebene Verlag steht nicht in der Auswahlliste. Soll dieser ergänzt werden?", "Abfrage", Test)
Response = acDataErrAdded
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Set DB = CurrentDb
Set rs = DB.OpenRecordset("SVZ_VERLAG", dbOpenDynaset)
rs.AddNew
rs!Verlag = Test
rs.Update
rs.Close: Set rs = Nothing
Set DB = Nothing
'Else
'Response = acDataErrContinue
'Me.cbo_Verlag.Undo
'End If
End Sub

Vielleicht fällt Dir ja noch was ein!

Vielen Dank

Gruß
Haddrwaidaag
gisiangel
Excel+VBA Access-Fortgeschrittener Anfänger


Verfasst am:
23. März 2010, 16:14
Rufname: Gisi
Wohnort: Duisburg

AW: Kombinationsfeld automatisch ergänzen (InputBox) - AW: Kombinationsfeld automatisch ergänzen (InputBox)

Nach oben
       Version: Office 2003

Ich würde den Code noch ergänzen:
Code:
Test = NewData
Test = InputBox("Der eingebene Verlag steht nicht in der Auswahlliste. Soll dieser ergänzt werden?", "Abfrage", Test)
NewData = Test

und ändern:
Code:
rs!Verlag = NewData

oder, damit nicht noch extra Variablen deklariert werden müssen:
Code:
NewData = InputBox("Der eingebene Verlag steht nicht in der Auswahlliste. Soll dieser ergänzt werden?", "Abfrage", NewData)

und versuche mal
Code:
Verlag.Value = NewData

um den neuen Eintrag in das Kombifeld zu übernehmen. Hab ich aber nicht getestet.

_________________
Gruß Gisi
Es wäre schön, wenn man erfahren könnte, ob man helfen konnte!
Haddrwaidaag
Access-Kenner (mit VBA)


Verfasst am:
24. März 2010, 09:54
Rufname:

AW: Kombinationsfeld automatisch ergänzen (InputBox) - AW: Kombinationsfeld automatisch ergänzen (InputBox)

Nach oben
       Version: Office 2003

Hallo Gisi,

hab jetzt nochmal rumprobiert und den Code wie folgt verändert:

Code:

Private Sub cbo_Verlag_NotInList(NewData As String, Response As Integer)
Dim Test As String
Test = NewData
Test = InputBox("Der eingebene Verlag steht nicht in der Auswahlliste. Soll dieser ergänzt werden?", "Abfrage", Test)
NewData = Test
Response = acDataErrAdded
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Set DB = CurrentDb
Set rs = DB.OpenRecordset("SVZ_VERLAG", dbOpenDynaset)
rs.AddNew
rs!Verlag = Test
Verlag.Value = NewData
rs.Update
rs.Close: Set rs = Nothing
Set DB = Nothing
End Sub



Nur wenn ich jetzt auf Abbrechen klicke, bringt er mir die Fehlermeldung: Feld 'SVZ_VERLAG.Verlag' darf keine Zeichenfolge der Länge Null sein.

Hast Du noch eine Idee, wie man hier eine Fehlerprüfung einbauen könnte?

Vielen Dank!

Gruß
Haddrwaidaag
gisiangel
Excel+VBA Access-Fortgeschrittener Anfänger


Verfasst am:
29. März 2010, 08:30
Rufname: Gisi
Wohnort: Duisburg

AW: Kombinationsfeld automatisch ergänzen (InputBox) - AW: Kombinationsfeld automatisch ergänzen (InputBox)

Nach oben
       Version: Office 2003

Hallo Haddrwaidaag,

wenn du mit Klick auf Abbrechen erreichen möchtest, dass der eingegebene Verlag nicht übernommen wird, ergänze den Code so:

Code:
Private Sub cbo_Verlag_NotInList(NewData As String, Response As Integer)
Dim Test As String
Test = NewData
Test = InputBox("Der eingebene Verlag steht nicht in der Auswahlliste. Soll dieser ergänzt werden?", "Abfrage", Test)

    If Test = "" Then
        Verlag.Undo
        Response = acDataErrContinue
        Exit Sub
    End If

NewData = Test
Response = acDataErrAdded
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Set DB = CurrentDb
Set rs = DB.OpenRecordset("SVZ_VERLAG", dbOpenDynaset)
rs.AddNew
rs!Verlag = Test
Verlag.Value = NewData
rs.Update
rs.Close
Set rs = Nothing
Set DB = Nothing
End Sub

_________________
Gruß Gisi
Es wäre schön, wenn man erfahren könnte, ob man helfen konnte!
Haddrwaidaag
Access-Kenner (mit VBA)


Verfasst am:
29. März 2010, 14:38
Rufname:


AW: Kombinationsfeld automatisch ergänzen (InputBox) - AW: Kombinationsfeld automatisch ergänzen (InputBox)

Nach oben
       Version: Office 2003

Hallo Gisi,

super, klappt einwandfrei, bis auf eine Zeile Code (statt: Verlag.Undo muss me.cbo_verlag.Undo stehen).

Hier nochmal der komplette Code zur Vollständigkeit:

Code:

Private Sub cbo_Verlag_NotInList(NewData As String, Response As Integer)
Dim Test As String
Test = NewData
Test = InputBox("Der eingebene Verlag steht nicht in der Auswahlliste. Soll dieser ergänzt werden?", "Abfrage", Test)

    If Test = "" Then
        Me.cbo_Verlag.Undo
        Response = acDataErrContinue
        Exit Sub
    End If

NewData = Test
Response = acDataErrAdded
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Set DB = CurrentDb
Set rs = DB.OpenRecordset("SVZ_VERLAG", dbOpenDynaset)
rs.AddNew
rs!Verlag = Test
Verlag.Value = NewData
rs.Update
rs.Close
Set rs = Nothing
Set DB = Nothing
End Sub



Gruß
Haddrwaidaag
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage automatisch anpassen [Ac 2002] 1 blablub 611 15. März 2006, 11:26
rita2008 Abfrage automatisch anpassen [Ac 2002]
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage /Kombinationsfeld 2 futzi-ka 5886 13. März 2006, 17:37
futzi-ka Abfrage /Kombinationsfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Datum automatisch einfügen 5 UPPsycho 898 09. März 2006, 20:58
jens05 Datum automatisch einfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Wenn "ja" automatisch aktuelles Datum in Datumsfel 2 olli_blo 708 19. Okt 2005, 15:08
olli_blo Wenn "ja" automatisch aktuelles Datum in Datumsfel
Keine neuen Beiträge Access Tabellen & Abfragen: automatisches Ergänzen 1 Michael12353 600 26. Sep 2005, 14:31
Dalmatinchen automatisches Ergänzen
Keine neuen Beiträge Access Tabellen & Abfragen: Eurowert automatisch zu DM-Wert in anderer Zelle umrechnen 4 Peter2 3109 08. Sep 2005, 16:34
Peter2 Eurowert automatisch zu DM-Wert in anderer Zelle umrechnen
Keine neuen Beiträge Access Tabellen & Abfragen: Feldwert ergänzen per SQL 16 grub 2243 27. Jul 2005, 16:50
Willi Wipp Feldwert ergänzen per SQL
Keine neuen Beiträge Access Tabellen & Abfragen: Kombinationsfeld Problem 7 Benjamin Gischler 785 23. Mai 2005, 10:12
mapet Kombinationsfeld Problem
Keine neuen Beiträge Access Tabellen & Abfragen: Datensatz automatisch kopieren??? 0 Edelschnitt 701 11. Mai 2005, 19:41
Edelschnitt Datensatz automatisch kopieren???
Keine neuen Beiträge Access Tabellen & Abfragen: Automatisch nächste freie Nummer aus einem Nummerkreis? 4 derBovie 3325 08. Mai 2005, 20:03
'n Access User Automatisch nächste freie Nummer aus einem Nummerkreis?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragen im Formular aufrufen, automatisch bestätigen 3 Calvin22 1606 12. Apr 2005, 12:12
Willi Wipp Abfragen im Formular aufrufen, automatisch bestätigen
Keine neuen Beiträge Access Tabellen & Abfragen: Unterformular über Kombinationsfeld aussuchen... 1 DJ1337 923 14. Feb 2005, 13:53
lothi Unterformular über Kombinationsfeld aussuchen...
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Word Serienbriefe