|
Automatische Positionnummer vergeben
|
| Autor |
Nachricht |
Access00815
Excel-Kenner, Access Anfänger
Verfasst am: 10. Feb 2010, 11:33 Rufname:
|
|
| Version: Office 2007 |
|
Hallo zusammen,
ich komme mit der automatischen Positionnummer nicht weiter und erbitte eure tatkräftige Hilfe.
Beschreibung:
Ich habe im einem Formular (F_01_Erfassung) ein UF (PositionenUnterformular2)
Verknüpft sind die beiden über ("Tabelle db" ID =Autowert") und der (Tabelle "Positionen" Auftrags_ID = Zahl)
Die Tabelle "Positionen" enthält das Feld "Position"
Das Feld "Position" soll mit anlegen eines neuen Auftrags automatisch bei 1 und jede weitere Position mit +1 anfangen.
Hab schon was mit DMAX gefunden. Kann damit aber leider nix anfangen.
Ziel: Was für einen Code gibt es, der mir diese Aufgabe übernimmt? Wo muß ich ihn hinschreiben.
Grüße
Kai
|
|
MissPh!
Office-VBA-Programmiererin
Verfasst am: 10. Feb 2010, 12:07 Rufname:
Wohnort: NRW
|
| |
| Version: Office 2007 |
|
Hallo,
du könntest folgenden Ausdruck als Standardwert der Positionsnummer eintragen: | Code: | | =NZ(DMAX("Position";"Positionen";"Auftrags_ID=" & parent.[ID]),0)+1 |
_________________ Gruß MissPh!
(HTH - hope to help)
|
|
Access00815
Excel-Kenner, Access Anfänger
Verfasst am: 10. Feb 2010, 12:18 Rufname:
|
|
| Version: Office 2007 |
|
Hallo MPH,
muss ich den Code im Standartwert des UF "Position" oder auf der Tabelle "Positionen" eintragen?
Ich habs im UF "Position" versucht. Es kommt eine Fehlermeldung:
" Ausdruck ist syntaktisch falsch"
Könntest Du mir den Code beschreiben. Damit ich ihn verstehen kann.
|
|
MissPh!
Office-VBA-Programmiererin
Verfasst am: 10. Feb 2010, 12:19 Rufname:
Wohnort: NRW
|
|
| Version: Office 2007 |
|
Ja, sorry, mach mal aus dem Komma auch noch ein Semikolon.
Erklärung:
Mit der DMax-Funktion liest du die höchste Positionsnr. des aktuellen Auftrags aus.
Die NZ-Funktion sorgt dafür, dass auch ein Wert (nämlich 0) zurückgegeben wird, wenn es noch gar keine Position gibt.
+1 am Ende liefert die neue Nummer.
_________________ Gruß MissPh!
(HTH - hope to help)
|
|
Access00815
Excel-Kenner, Access Anfänger
Verfasst am: 10. Feb 2010, 12:39 Rufname:
|
| |
| Version: Office 2007 |
|
es hat funktioniert.
Problem:
Wenn ich im meinem Formular Erfassung jetzt auf neuen Datensatz gehe, dann steht im Feld Position "Fehler"
Sobald die ID des Auftrags erzeugt wird, ist die Meldung weg und die 1 wird angezeigt.
Wenn ich jetzt die erste Position erfasst habe und mit der zweiten position weitermachen will, schreibt er mit als zweite Position auch eine 1 rein.
Wenn ich das Formular aktualisiere wird aus der zweiten 1 eine 2. Wie kann ich das umgehen?
|
|
MissPh!
Office-VBA-Programmiererin
Verfasst am: 10. Feb 2010, 12:45 Rufname:
Wohnort: NRW
|
|
| Version: Office 2007 |
|
Du kannst, um diese Fehler zu vermeiden, die Berechnung direkt vor der Speicherung durchführen, z.B. im Ereignis Vor Aktualisierung des Formulars.
| Code: | Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.NewRecord Then
Me!Position = NZ(DMAX("Position","Positionen","Auftrags_ID=" & Me.parent!ID),0)+1
End If
End Sub |
_________________ Gruß MissPh!
(HTH - hope to help)
|
|
Access00815
Excel-Kenner, Access Anfänger
Verfasst am: 10. Feb 2010, 14:45 Rufname:
|
|
| Version: Office 2007 |
|
wenn ich den Code VOR AKTUALISIEREN einbaue und der Standardwert den obigen Code eingeben hab, kommt leider kein Ergebnis.
Wie kann ich das Unterformular nach der Eingabe eines Feldes aktualisieren?
Ich habs schon mit einem Makro versucht, aber es funktioniert leider nicht.
|
|
MissPh!
Office-VBA-Programmiererin
Verfasst am: 10. Feb 2010, 14:59 Rufname:
Wohnort: NRW
|
|
| Version: Office 2007 |
|
| Zitat: | | und der Standardwert den obigen Code eingeben hab | Wenn ich das richtig verstehe, machst du nun beides - so war das aber nicht gemeint. Die Ereignisprozedur ersetzt die Einstellung des Standardwertes.
Hast du die Ereigniseigenschaft auf "Ereignisprozedur" eingestellt?!
Wozu willst du das Unterformular aktualisieren?
_________________ Gruß MissPh!
(HTH - hope to help)
|
|
Access00815
Excel-Kenner, Access Anfänger
Verfasst am: 10. Feb 2010, 15:13 Rufname:
|
| |
| Version: Office 2007 |
|
Super. Wir haben es hinbekommen.
Dachte ich erlebe es gar nicht mehr.
Vielen Dank PH
|
|
| Verwandte Themen |
| Forum / Themen |
Antworten |
Autor |
Aufrufe |
Letzter Beitrag |
 |
Access Programmierung / VBA: Nummern automatisch vergeben |
15 |
bauermar |
304 |
09. März 2010, 10:20 MissPh!  |
 |
Access Programmierung / VBA: Via Access Excel-Blattnamen vergeben |
2 |
woolfinator |
104 |
20. Okt 2009, 11:18 woolfinator  |
 |
Access Tabellen & Abfragen: Automatische Abfrage "Vormonat" |
7 |
Vollkorn |
2349 |
09. Sep 2009, 12:55 Sven R.  |
 |
Access Tabellen & Abfragen: Automatische Formatierung des SQL-Code |
4 |
cheeZy |
198 |
03. Jul 2009, 10:39 Z.Mart  |
 |
Access Hilfe: index vergeben? |
1 |
sansan |
96 |
28. Jun 2009, 19:57 jens05  |
 |
Access Tabellen & Abfragen: Automatische Reihenfolge erweitert...wie? |
0 |
deluxe1978 |
100 |
14. Nov 2008, 15:51 deluxe1978  |
 |
Access Programmierung / VBA: Automatische Msg-box wenn Zahlungsdatum erreicht |
4 |
huns |
310 |
21. Apr 2008, 15:49 huns  |
 |
Access Tabellen & Abfragen: Automatische Nummerierung innerhalb von Abfragen |
6 |
hian0015 |
3544 |
22. Jan 2007, 19:04 Willi Wipp  |
 |
Access Tabellen & Abfragen: Automatische Liste von sortierten Kalenderwochen oder Monate |
2 |
kodu |
1525 |
11. Jul 2006, 17:32 derArb  |
 |
Access Formulare: automatische aktualisierung nach Uhrzeit |
6 |
stragri |
709 |
26. Jun 2006, 18:09 stragri  |
 |
Access Programmierung / VBA: Laufende Nummer vergeben |
15 |
Gast0207 |
1319 |
17. März 2006, 10:46 kitty  |
 |
Access Hilfe: Automatische Tabellenverknüpfung |
1 |
jensi79 |
2124 |
05. Feb 2006, 18:12 cablit  |
| |