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)
>>> 
>>> 
>> 
> 
> 



Antwort per Email an