Hi Robert, ich würde die Rechnungsnummer erzeugen, wenn die Rechnung angelegt wird, dann ist und bleibt sie auch eindeutig. Comboboxen oder Container-Controls (wie auch einige andere, die mehrere Controls in sich vereinen) sind für solche Dinge unzuverlässige Partner...
andy On 24.07.10 11:56, "Robert Lehner" <r.leh...@typo-lehner.de> wrote: > Hallo Andy, > > danke für den Rat. Ich werde das nochmal ändern. > > Robert > > > Am 24.07.2010 um 11:35 schrieb Andy Fuchs: > >> Hi Robert, >> >> Moment - Du willst jetzt aber nicht ernsthaft sagen, dass dieser >> Code am 'GotFocus'-Event einer Combobox hängt? Sollte das so sein, >> dann würde ich vielleicht zunächst mal meine Code-Struktur >> überdenken. Dort gehört solcher Code jedenfalls ganz sicher nicht >> hin. Und wenn schon in einen GotFocus-Event, dann sicher nicht in >> einen, der von einem virtuellen Control geschickt wird - der kann >> beliebig oft abgefeuert werden, je nachdem... >> >> PS: Rechnungsnummer erhöhen geht bei mir so: >> ... >> curIndex = maxIndex+1 >> newInvoiceId = "#" + curIndex + "-" + curYear >> >> Parsen und auswerten eines bestehenden Textes, um das zu erreichen >> halte ich - ehrlich gesagt - für Kamikaze >> >> Andy >> >> Am 24.07.2010 um 08:42 schrieb Robert Lehner <r.leh...@typo- >> lehner.de>: >> >>> Hallo, >>> kann mir jemand sagen, warum dieser Code die Rechnungsnummer um 2 >>> und nicht um 1 erhöht? >>> Gleicher Code im Editfield funktioniert. >>> E7 war früher ein Editfield. Jetzt ist es eine ComboBox. >>> >>> Schon mal vielen Dank für eure Hilfe. >>> Robert >>> >>> >>> >>> Dim t,n,neu As String >>> Dim i,j,nr As integer >>> >>> pushButton1.enabled=true >>> >>> //Rechnungsnummer erhöhen >>> t=E7.text >>> for i=3 to 20 >>> if mid(t,i,1)="#" then >>> for j=1 to 6 >>> if asc(mid(t,i+j,1))>47 and asc(mid(t,i+j,1))<58 then >>> n=n+mid(t,i+j,1) >>> end if >>> next >>> nr=val(n)+1 >>> neu=str(nr) >>> t=left(t,i)+neu >>> exit >>> end if >>> next >>> >>> E7.text=t >>> E7.selstart=len(E7.text) >>> >>> >> > >