title image


Smiley Das hört sich nach einem von hinten aufgezäumten Pferd an...
Normalerweise ist der zentrale Ort der Datenhaltung die Datenbank (darum heisst die auch so bzw. dazu gibt es schließlich Datenbanken), und dort werden auch Indizes, Schlüssel usw. verwaltet und nicht in irgendwelchen Excel-Tabellen.



Aber wenn's denn unbedingt sein muss: Durchlaufe halt deine Excel-Tabelle als Recordset und setze den Schlüssel entsprechend:



Dim RS AS DAO.Recordset, I as Long, MerkMandant as Long, MerkKostenstelle as Long

Set RS = Currentdb.Openrecordset("SELECT * FROM DeineTabelle ORDER BY Mandant, Kostenstelle", dbopendynaset)

Do Until RS.EOF

If MerkMandant RS!Mandant or (RS!Mandant = 1000 and MerkKostenStelle RS!Kostenstelle) then

' Gruppenwechsel

I = 0

end if

I = I +1

RS.Edit

RS!InvestitionsID = Format(RS!Mandant, "0000") & _

IIF(RS!Mandant = 1001 ,Format(RS!Kostenstelle, "00000"),"") & _

Format (I,"00")

RS.Update

MerkKostenstelle = RS!Kostenstelle

MerkMandant = RS!Mandant

RS.Movenext

Loop

RS.Close



Dabei mal davon ausgegangen, dass "Mandant" und "Kostenstelle" ganzzahlige Felder (Long) sind (sollte auch mit Textfeldern gehen, obwohl man dann besser explizit konvertiert).



Gruß aus dem Norden
Reinhard


Bitte immer die Access-Version angeben!
DB-Wiki


Wie man Fragen richtig stellt

YaccessAccess-FAQUnd ansonsten: Wikipedia




geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: