Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

AnfügeAbfrage - DomMax + 1

Begonnen von HaNe, Januar 27, 2020, 07:49:12

⏪ vorheriges - nächstes ⏩

HaNe

Hallo,

tausend Dank. Genau so d habe ich mir das vorgestellt.
Eine Frage hätte ich noch. Nachdem ich die Datensätze per Anfrage angefügt habe, danach die letzten 10 Datensätze lösche, die Tabelle schließe und die Anfrage erneut ausführe, fehlen die gelöschten Nummern in der Tabelle Fertigungsauftrag. Wenn ich aber vor dem erneuten Anfügen aber die Datenbank schließe und wieder öffne, werden die gelöschten Nummern verwendet. So soll es aber sein. Wie kann ich das erreichen ohne die Datenbank nach dem Löschen von Datensätzen schließen zu müssen.

Gruß
Hagen

DF6GL

Hallo,

so ein Ablauf ist nicht vorgesehen, weil das nicht spezifiziert wurde. Die Aufgabe war, laufende Nummern bei einem Anfügevorgang zu generieren, und nicht, zwischendurch auch DS zu löschen...

Ändere die Funktion wie folgt ab:


Public Function getlfdnr(Arg)
Static lfdnr As Long
If Arg = -1 Then
lfdnr = 0
Exit Function
End If

If lfdnr = 0 Then lfdnr = Nz(DMax("Fertigungsauftrag_Nr", "Fertigungsauftrag"), 0) + 1

getlfdnr = lfdnr
lfdnr = lfdnr + 1
End Function



und rufe die Funktion nach dem Löschen von DS so auf( z. B. im Direktfenster):

getlfdnr(-1)

HaNe

Zitat von: DF6GL am Februar 06, 2020, 19:53:48
Hallo,

so ein Ablauf ist nicht vorgesehen, weil das nicht spezifiziert wurde. Die Aufgabe war, laufende Nummern bei einem Anfügevorgang zu generieren, und nicht, zwischendurch auch DS zu löschen...

Ändere die Funktion wie folgt ab:


Public Function getlfdnr(Arg)
Static lfdnr As Long
If Arg = -1 Then
lfdnr = 0
Exit Function
End If

If lfdnr = 0 Then lfdnr = Nz(DMax("Fertigungsauftrag_Nr", "Fertigungsauftrag"), 0) + 1

getlfdnr = lfdnr
lfdnr = lfdnr + 1
End Function



und rufe die Funktion nach dem Löschen von DS so auf( z. B. im Direktfenster):

getlfdnr(-1)

Hallo nochmal,

sorry das ich mich jetzt doch nochmal melde. Ich habe den Code wie angegeben geändert. Wie genau kann ich die Funktion mit getlfdnr(-1) aufrufen?
Zum Testen hatte ich mir eine 2. Abfrage erstellt ( eine Auswahlabfrage aus deiner Anfügeabfrage mit geändertem Aufruf deiner Funktion) und lasse die nach dem Löschen der DS durchlaufen. Wenn ich danach deine Anfügeabfrage ausführe, klappt alles wunderbar.
Kann man die Funktion auch ohne eine Abfrage ausführen? Wenn ja, wie kann ich das erreichen. Bin leider in dem Bereich total unwissend.

Vielen Dank für die Hilfe.

Gruß
Hagen

DF6GL

Hallo,

ZitatKann man die Funktion auch ohne eine Abfrage ausführen?

Ja, hab ich doch erzählt.. (--> im Direktfenster)


Die Funktion kann überall von dort aus aufgerufen werden, wo sie gebraucht wird..  (---> Public Function)

Ansonsten verstehe ich das Problem nicht genau..

HaNe

Hallo,

ZitatJa, hab ich doch erzählt.. (--> im Direktfenster)

Irgendwie steh ich auf dem Schlauch. Direktfenster? Was ist das? Und was muss ich wo genau eingeben?
Sorry, aber ich hab da wirklich keinen blassen Schimmer

Vielen Dank für alle Hilfe

Gruß
Hagen



DF6GL

Hallo,


VBA-Editor/Ansicht/Direktfenster



Du solltest Dich wirklich mit den grundlegenden Bedienungselementen von Access auseinandersetzen...

HaNe

 Hallo,

Zitat
Du solltest Dich wirklich mit den grundlegenden Bedienungselementen von Access auseinandersetzen...

Ich gelobe Besserung. Wie schon mehrfach erwähnt bin ich Quereinsteiger und versuche über Beispiele zu lernen. Ich habe eine kleine Firma und dementsprechend sehr wenig Zeit mich noch intensiver damit zu beschäftigen, obwohl es mich brennend interessiert  ;). Vielleicht sollte ich doch mal einen Grundkurs oder so machen. Gab es da nicht mal ein Videokurs ( video2brain?). Das wäre doch sicher hilfreich...

Trotzdem vielen , vielen Dank an Alle für die bis jetzt erhaltene Hilfe.

Gruß aus dem Erzgebirge.

Hagen