PDA

Vollständige Version anzeigen : Kein Requery nach NotInList


Pittchen
27.06.2003, 08:10
Moin ihr Lieben,

mit dem Code unten versuche ich ne KomboBox zu aktualisieren; leider läßt mich Access nicht so wie ich will:
<div><link href="http://www.ms-office-forum.de/ubb/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> cboAufgabentyp_NotInList(NewData <span class="TOKEN">As</span> String, Response <span class="TOKEN">As</span> <span class="TOKEN">Integer</span>)
<span class="TOKEN">Dim</span> intTaste <span class="TOKEN">As</span> <span class="TOKEN">Integer</span>
<span class="TOKEN">Dim</span> db <span class="TOKEN">As</span> DAO.Database
<span class="TOKEN">Dim</span> rs <span class="TOKEN">As</span> DAO.Recordset
<span class="TOKEN">Dim</span> Stichwort <span class="TOKEN">As</span> <span class="TOKEN">String</span>
&nbsp;
intTaste = MsgBox(&quot;Aufgabentyp existiert noch nicht: &quot; &amp; NewData &amp; &quot; Aufnehmen?&quot;, vbYesNo)
&nbsp;
<span class="TOKEN">If</span> intTaste = vbNo <span class="TOKEN">Then</span>
GoTo Aufgabentyp_Exit
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
&nbsp;
<span class="TOKEN">Set</span> db = CurrentDb()
<span class="TOKEN">Set</span> rs = db.OpenRecordset(&quot;T_AufgabenTyp&quot;)
&nbsp;
<span class="TOKEN">With</span> rs
.AddNew
![Aufgabentyp] = NewData
&nbsp;
Stichwort = InputBox(&quot;Stichwort eingeben&quot;)
&nbsp;
![StichwortAufgTyp] = Stichwort
.Update
.Close
<span class="TOKEN">End</span> <span class="TOKEN">With</span>
&nbsp;
<span class="REM">'das funkt nicht!!</span>
DoCmd.RunCommand acCmdSave
&nbsp;
<span class="TOKEN">Set</span> rs = <span class="TOKEN">Nothing</span>
<span class="TOKEN">Set</span> db = <span class="TOKEN">Nothing</span>
&nbsp;
Response = acDataErrContinue
&nbsp;
<span class="REM">'das auch nicht!!!</span>
Me!cboAufgabentyp.Requery
&nbsp;
<span class="TOKEN">Exit Sub</span>
&nbsp;
&nbsp;
Aufgabentyp_Exit:
Response = acDataErrContinue
<span class="TOKEN">Exit Sub</span>
&nbsp;
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span>
&nbsp;</pre></div>

Was mache ich falsch?

Danke schon mal und

Gruß Pittchen

Ach so: die kombo ist ungebunden und bezieht ihre Daten via SQL-Code aus einer Tabelle, falls das wichtig ist

und: A00

strausto
27.06.2003, 08:20
Hi Pittchen! ;)

Ich vermute es liegt an dem Fehlen von acDataErrAdded
Schau mal hier (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=91926&highlight=acDataErrContinue) !


'das funkt nicht!!
DoCmd.RunCommand acCmdSave

Response = acDataErrContinue

'das auch nicht!!!
Me!cboAufgabentyp.Requery


Darauf solltest Du dann verzichten können!

racoon0506
27.06.2003, 08:21
Das Requery benötigst du hier nicht. Die Combobox aktualisiert sich selbst.
Dazu solltest du jedoch nach dem Anfügen des neuen DS mit .Update
das Response abändern.
Response = acDataErrAdded
(dadurch erhält Acc die Info, das etwas hinzugefügt wurde und das Feld aktualisiert werden soll!)

und die If-Anweisung würde ich so schreiben:
If intTaste = vbNo Then
Response =acDataErrContinue
Exit sub
End If

Aufgabentyp_Exit wird dadurch auch nicht mehr benötigt.

A.S.
27.06.2003, 09:05
Hallo Pittchen,

darf ich Dich an dieser Stelle auf einen, im Jahre 2001 von Dir selbst initiierten, Beitrag (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=47306&highlight=notinlist+arno) lenken, in welchem ich die von Dir hier angesprochene Problematik recht ausführlich auseinandersetze? :(

Ich denke meinen üblichen Hinweis auf gewisse Forumsfunktionen und -dokumente kann ich mir sparen, oder? :( :( ;)

Gruß

Arno

Pittchen
27.06.2003, 09:06
Moin Leute,

@Torsten & Jan:

Super, Danke für euere schnelle Hilfe; und so sieht das Prachtstück jetzt aus:

<div><link href="http://www.ms-office-forum.de/ubb/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> cboAufgabentyp_NotInList(NewData <span class="TOKEN">As</span> String, Response <span class="TOKEN">As</span> <span class="TOKEN">Integer</span>)
<span class="TOKEN">Dim</span> intTaste <span class="TOKEN">As</span> <span class="TOKEN">Integer</span>
<span class="TOKEN">Dim</span> db <span class="TOKEN">As</span> DAO.Database
<span class="TOKEN">Dim</span> rs <span class="TOKEN">As</span> DAO.Recordset
<span class="TOKEN">Dim</span> Stichwort <span class="TOKEN">As</span> <span class="TOKEN">String</span>
&nbsp;
intTaste = MsgBox(&quot;Aufgabentyp existiert noch nicht: &quot; &amp; NewData &amp; &quot; Aufnehmen?&quot;, vbYesNo)
&nbsp;
<span class="TOKEN">If</span> intTaste = vbNo <span class="TOKEN">Then</span>
Response = acDataErrContinue
<span class="TOKEN">Exit Sub</span>
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
&nbsp;
<span class="TOKEN">Set</span> db = CurrentDb()
<span class="TOKEN">Set</span> rs = db.OpenRecordset(&quot;T_AufgabenTyp&quot;)
&nbsp;
<span class="TOKEN">With</span> rs
.AddNew
![Aufgabentyp] = NewData
&nbsp;
Stichwort = InputBox(&quot;Stichwort eingeben&quot;)
&nbsp;
![StichwortAufgTyp] = Stichwort
.Update
.Close
<span class="TOKEN">End</span> <span class="TOKEN">With</span>
&nbsp;
Response = acDataErrAdded
&nbsp;
<span class="TOKEN">Set</span> rs = <span class="TOKEN">Nothing</span>
<span class="TOKEN">Set</span> db = <span class="TOKEN">Nothing</span>
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>

Schönen Tag noch und

Gruß Pittchen

Pittchen
27.06.2003, 09:10
Moin Arno,

:angel: jaja, ich geb's ja zu, aber leider kann ich nur sporadisch programmieren und da geht schon mal das eine oder andere wieder verloren

und ich erfinde das Rad für mich immer wieder ;)

ich versuch' mich zu bessern ;)

Gruß und Danke

Pittchen

A.S.
27.06.2003, 09:13
Original geschrieben von Pittchen
:angel: jaja, ich geb's ja zu, aber leider kann ich nur sporadisch programmieren und da geht schon mal das eine oder andere wieder verloren

Hallo Pittchen,

nun das mag vielleicht für Dein Gedächtnis zutreffen ;) Zugegebenerweise behalte ich auch nicht alle Techniken die ich einmal ausgearbeitet habe im Gedächtnis :) Das Forum hingegen hat eine excellente Suchfunktion, zumindest für registrierte Mitglieder, und das Suchwort "NotInList" öffnet bei Deiner Problematik wahre Schatztruhen an entsprechenden Hinweisen ;)

Gruß

Arno

Pittchen
27.06.2003, 09:17
Moin Arno,

ich weiß und nutze dire Suchenfunktion auch sehr fleißig ;)

Aber mit NotInList gibt's halt sehr viele, und bis ich das zu meinem Problem gefunden hätte ...

der 2. Punkt: hier war das Detail-Problem

acDataErrAdded

und danach kann man nur suchen, wenn man schon die Idee hat, dass der Punkt den Fehler verursacht.
Und jetzt beußt sich die Katze in den Schwanz ... Oder? ;)

Noch nen Gruß

Pittchen

A.S.
27.06.2003, 09:27
Original geschrieben von Pittchen
Aber mit NotInList gibt's halt sehr viele, und bis ich das zu meinem Problem gefunden hätte ...

Hi Pittchen,

nun, das Du Suchfunktion fleißig nutzt ist Lobenswert, aber das was ich gerade Zitiert habe ist leider das was hier nur allzu häufig Usus ist und ich, in jedem Fall bei Benutzern die selbst die entsprechende Thematik schon einmal aufgegriffen haben, nicht verstehe :(

Aber jetzt Schluß mit dieser Grundsatzdiskussion oder Verlagerung damit in das Forum "Sonstiges...", denn das hat mit Access nichts mehr zu tun ;)

Gruß

Arno