declare @helptable table(AdrNrGes nvarchar(24))
declare @currAdrNrGes nvarchar(24)
declare @i float
set @i = 10000
— AdressArt: 0=Kunde (Debitor 10000-69999), 1=Lieferant (Kreditor 70000-)
insert into @helptable (AdrNrGes) ( SELECT AdrNrGes FROM [BNWINS].[dbo].[adrAdressen] where AdressArt = 0)
while exists (select * from @helpTable)
begin
select top 1 @currAdrNrGes = AdrNrGes from @helpTable
update adrAdressen set DebitKreditNr = @i where AdrNrGes = @currAdrNrGes
set @i=@i+1
delete @helpTable where AdrNrGes = @currAdrNrGes
end
Danach sollte man prüfen folgendes Skript laufen lassen um zu prüfen ob in den anderen Adressarten evtl. noch Adressen mit Debitoren- oder Kreditorennummern vorhanden sind und diese ggf entfernen.
SELECT [AdrNrGes], [AdressArt] ,[DebitKreditNr]
FROM [dbo].[adrAdressen]
order by DebitKreditNr desc
und diese Nummern evtl. auf [0] setzen.
update adradressen
set DebitKreditNr=0 where where AdressArt>1
Ansonsten greifen die eingestellten Nummernkreise im Adressenstamm bei fortlaufender Nummer nicht.