September 24, 2020, 04:49:32

Neuigkeiten:

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


Problem mit Insert

Begonnen von Juno, November 13, 2010, 14:30:26

⏪ vorheriges - nächstes ⏩

Juno

Ich habe mal wieder ein Problem...
Anbei eine Tabelle die erklärt was ich machen möchte. Also man kann in vkobjekte Rechnungen, Lieferscheine anlegen. Und der Primärschlüssel wird dann jeweils über das Formular vergeben.

Jetzt möchte ich gerne mit VBA ein Datensatz in vkobjekte anlegen. Das ganze soll dann eine Umbuchung sein. Da ich in der Tabelle vkobjekte aber keinen Autowert habe muss die Zahl auch über den VBA-Code vergeben werden.

Ich habe mir jetzt mal folgenden Code ausgedacht. Vielleicht kann man daraus erkennen was ich machen möchte. Dieser Code funktioniert aber natürlich nicht.
Vielleicht kann mir dabei jemand behilflich sein:

   eingangsavv = InputBox("....!", "..."


      sql = "INSERT INTO vk_objekte ([vk_nr], [vktyp_nr], [vk_lagersoll], [vk_lagerhaben], [vk_umbuchung]) " _
         & "VALUES (nächste freie Nummer, 'UM', eingangsavv, me![avv_nr], 'true') "


[Anhang gelöscht durch Administrator]

database

Hallo,

ganz schlau werde ich aus dem nicht.
Auch aus dem angefügten Beispiel nicht ganz.

Habe da leider ein kleines Verständnisproblem, da einerseits das Form an die Tabelle gebunden ist, andererseits ein ungebundenes Feld enthalten ist, das dann aber wieder einen Wert der Tabelle enthalten wird ...
Gibst du nun den Wert für vk_lagerhaben in das Textfeld ein und den Wert für vk_lagersoll fragst du mit einer Inputbox ab ... verstehe nicht ganz, du könntest ja beide Werte in ein Formularfeld eingeben lassen oder?

Aber:

"Jetzt möchte ich gerne mit VBA ein Datensatz in vkobjekte anlegen"

vk_lagersoll und vk_lagerhaben werden Zahlen sein nehme ich an, möglicherweise musst du den Code unten nochmal anpassen, wenn du die Inputbox nicht werwenden willst(Empfehlung)



Dim nfn as Long, eingangsavv as Long
Dim strSQL as String

nfn = CLng(dlookup("LNr","tblNummer","Ref='UM'"))

eingangsavv = InputBox("....!", "...")

strSQL = "INSERT INTO vkobjekte ([vk_nr], [vktyp_nr], [vk_lagersoll], [vk_lagerhaben], [vk_umbuchung])VALUES (" & nfn & ",'UM'," & eingangsavv & "," & me![avv_nr] & ",-1)"

CurrentDb.Execute strSQL, dbFailOnError

nfn = nfn + 1

CurrentDb.Execute ("UPDATE tblNummer SET LNr=" &  nfn & " WHERE Ref='UM'"), dbFailOnError




HTH
Peter

Juno

Hallo Peter,

ich habe die Datenbank nur nachgebaut deshalb ist das alles nicht genau so. Das ungebundene Feld ist normalerweise auch aus einer Tabelle.
Aber dein Code war genau das was ich brauchte.
Das funktioniert so.

Vielen Dank für deine Hilfe!!