Hallo zusammen,
habe mal eine Frage bezüglich Freigabe einer Arbeitsmappe! Mit folgendem Codes lege ich über eine Userform in meine Artikeldatenbank neue Artikel an:
Nun meine Fragen:
1. Wenn ich den Code so lassen würde und zwei User gleichzeitig neue Artikel anlegen würden dann würde u.U. beide die gleiche Artikelnummer bekommen, das heißt ich müsste den rotmarkierten Codeteil am Ende des Codes einsetzen, richtig?
2. Wenn ich den rotmarkierten Code am Ende des Codes tun würde und theoretisch beide User zur gleichen Zeit auf dem "Anlegen" Button drücken würden, was würde da passieren?
3. Was muss ich beachten, bei einer freigegebenen Datei, damit sich die User nicht gegenseitig auf die Füsse treten?
Vielen Dank
VG
Alexandra
habe mal eine Frage bezüglich Freigabe einer Arbeitsmappe! Mit folgendem Codes lege ich über eine Userform in meine Artikeldatenbank neue Artikel an:
Code:
Private Sub cmdNeuerArtikel_Click() 'Button: Neu
OriginalColor
Image1.Visible = False
lstArtikel.ListIndex = -1
ControlsBearbeiten
TextBox4.Enabled = True
TextBox3.Enabled = False
cmdArtikelAnlegen.Visible = True
lstArtikel.Enabled = False
cmdNeuerArtikel.Visible = False
cmdLöschen.Visible = False
cmdArtikelBearbeiten.Visible = False
cmdArtikelSuchen.Visible = False
cmdErweiterteSF.Visible = False
cmdArtikeldatenKopieren.Visible = True
frmProdukte.Image1.Picture = LoadPicture("")
With ThisWorkbook.Sheets("produkte")
For y = 1 To 58
If Not y = 3 Then
Select Case y
Case 11, 12, 16, 19, 20, 22, 23, 24, 25, 26, 27, 28, 35, 36, 38, 41
frmProdukte.Controls("ComboBox" & y).Value = ""
Case Else
frmProdukte.Controls("TextBox" & y).Value = ""
[color=#FF0000]TextBox3.Value = ThisWorkbook.Sheets("LN").Range("A2") + 1[/color] 'nächste Artikelnummer
End Select
End If
Next y
End With
Controlsgelb
TextBox3.Enabled = False
TextBox4.SetFocus
Vorbelegen
End Sub
Private Sub cmdArtikelAnlegen_Click() 'Button: Artikel anlegen
Dim intErsteLeereZeile As Long
TextBox60.Enabled = False
Dim ctrElement As Control
For Each ctrElement In Me.Controls
If TypeName(ctrElement) = "TextBox" Or TypeName(ctrElement) = "ComboBox" Then
Select Case ctrElement.Name
Case Is = "TextBox60", "TextBox57", "TextBox58", "TextBox59"
Case Else
If ctrElement.Value = "" Then
Controlsgelb
MsgBox "Bitte alle Pflichtfelder ausfüllen!"
ctrElement.SetFocus
Exit Sub
Else
ctrElement.BackColor = &HE0E0E0
End If
End Select
End If
Next ctrElement
intErsteLeereZeile = ThisWorkbook.Sheets("produkte").Cells(Rows.Count, 3).End(xlUp).Row + 1
frmProdukte.TextBox57.Text = Environ("Username") & " " & Date & " " & Time
frmProdukte.TextBox58.Text = Environ("Username") & " " & Date & " " & Time
With ThisWorkbook.Sheets("produkte")
frmProdukte.TextBox57.Text = Environ("Username") & " " & Date & " " & Time
frmProdukte.TextBox58.Text = Environ("Username") & " " & Date & " " & Time
For y = 1 To 58
Select Case y
Case 11, 12, 16, 19, 20, 22, 23, 24, 25, 26, 27, 28, 35, 36, 38, 41
.Cells(intErsteLeereZeile, y) = frmProdukte.Controls("ComboBox" & y).Value
Case 30, 31, 32, 33, 52, 53, 54, 55
.Cells(intErsteLeereZeile, y) = CCur(frmProdukte.Controls("TextBox" & y))
Case Else
.Cells(intErsteLeereZeile, y) = frmProdukte.Controls("TextBox" & y).Value
End Select
Next y
End With
ThisWorkbook.Sheets("LN").Cells(2, 1).Value = CDbl(TextBox3.Text)
' Dim Datensatz As Long
MsgBox ("Artikel" & " " & TextBox3.Value & " " & "wurde erfolgreich angelegt!")
SortierenLieferanten
ThisWorkbook.Save
End Sub
Nun meine Fragen:
1. Wenn ich den Code so lassen würde und zwei User gleichzeitig neue Artikel anlegen würden dann würde u.U. beide die gleiche Artikelnummer bekommen, das heißt ich müsste den rotmarkierten Codeteil am Ende des Codes einsetzen, richtig?
2. Wenn ich den rotmarkierten Code am Ende des Codes tun würde und theoretisch beide User zur gleichen Zeit auf dem "Anlegen" Button drücken würden, was würde da passieren?
3. Was muss ich beachten, bei einer freigegebenen Datei, damit sich die User nicht gegenseitig auf die Füsse treten?
Vielen Dank
VG
Alexandra