Access VGA Code?
Hey, kann mir wer folgen Code so umschreiben, dass der nicht anfragt, wie oft dupliziert werden soll, sondern der das aus einem Zahlenfeld im gleichen Formular entnimmt?:
-------------
Private Sub Befehl36_Click()
Dim lngI As Long
Dim lngIMax As Long
Dim strEingabe As String
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
strEingabe = InputBox("Wie oft?", , 1)
'Benutzereingabe wurde abgebrochen
If StrPtr(strEingabe) = 0 Then Exit Sub
lngIMax = Val(strEingabe) - 1
For lngI = 1 To lngIMax
DoCmd.RunCommand acCmdPasteAppend
Next lngI
End Sub
---------------
Vielen Dank
3 Antworten
![](https://images.gutefrage.net/media/user/adi120369/1663313852529_nmmslarge__0_0_546_546_b978b1be03bde6ae27a2e2be8bf5b30b.jpg?v=1663313853000)
Als Quick &/ Dirty Lösung einfach statt dem Rückgabewert der Inputbox, den verweis auf das Zahlenfeld. Die Datentypen würde ich auch sauberer machen - aber so wirds gehen... (- ohne den Sinn dieser Routine zu hinterfragen)
Private Sub Befehl36_Click()
Dim lngI As Long
Dim lngIMax As Long
Dim strEingabe As String
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
strEingabe = [Feldname]
'Benutzereingabe wurde abgebrochen
If StrPtr(strEingabe) = 0 Then Exit Sub
lngIMax = Val(strEingabe) - 1
For lngI = 1 To lngIMax
DoCmd.RunCommand acCmdPasteAppend
Next lngI
End Sub
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/geri3d/1445246679564_nmmslarge__92_208_1652_1652_70c8a924950b847ddd012ca7a0648a93.jpg?v=1445246680000)
Ohne Rumpf, leicht geändert nach aktuellem Programmierstil und neu benamt:
Dim i As Long
Dim iMax As Long
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
'Copy Paste Funktionen sind nicht mein Ding,
'ich bevorzuge SQL Statements.
iMax = CLng(txtMaxToDuplicate)
'txtMaxToDuplicate ist das Textfeld oder Combifeld.
if iMax < 1 Then Exit Sub ' Mindestens 1x
For i = 1 To iMax
DoCmd.RunCommand acCmdPasteAppend
Next
![](https://images.gutefrage.net/media/user/geri3d/1445246679564_nmmslarge__92_208_1652_1652_70c8a924950b847ddd012ca7a0648a93.jpg?v=1445246680000)
ja. Clng sorgt dafür, dass kein Unsinn eingegeben wird. (.Text ist optional aber klar besser)
![](https://images.gutefrage.net/media/user/Roentghen/1613644591782_nmmslarge__2_51_146_146_e52edb47c1ae1e18e64ced17c916143f.png?v=1613644592000)
Wie ist das Zahlenfeld definiert?
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
es heißt Anzahl und es hat den Felddatentyp: Zahl
Dankeeee
müsste ich "txtMaxToDuplicate.Text", dann in meinem Fall mit Anzahl überschrieben, oder nur einen Teil davon