Hallo,
ich habe ein Kombinationsfeld, das sich eine Zahl aus einer Tabelle holt.
Es soll nun bei erstellen eines neuen Datensatzes, die Zahl um eins addiert werden.
Allerdings habe ich noch keine Lösung dafür gefunden.
Mein Ansatz war in etwa so:
Me!Kontrollfeld23 = Me!Kontrollfeld23 + 1
Ist dies so möglich, oder muss ich es doch anders realisieren?
Danke für die Hilfe! :)
Hallo,
ZitatIst dies so möglich, oder muss ich es doch anders realisieren
Nein und Ja :)
Zitatdas sich eine Zahl aus einer Tabelle holt
...heißt, dass das Kombifeld eine definierte Datenherkunft besitzt und diese kann auf diese Weise nicht verändert werden.
Was jedoch möglich ist:
Me!Zielfeld = Me!Kombifeld23 + 1
Dein Versuch endet m.E. wahrscheinlich in einem Fehler, da der erzeugte Wert ev. kein Wert aus der Datenherkunft ist
LG
Peter
Ok, danke!
Habe ein bisschen weiter probiert und habe jetzt nur noch eine kleine Frage.
Ich habe den richtigen Wert, allerdings muss dieser noch in einer bestimmten Tabelle gespeichert werden.
Wie funktioniert das genau?
Ich habe den Befehl:
DoCmd.RunCommand acCmdSaveRecord
Wie kann ich sagen, dass er in einer bestimmten Tabelle und dann Spalte gespeichert wird?
Gruß!
Hallo,
da gibts verschiedene Möglicheiten (auch) in Abhängigkeit von der Formulargestaltung.
Ist die Ziel-Tabelle an der Datenherkunft des Formulars beteiligt, dann ist es so, dass es eigentlich genügen sollte den Steuerelementinhalt auf dieses Feld zu stellen.
Soll der Wert aus dem Formularfeld in eine unbeteiligte Tabelle geschickt werden, dann hast du die Möglichkeit dies per VBA zu lösen und zwar entweder in der DAO-Variante oder per SQL, wobei ich der Einfachheit halber SQL empfehlen würde.
Dim db As DAO.Database
Set db = CurrentDb
db.Execute("INSERT INTO Zieltabelle(Zielfeld)VALUES(" & Me!Herkunftsfeld & ")") 'Wenn es sich um eine Zahl handelt
'db.Execute("INSERT INTO Zieltabelle(Zielfeld)VALUES('" & Me!Herkunftsfeld & "')") 'Wenn der neue Wert eine Zeichenfolge (String) ist
set db = Nothing
HTH
Peter