Ich bin nicht sicher, ob ich die Frage richtig verstanden habe: Feld so oft mit dem Feldinhalt füllen, wie in Menge vorgegeben ist und mit Komma trennen? Wenn ja, dann hier die Lösung.
Mit einer einfachen SQL Anweisung kann ich dies auch nicht lösen. Das unten angegebene einfache VB-Skript sollte aber Ihr Problem lösen. Kopieren Sie dazu die Befehle in eine Datei mit Endung .vbs und führen diese Datei aus (Doppelklick). Sie müssen vorher noch Ihre Daten einfügen:
yourtable = Ihre Tabelle
yourSQLserver= Ihr Servername
Die mit ’ gekennzeichneten Zeilen sind auskommentiert und würden am Bildschirm eine Kontroll-Message (vorher/nachher) erzeugen. Das Skript führt natürlich keine Plausibilitätschecks aus (wie z.B. : Ist der Feldname Lagerfach lang genug, um den Lagerfach1,Lagerfach1,… wirklich aufnehmen zu können). Hier das Skript:
ConnectionString=„DRIVER={SQL Server};SERVER=yourSQLserver;TIMEOUT=60;DATABASE=yourtable“
Set Conn = CreateObject(„ADODB.Connection“)
Conn.Open ConnectionString
Set rs=Conn.Execute(„SELECT Menge,Lagerfach FROM yourtable WHERE Artikel=‚0162541‘“)
'msgbox(rs(„Lagerfach1“))
text=""
For i=1 To rs(„Menge“)
text=text & rs(„Lagerfach“)
If irs(„Menge“) Then text=text &","
Next
Conn.Execute(„UPDATE yourtable SET Lagerfach=’“ & text & „’ WHERE Artikel=‚0162541‘“)
'Set rs=Conn.Execute(„SELECT Menge,Lagerfach FROM yourtable WHERE Artikel=‚0162541‘“)
'msgbox(rs(„Lagerfach1“))
Conn.Close