|
Automatische Positionnummer vergeben
|
| Autor |
Nachricht |
Access00815
Excel-Kenner, Access Anfänger
Verfasst am: 10. Feb 2010, 10: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, 11: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, 11: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, 11: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, 11: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, 11: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, 13: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, 13: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, 14: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: Automatische Verweise - Problem |
8 |
sonixxl |
361 |
25. Sep 2009, 14:18 sonixxl  |
 |
Access Tabellen & Abfragen: ID Nr neu vergeben |
6 |
Gast |
688 |
16. Jan 2009, 20:00 KlausMz  |
 |
Access Formulare: Werte vergleichen und freie Nummer vergeben |
2 |
Sir-Lasse |
216 |
24. Sep 2008, 09:11 Sir-Lasse  |
 |
Access Formulare: Ordnernummern automatisch vergeben / einsortieren |
0 |
DrTek |
197 |
29. Feb 2008, 09:48 DrTek  |
 |
Access Formulare: automatische übernahme mit domwert |
7 |
schnacko |
1060 |
25. Feb 2008, 14:25 Marmeladenglas  |
 |
Access Programmierung / VBA: Passwort an eine Frontend Db vergeben |
0 |
gröbi |
208 |
20. Nov 2007, 13:20 gröbi  |
 |
Access Programmierung / VBA: Automatische Anredezeile |
2 |
EHG |
512 |
19. Okt 2007, 19:11 EHG  |
 |
Access Programmierung / VBA: automatische e-Mails verschicken |
0 |
vaudevau |
315 |
17. Okt 2006, 09:31 vaudevau  |
 |
Access Formulare: Automatische Aktualisierung |
18 |
Sasser-Virus |
1745 |
01. Jul 2006, 18:20 jens05  |
 |
Access Berichte: Automatische Breite bei Serienbriefen |
2 |
Coward |
409 |
15. März 2006, 09:40 Coward  |
 |
Access Hilfe: Problem: in vba automatische code erkennung |
6 |
Guybrush junior |
502 |
24. Jan 2006, 15:21 gott50000  |
 |
Access Programmierung / VBA: Automatische Abfrage unterbinden |
2 |
Bula |
399 |
17. Okt 2005, 09:34 Bula  |
| |