In einem frm kann ich mittels der DMax-Funktion die letzte Inventarnummer
eines Anlagegutes leicht ermitteln und einem neuen Anlagegut daher die
Folgenummer vergeben.
Wie kann ich das aber, wenn ich aus einem anderen Datenbestand die Daten
habe, aber die Inventarnummer erst in einer Anfügeabfrage generieren möchte?
Kriterium zudem ist, die Anlagegutnummerierung soll nur für Güter auf dem
Konto 400 gelten.
Ich habe folgendes versucht, was aber nichts ergibt.
NeueINr: (SELECT Max([Inventarnummer]) FROM Anlagen as X WHERE
(((X.Konto)=400) AND ((X.Inventarnummer)< [x].[inventarnummer])))+1
Auch der Versuch mit einer fnc braucht mich nicht ans Ziel:
Public Function MaxInventarNr(intKonto As Integer)
MaxInventarNr = DMax("Inventarnummer", "Anlagen", "Konto = " & intKonto)
End Function
NeueINr: MaxInventarNr(400)+1
Das ergibt immer die gleiche nächst höhere Inventarnummer für alle
Datensätze.
Bitte helft mir bei meinem Problem.
Danke
Michael
A2k
Michael Alexander:
> Wie kann ich das aber, wenn ich aus einem anderen Datenbestand die Daten
> habe, aber die Inventarnummer erst in einer Anfügeabfrage generieren möchte?
> Kriterium zudem ist, die Anlagegutnummerierung soll nur für Güter auf dem
> Konto 400 gelten.
Lies doch mal FAQ Punkt 3.11 (http://www.donkarl.com) und ergaenze
Dein Kriterium.
Gruss - Mark
--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm
Bitte keine eMails auf Newsgroup-Beiträge senden.
"Mark Doerbandt" <spamre...@doerbandt.de> schrieb im Newsbeitrag
news:fncvc6...@dit8.doerbandt.de...
> Hallo, Michael,
>
> Michael Alexander:
>
>> Wie kann ich das aber, wenn ich aus einem anderen Datenbestand die Daten
>> habe, aber die Inventarnummer erst in einer Anfügeabfrage generieren
>> möchte?
>> Kriterium zudem ist, die Anlagegutnummerierung soll nur für Güter auf dem
>> Konto 400 gelten.
>
> Lies doch mal FAQ Punkt 3.11 (http://www.donkarl.com) und ergaenze
> Dein Kriterium.
>
> Gruss - Mark
Ich habe nicht erwähnt, dass ich den FAQ Punkt kenne, damit allerdings mein
Ziel nicht erreiche.
Die Nummerierung der Anlagegüter (=Inventarnummer) sieht z.B. so aus:
Hauptanlagegüter (im Konto 400):
3060
3070
3080
...
Aber Anlagegüter, die zu einem Hauptanlagegut gehören, also z.B. zusätzliche
Geräte, etc.
sind dann z.B.
3081
3082
3083
...
Dann kommt aber wieder ein Hauptanlagegut
3090
3100
...
Diese Inventarnummerierung kommt aus sehr frühen Jahren (offenbar ohne
EDV-Unterstützung) und wurde so übernommen und weitergeführt.
Ich habe nun hunderte DS aus einer anderen Datenquelle und möchte diese auf
einfachem Wege an eine Tabelle "Anlagen" anfügen. Ich kann auch die letzte
Hauptanlagegutnummer ermitteln und dort aufsetzen, wenn das was helfen
würde. Nur die neuen Inventgarnummern sollem in 10er Schritten weitergehen
(übrigens habe ich in meinem 1.Posting nur 1er-Schritte angegeben!).
Danke
Michael
Michael Alexander:
> Ich habe nicht erwähnt, dass ich den FAQ Punkt kenne, damit allerdings mein
> Ziel nicht erreiche.
tja ... ;-)
> Aber Anlagegüter, die zu einem Hauptanlagegut gehören, also z.B. zusätzliche
> Geräte, etc.
> sind dann z.B.
> 3081
> 3082
> 3083
> ...
>
> Dann kommt aber wieder ein Hauptanlagegut
> 3090
> 3100
> ...
>
> Diese Inventarnummerierung kommt aus sehr frühen Jahren (offenbar ohne
> EDV-Unterstützung) und wurde so übernommen und weitergeführt.
und was wird in dieser Logik gemacht, wenn es mehr als neun
Anlagegüter gibt, die zu einem Hauptanlagegut gehören?
Gruss - Mark
"Mark Doerbandt" <spamre...@doerbandt.de> schrieb im Newsbeitrag
news:fnd0ld...@dit8.doerbandt.de...
>> Aber Anlagegüter, die zu einem Hauptanlagegut gehören, also z.B.
>> zusätzliche
>> Geräte, etc.
>> sind dann z.B.
>> 3081
>> 3082
>> 3083
>> ...
>>
>> Dann kommt aber wieder ein Hauptanlagegut
>> 3090
>> 3100
>> ...
>>
>> Diese Inventarnummerierung kommt aus sehr frühen Jahren (offenbar ohne
>> EDV-Unterstützung) und wurde so übernommen und weitergeführt.
>
> und was wird in dieser Logik gemacht, wenn es mehr als neun
> Anlagegüter gibt, die zu einem Hauptanlagegut gehören?
>
Ja, ist mir klar, aber rückwirkend kann ich keine Inventarnummern ändern und
diese Nummerierung habe ich von früher übernommen. Die sind damals
offensichtlich damit ausgekommen oder haben das nicht bedacht. Ich schreibe
deshalb nur mehr mit (Haupt)Nummern weiter, d.h. in 10er-Schritten. Aber an
der letzten Hauptnummer muß ich eben aufsetzen...!
Danke
Michael
> >> 3081
> >> 3082
> >> 3083
> >> ...
> >>
> >> Dann kommt aber wieder ein Hauptanlagegut
> >> 3090
> >> 3100
Hallo Michael,
ich bin mir zwar nicht ganz sicher, aber wie wäre es wenn du die Unternummer
dur 10 dividierst und danach prüfst mit MOD(?) ob ein Rest vorhanden ist.
so nach dem Motto:
If Mod(meineNr/10) <>0 then 'Das hier ist alteHauptnummer
neueHauptNummer=(HauptNummer*10)+1
vielleicht gehts ja so.
Ist allerdings gerade ein Hüftschuss ohne Gewähr
Gruß Raimo
ich habe verschiedene Varianten dieses Problems bei meinen
Tipps&Tricks:
Tipp "Zeilen fortlaufend nummerieren mit SQL" auf
http://www.cls-software.de/cls_software/TippsAccessAbfragen.aspx
(das ist ja auch bei donkarl3.11 beschrieben)
Tipp "Zeilen fortlaufend nummerieren mit VBA-Funktion?" auf
http://www.cls-software.de/cls_software/TippsAccessVBA.aspx
(das erklärt Dir, warum Deine Funktion scheitern mußte)
Tipp "Zeilen fortlaufend nummerieren im Bericht" auf
http://www.cls-software.de/cls_software/TippsAccessBerichte.aspx
(das ist für Dich weniger spannend, weil es nur in Berichten klappt)
Meiner Ansicht nach sollte Deine SQL-Version funktionieren, wenn Du
dort +10 statt +1 rechnest, dann hast Du ja die notwendigen Abstände.
tschö, Lorenz
"Dieter Fillsner" <DieterF...@discussions.microsoft.com> schrieb im
Newsbeitrag news:7221B1C7-ED41-44B1...@microsoft.com...
>
>
> Hi Michael,
> nach soviel Bastelei würde ich vorschlagen, auf Programmcode
> mit Recordset zurückzugreifen.
> Dort lassen sich sicher alle möglichen Abläufe ohne Mühe programmieren.
> das läuft nach spätestens 15 min.
>
> Gruß
> Dieter
Ja, wie es scheint, geht das in einer Abfrage trotz Funktion nicht, bzw.
nicht wirklich leicht.
Ich habe mich in der Zwischenzeit auch damit abgefunden und habe eine
Hilfs-tbl mit allen neuen Daten, nur ohne Inventarnummer hergerichtet und
fülle nun die fehlende Nr. mit Code auf, indem ich die tbl als Recordset
aufrufe und dem Anfangswert immer 10 hinzuzähle. Das entspricht
weitestgehend dem Code, den ich im Form für die manuelle Eingabe der Daten
verwende.
Danke an alle!
Gruß
Michael